openapi: 3.0.3 info: version: '2.1' title: Combined API 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/' description: > # Introduction The Rebilly API is built on HTTP. Our API is RESTful. It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. You can use your favorite HTTP/REST library for your programming language to use Rebilly's API, or you can use one of our SDKs (currently available in [PHP](https://github.com/Rebilly/rebilly-php) and [Javascript](https://github.com/Rebilly/rebilly-js-sdk)). We have other APIs that are also available. Every action from our [app](https://app.rebilly.com) is supported by an API which is documented and available for use so that you may automate any workflows necessary. This document contains the most commonly integrated resources. # Authentication When you sign up for an account, you are given your first secret API key. You can generate additional API keys, and delete API keys (as you may need to rotate your keys in the future). You authenticate to the Rebilly API by providing your secret key in the request header. Rebilly offers three forms of authentication: secret key, publishable key, JSON Web Tokens, and public signature key. - [Secret API key](#section/Authentication/SecretApiKey): used for requests made from the server side. Never share these keys. Keep them guarded and secure. - [Publishable API key](#section/Authentication/PublishableApiKey): used for requests from the client side. For now can only be used to create a [Payment Token](#operation/PostToken) and a [File token](#operation/PostFile). - [JWT](#section/Authentication/JWT): short lifetime tokens that can be assigned a specific expiration time. Never share your secret keys. Keep them guarded and secure. # Errors Rebilly follow's the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807) also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response. ## Forbidden ## Conflict ## NotFound ## Unauthorized ## ValidationError # SDKs Rebilly offers a Javascript SDK and a PHP SDK to help interact with the API. However, no SDK is required to use the API. Rebilly also offers [FramePay](https://docs.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 the customizability. [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) is interacting with the [payment tokens creation operation](#operation/PostToken). ## Javascript SDK The [Javascript SDK](https://github.com/Rebilly/rebilly-js-sdk) is maintained within Github, and contains the installation and usage instructions. ## PHP SDK For all PHP SDK examples provided in these docs you will need to configure the `$client`. You may do it like this: ```php $client = new Rebilly\Client([ 'apiKey' => 'YourApiKeyHere', 'baseUrl' => 'https://api.rebilly.com', ]); ``` # Using filter with collections Rebilly provides collections filtering. You can use `?filter` param on collection to define which records should be shown in the response. Here is filter format description: - Fields and values in filter are separated with `:`: `?filter=firstName:John`. - Fields in filter are separated with `;`: `?filter=firstName:John;lastName:Doe`. - You can use multiple values using `,` as values separator: `?filter=firstName:John,Bob`. - To negate the filter use `!`: `?filter=firstName:!John`. Note that you can negate multiple values like this: `?filter=firstName:!John,Bob`. This filter rule will exclude all Johns and Bobs from the response. - You can use range filters like this: `?filter=amount:1..10`. - You can use gte (greater than or equals) filter like this: `?filter=amount:1..`, or lte (less than or equals) than filter like this: `?filter=amount:..10`. - You can create some [predefined values lists](https://user-api-docs.rebilly.com/#tag/Lists) and use them in filter: `?filter=firstName:@yourListName`. You can also exclude list values: `?filter=firstName:!@yourListName` # Expand to include embedded objects Rebilly provides the ability to pre-load additional objects with a request. You can use `?expand` param on most requests to expand and include embedded objects within the `_embedded` property of the response. The `_embedded` property contains an array of objects keyed by the expand parameter value(s). You may expand multiple objects by passing them as comma-separated to the expand value like so: ``` ?expand=recentInvoice,customer ``` And in the response, you would see: ``` "_embedded": [ "recentInvoice": {...}, "customer": {...} ] ``` Expand may be utilitized not only on `GET` requests but also on `PATCH`, `POST`, `PUT` requests too. # Getting started guide Rebilly's API has over 300 operations. That's more than you'll need to implement your use cases. If you have a use case you would like to implement, please consult us for feedback on the best API operations for the task. Our getting started guide will demonstrate a basic order form use case. It will allow us to highlight core resources in Rebilly that will be helpful for many other use cases too. Within 25 minutes, you'll have sent API requests (via our console) to create a subscription order. [Click here to visit our API Guide Tutorial](https://api-guides.rebilly.com/). servers: - url: 'https://api.rebilly.com/v2.1' description: Live Server - url: 'https://api-sandbox.rebilly.com/v2.1' description: Sandbox Server tags: - name: 3D Secure description: | 3D Secure is a way to authenticate and protect transactions. Typically, it's only possible to protect the initial transaction in a subscription with 3D Secure. - name: Bank Accounts description: | Bank Accounts are a type of payment instrument used to collect ACH (echeck) payments, similar to how a payment card would be used to for a credit card payment. - name: Blacklists description: | Your blacklists contains values of customerIds, email addresses, ipAddresses, bank identification numbers, countries or payment cards that you do NOT want to do business with. They are a good tool for managing risk. A blacklist entry that expires after a period of time we call a greylist. - name: Coupons description: > Coupons allows to apply different types of discounts to Invoices, Subscriptions and Plans. Redeemed Coupons will be applied only to Invoices with the same currency. - name: Customers description: | Customers are your customers, sometimes known as accounts, clients, members, patrons, or players in other systems. - name: Customers Timeline description: > The customers timeline keeps an audit trail of changes and activity for each customer. - name: KYC Documents description: > Customer KYC files uploaded on behalf of a customer, tagged with a document type and submitted for validation. - name: Customer Authentication description: > Create authentication credentials, login, logout, and verify your customers. - name: Custom Fields description: | Create additional custom fields for particular resources. You may name, describe, and determine the type of the schema. - name: Disputes description: | Handle disputes (chargebacks and retrievals). - name: Files description: > A File is an entity that can store a physical file and some metadata. It also provides an easy access to its size, mime-type, user-defined tags and description thus allowing easy sorting and searching among stored files. There are several methods of file uploading available: multipart/form-data encoded form, RAW POST (by sending file contents as POST body), fetching from URL (by providing the file URL via 'url' param) Attachment is an entity that is used to link a File to one or multiple objects like Customer, Dispute, Payment, Transaction, Subscription, Plan, Product, Invoice, Note. That allows to quickly find and use files related to those specific entities. - name: Invoices description: > Invoices leave a record for both you and your customer of the products sold. - name: Payment Cards description: > Payment cards are a type of payment instrument used for credit and debit card sales. Rebilly securely vaults the full payment card number, and can pass it onward securely to any gateway account to transact business. - name: PayPal Accounts description: > PayPal Accounts are used for paying with PayPal. We can generate a BAID (billing agreement id) which will allow for recurring billing. - name: Payment Tokens description: > Payment tokens are used to reduce the scope of PCI DSS compliance. A payment token can be made using a different authentication scheme (refer to the public key authentication scheme in the Authentication section), which allows you to create a payment token directly from the browser, bypassing the need to send sensitive cardholder info to your servers. We recommend using this with our Rebilly.js library, which helps you wire a form into this API resource and create payment tokens. - name: Plans description: > Plans are a template for making a subscription. For example, you may have a plan that has a 30-day free trial followed by a recurring charge of $19.95 per month until canceled. The combination of the plan and a request to make a subscription will apply those instructions to create the invoices according to the plan's schedule. - name: Products description: | A product describes what you sell (goods or services). A product determines how what you sell appears on invoices and receipts. The pricing for products is set in Plans. One product can have many plans. - name: Reports description: > The Rebilly Reporting API is currently experimental. You may see the [Reports API Documentation here](https://reports-api-docs.rebilly.com). - name: Search description: | Search data including customers, invoices, orders, transactions and more. - name: Shipping Zones description: > A shipping zone contains regions and countries that you ship to. Each shipping zone has its own shipping rates. - name: Subscriptions description: > A subscription applies a plan's template to create invoices for a customer at the appropriate scheduled intervals. A subscription may also determine if the payment is collected automatically (with autopay set true). - name: Taxes description: | You can map a product to a tax category. The tax category is used by tax providers to calculate taxes for invoices. - name: Transactions description: | Get and refund transactions. - name: Users description: > The Rebilly User API is primarily for our GUI apps. You may see the [User API Documentation here](https://user-api-docs.rebilly.com). A User represents a person who can login to Rebilly, and take actions subject to their granted permissions. It has resources less commonly integrated by 3rd parties. security: - SecretApiKey: [] - JWT: [] components: securitySchemes: JWT: description: > You can create a JSON Web Token (JWT) via our [JWT Session resource](https://user-api-docs.rebilly.com/#operation/PostSigninRequest). Usage format: `Bearer ` type: http scheme: bearer bearerFormat: JWT PublishableApiKey: description: > Only for the Tokens resource. You can create a Publishable API Key via our [API Keys resource](https://user-api-docs.rebilly.com/#tag/API-Keys), by specifying the type as `publishable`. name: Authorization type: apiKey in: header SecretApiKey: description: > When you sign up for an account, you are given your first secret API key. To do so please [follow this link.](https://app.rebilly.com/signup) Also you can generate additional API keys, and delete API keys (as you may need to rotate your keys in the future). All API keys can be restricted to a small set of permissions (restricted API keys). name: REB-APIKEY type: apiKey in: header schemas: ResourceId: type: string description: The resource ID. Defaults to UUID v4 maxLength: 50 example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21 CurrencyCode: type: string description: ISO 4217 alphabetic currency code minLength: 3 maxLength: 3 example: USD ServerTimestamp: type: string description: 'Read-only timestamp, automatically assigned on back-end.' format: date-time readOnly: true Link: type: object properties: href: description: The link URL type: string required: - href SelfLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - self required: - rel ThreeDSecure: type: object required: - enrolled - enrollmentEci - customerId - gatewayAccountId - paymentCardId - websiteId - currency - amount properties: id: description: The 3D Secure entry identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: Related customer ID allOf: - $ref: '#/components/schemas/ResourceId' gatewayAccountId: description: Related gateway account ID allOf: - $ref: '#/components/schemas/ResourceId' paymentCardId: description: Related payment card ID allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: Related Website ID allOf: - $ref: '#/components/schemas/ResourceId' enrolled: description: Is the cardholder enrolled in 3DSecure type: string enum: - 'Y' - 'N' - U enrollmentEci: description: The 3D Secure entry enrollment eci type: string eci: description: The 3D Secure entry electronic commerce indicator type: integer cavv: description: The 3D Secure entry cardholder authentication verification value type: string xid: description: The 3D Secure entry transaction Id type: string payerAuthResponseStatus: description: The 3D Secure entry Auth Response Status type: string enum: - 'Y' - 'N' - U - A signatureVerification: description: If signature was verified type: string enum: - 'Y' - 'N' amount: description: Transaction amount type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' createdTime: description: The 3D Secure entry created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' BlankProblem: description: >- The Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)]. type: object minProperties: 1 additionalProperties: true properties: status: type: integer description: The HTTP status code. minimum: 400 maximum: 599 title: type: string description: >- A 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: >- A 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 - $ref: '#/components/schemas/BlankProblem' DetailedProblem: type: object allOf: - $ref: '#/components/schemas/BlankProblem' - properties: detail: type: string description: >- A 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 ValidationErrorExtensions: type: object properties: invalidFields: type: array items: type: object properties: field: type: string description: >- The field name. Dot notation is used for nested object field names. message: 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 was sent allOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/ValidationErrorExtensions' FileLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - file required: - rel AttachmentResourceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - customer - dispute - invoice - payment - plan - product - subscription - transaction required: - rel FileDownloadLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - download required: - rel SignedLinkLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - signedLink required: - rel PermalinkLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - permalink required: - rel File: type: object properties: id: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: Original File name type: string extension: description: The File extension type: string description: description: The File description type: string tags: description: The tags list type: array items: type: string mime: description: The mime type type: string readOnly: true enum: - image/png - image/jpeg - image/gif - application/pdf - audio/mpeg size: description: The File size in bytes type: integer readOnly: true width: description: 'Image width, applicable to images only' type: integer readOnly: true height: description: 'Image height, applicable to images only' type: integer readOnly: true sha1: description: Hash sum of the file type: string readOnly: true createdTime: description: The upload date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The latest update date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' isPublic: description: >- Is the file available publicly (without authentication). If true, the permalink in the _links section contains the public URL. type: boolean _links: type: array description: The links related to resource readOnly: true minItems: 3 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/FileDownloadLink' - $ref: '#/components/schemas/SignedLinkLink' - $ref: '#/components/schemas/PermalinkLink' FileEmbed: type: object description: File object readOnly: true properties: file: $ref: '#/components/schemas/File' Attachment: type: object required: - fileId - relatedId - relatedType properties: id: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' fileId: description: Linked File object id type: string relatedType: description: Linked object type type: string enum: - customer - dispute - gateway-timeline-comment - invoice - organization - payment - plan - product - subscription - transaction - customer-timeline-comment - transaction-timeline-comment - order-timeline-comment relatedId: description: Linked object Id type: string name: description: The Original Attachment name type: string description: description: The Attachment description type: string createdTime: description: Creation date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Latest update date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 3 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/FileLink' - $ref: '#/components/schemas/AttachmentResourceLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/FileEmbed' AuthenticationOptions: type: object properties: passwordPattern: description: Allowed password pattern type: string credentialTtl: description: The default lifetime of the credential in seconds type: integer authTokenTtl: description: The default lifetime of the auth-token in seconds type: integer resetTokenTtl: description: The default lifetime of the reset-token in seconds type: integer otpRequired: description: Should OTP be required to exchange token type: boolean AuthenticationToken: type: object discriminator: propertyName: mode mapping: password: '#/components/schemas/password' passwordless: '#/components/schemas/passwordless' properties: token: description: The token identifier string type: string readOnly: true mode: description: The token's generation mode type: string enum: - password - passwordless writeOnly: true default: password otpRequired: description: Should OTP be required to exchange this token type: boolean credentialId: description: The credential's ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' AuthenticationTokenMetadata: type: object properties: expiredTime: description: Token's expired time type: string format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' password: required: - username - password allOf: - $ref: '#/components/schemas/AuthenticationToken' - properties: username: description: The token's username type: string password: description: The token's password type: string format: password writeOnly: true customerId: description: The token's customer ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' - $ref: '#/components/schemas/AuthenticationTokenMetadata' passwordless: required: - customerId allOf: - $ref: '#/components/schemas/AuthenticationToken' - properties: customerId: description: The token's customer ID allOf: - $ref: '#/components/schemas/ResourceId' - $ref: '#/components/schemas/AuthenticationTokenMetadata' CustomerLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - customer required: - rel CustomerJWT: type: object properties: id: description: The session identifier string allOf: - $ref: '#/components/schemas/ResourceId' readOnly: true type: description: Session type type: string readOnly: true enum: - customer token: description: The session's token used for authentication type: string readOnly: true invalidate: description: Whether to invalidate token after exchange or not type: boolean default: true example: true writeOnly: true oneTimePassword: description: The one time password sent via an email. Should contain digits only. type: string pattern: '^[0-9]{6}$' example: '123456' writeOnly: true customerId: description: The customer's ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' createdTime: description: Session created time type: string format: date-time readOnly: true updatedTime: description: Session updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' expiredTime: description: Session expired time. Defaults to one hour type: string format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/CustomerLink' ContactPhoneNumbers: description: The list of phone numbers type: array items: type: object required: - label - value properties: label: description: The phone label type: string example: main value: description: The phone value type: string example: 512-710-1640 primary: description: True if phone is primary type: boolean example: true ContactEmails: description: The list of emails type: array items: type: object required: - label - value properties: label: description: The email label type: string example: main value: description: The email value type: string example: rebilly@example.com primary: description: True if email is primary type: boolean example: true ContactObject: type: object properties: firstName: description: The contact first name type: string example: Benjamin nullable: true lastName: description: The contact last name type: string example: Franklin nullable: true organization: description: The contact organization type: string nullable: true example: null address: description: The contact street address type: string maxLength: 60 example: 36 Craven St nullable: true address2: description: The contact street address (second line) type: string maxLength: 60 nullable: true city: description: The contact city type: string maxLength: 45 nullable: true example: London region: description: The contact region (state) type: string maxLength: 45 nullable: true example: London country: description: The contact country ISO Alpha-2 code type: string pattern: '^[A-Z]{2}$' nullable: true example: GB postalCode: description: The contact postal code type: string maxLength: 10 nullable: true example: WC2N 5NF phoneNumbers: $ref: '#/components/schemas/ContactPhoneNumbers' emails: $ref: '#/components/schemas/ContactEmails' hash: description: >- A hash that can be used to compare multiple contacts for identical attribute values type: string maxLength: 40 example: 056ae6d97c788b9e98b049ebafd7b229bf852221 readOnly: true BrowserData: type: object title: Browser data description: Browser data used for 3DS and risk scoring. required: - colorDepth - javaEnabled - language - screenHeight - screenWidth - timeZoneOffset properties: acceptHeader: description: The browser's accept header value. type: string maxLength: 2048 example: >- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 colorDepth: description: >- The browser's color depth in bits per pixel obtained using the `screen.colorDepth` property. type: integer enum: - 1 - 4 - 8 - 15 - 16 - 24 - 32 - 48 example: 24 ipAddress: description: The browser's IP address (ipv4 or ipv6). type: string format: ipv4 or ipv6 example: 93.92.91.90 javaEnabled: description: >- Whether Java is enabled in a browser or not. Value is returned from the `navigator.javaEnabled` property. type: boolean language: description: >- The browser's language settings returned from the `navigator.language` property. type: string example: en-US maxLength: 8 screenHeight: description: >- The browser's screen height returned from the `screen.height` property. type: integer example: 900 screenWidth: description: >- The browser's screen width returned from the `screen.width` property. type: integer example: 1440 timeZoneOffset: description: > The browser's time zone offset in minutes from UTC. A positive offset indicates the local time is behind UTC, and negative is ahead. Can find it with `(new Date()).getTimezoneOffset()` property. type: integer minimum: -1410 maximum: 1410 example: 300 userAgent: description: The user-agent header. type: string maxLength: 2048 example: > Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36 deviceFingerprintHash: description: >- The device fingerprint hash. See [Valve's fingerprintjs2](https://github.com/Valve/fingerprintjs2). type: string example: pIUt3xbgX3l9g3YDiLbx ResourceCustomFields: description: > "Custom Fields list as a map `{"custom field name": "custom field value", ...}"`. The format must follow the saved format (see Custom Fields section for the formats). type: object Method: type: string description: The payment method enum: - payment-card - ach - bank-account - cash - check - paypal - Alipay - ApplePay - AstroPay Card - bank-transfer - bitcoin - Boleto - cash-deposit - CASHlib - CashToCode - China UnionPay - CODVoucher - Conekta-oxxo - cryptocurrency - Cupon-de-pagos - domestic-cards - echeck - ecoPayz - ecoVoucher - EPS - ePay.bg - Flexepin - Giropay - Google Pay - Gpaysafe - iDebit - iDEAL - INOVAPAY-pin - INOVAPAY-wallet - InstaDebit - instant-bank-transfer - Interac-online - Interac-eTransfer - Interac-express-connect - Interac - invoice - Jeton - Klarna - LPG-online - LPG-payment-card - miscellaneous - Neosurf - Netbanking - Neteller - Nordea-Solo - OchaPay - online-bank-transfer - Onlineueberweisen - OXXO - Pagsmile-lottery - Pagsmile-deposit-express - PayCash - Paysafecard - Pay4Fun - PinPay - phone - POLi - Przelewy24 - QQPay - Resurs - SEPA - Skrill - Skrill Rapid Transfer - SMSVoucher - SparkPay - swift-dbt - ToditoCash-card - Trustly - UPayCard - voucher - Webpay - WeChat Pay - Zotapay PaymentInstrument: type: object required: - method discriminator: propertyName: method mapping: ach: '#/components/schemas/achInstrument' Alipay: '#/components/schemas/AlipayInstrument' AstroPay Card: '#/components/schemas/AstroPay-CardInstrument' bank-account: '#/components/schemas/bank-accountInstrument' bitcoin: '#/components/schemas/bitcoinInstrument' Boleto: '#/components/schemas/BoletoInstrument' cash: '#/components/schemas/cashInstrument' check: '#/components/schemas/checkInstrument' China UnionPay: '#/components/schemas/China-UnionPayInstrument' ePay.bg: '#/components/schemas/ePay-bgInstrument' EPS: '#/components/schemas/EPSInstrument' Flexepin: '#/components/schemas/FlexepinInstrument' iDEAL: '#/components/schemas/iDEALInstrument' Klarna: '#/components/schemas/KlarnaInstrument' payment-card: '#/components/schemas/payment-cardInstrument' paypal: '#/components/schemas/paypalInstrument' QQPay: '#/components/schemas/QQPayInstrument' Skrill Rapid Transfer: '#/components/schemas/Skrill-Rapid-TransferInstrument' SMSVoucher: '#/components/schemas/SMSVoucherInstrument' UPayCard: '#/components/schemas/UPayCardInstrument' WeChat Pay: '#/components/schemas/WeChat-PayInstrument' AlipayInstrument: '#/components/schemas/AlipayInstrument' AstroPay-CardInstrument: '#/components/schemas/AstroPay-CardInstrument' BoletoInstrument: '#/components/schemas/BoletoInstrument' China-UnionPayInstrument: '#/components/schemas/China-UnionPayInstrument' EPSInstrument: '#/components/schemas/EPSInstrument' FlexepinInstrument: '#/components/schemas/FlexepinInstrument' KlarnaInstrument: '#/components/schemas/KlarnaInstrument' QQPayInstrument: '#/components/schemas/QQPayInstrument' SMSVoucherInstrument: '#/components/schemas/SMSVoucherInstrument' Skrill-Rapid-TransferInstrument: '#/components/schemas/Skrill-Rapid-TransferInstrument' UPayCardInstrument: '#/components/schemas/UPayCardInstrument' WeChat-PayInstrument: '#/components/schemas/WeChat-PayInstrument' achInstrument: '#/components/schemas/achInstrument' bank-accountInstrument: '#/components/schemas/bank-accountInstrument' bitcoinInstrument: '#/components/schemas/bitcoinInstrument' cashInstrument: '#/components/schemas/cashInstrument' checkInstrument: '#/components/schemas/checkInstrument' ePay-bgInstrument: '#/components/schemas/ePay-bgInstrument' iDEALInstrument: '#/components/schemas/iDEALInstrument' payment-cardInstrument: '#/components/schemas/payment-cardInstrument' paypalInstrument: '#/components/schemas/paypalInstrument' properties: method: $ref: '#/components/schemas/Method' achInstrument: description: ACH payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object required: - bankAccountId properties: bankAccountId: description: The bank account identifier string allOf: - $ref: '#/components/schemas/ResourceId' AlipayInstrument: description: Alipay payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' AstroPay-CardInstrument: description: AstroPay Card payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' bank-accountInstrument: description: ACH payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object required: - bankAccountId properties: bankAccountId: description: The bank account identifier string allOf: - $ref: '#/components/schemas/ResourceId' bitcoinInstrument: description: Bitcoin payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' BoletoInstrument: description: Boleto payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' cashInstrument: description: Cash payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object properties: receivedBy: description: The receiver's name type: string checkInstrument: description: Check payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object properties: reference: description: Reference data type: string China-UnionPayInstrument: description: China UnionPay payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' ePay-bgInstrument: description: ePay.bg payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' EPSInstrument: description: EPS payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' FlexepinInstrument: description: Flexepin payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' iDEALInstrument: description: iDEAL payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' KlarnaInstrument: description: Klarna payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' payment-cardInstrument: description: Payment card payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object required: - paymentCardId properties: paymentCardId: description: The payment card identifier string allOf: - $ref: '#/components/schemas/ResourceId' paypalInstrument: description: PayPal payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' - type: object required: - payPalAccountId properties: payPalAccountId: description: The PayPal account identifier string allOf: - $ref: '#/components/schemas/ResourceId' QQPayInstrument: description: QQPay payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' Skrill-Rapid-TransferInstrument: description: Skrill Rapid Transfer payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' SMSVoucherInstrument: description: SMSVoucher payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' UPayCardInstrument: description: SMSVoucher payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' WeChat-PayInstrument: description: WeChat Pay payment instrument object allOf: - $ref: '#/components/schemas/PaymentInstrument' CustomerAverageValue: type: object readOnly: true properties: currency: description: Merchant's reporting currency allOf: - $ref: '#/components/schemas/CurrencyCode' amount: 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 properties: currency: description: Merchant's reporting currency allOf: - $ref: '#/components/schemas/CurrencyCode' amount: description: Revenue amount in Merchant's reporting currency type: number format: double amountUsd: description: Revenue amount in USD type: number format: double Tag: type: object description: Tag required: - name properties: id: description: The tag's identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: "The tag's unique name, which is case-insensitive." type: string maxLength: 255 pattern: '^[@~\-\.\w\s]+$' example: New createdTime: description: The tag's created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The tag's updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' DefaultPaymentInstrumentLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - defaultPaymentInstrument required: - rel LeadSourceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - leadSource required: - rel WebsiteLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - website required: - rel LeadSourceData: type: object properties: medium: description: "Lead Source's medium (eg search, display)" type: string source: description: "Lead Source's source (eg google, yahoo)" type: string campaign: description: Lead Source's campaign (eg go-big-123) type: string term: description: Lead Source's term (eg salt shakers) type: string content: description: Lead Source's content (eg smiley faces) type: string affiliate: description: "Lead Source's affiliate (eg 123, Bob Smith)" type: string subAffiliate: description: >- Lead Source's sub-affiliate also called a sub-id or click id in some circles (eg 123456) type: string salesAgent: description: Lead Source's sales agent (eg James Bond) type: string clickId: description: Lead Source's click id (may come from an ad server) type: string path: description: Lead Source's path url (eg www.example.com/some/landing/path) type: string referrer: description: >- Lead Source's [`referer` url](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer) as determined (eg www.example.com/some/landing/path) type: string createdTime: description: LeadSource created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' LeadSource: allOf: - $ref: '#/components/schemas/LeadSourceData' - type: object properties: original: readOnly: true allOf: - $ref: '#/components/schemas/LeadSourceData' LeadSourceEmbed: type: object description: Lead Source object readOnly: true properties: leadSource: $ref: '#/components/schemas/LeadSource' Customer: type: object properties: id: description: The customer identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: The website's ID allOf: - $ref: '#/components/schemas/ResourceId' paymentToken: type: string writeOnly: true description: | A write-only payment token; if supplied, it will be converted into a payment instrument and be set as the `defaultPaymentInstrument`. The value of this property will override the `defaultPaymentInstrument` in the case that both are supplied. The token may only be used once before it is expired. defaultPaymentInstrument: $ref: '#/components/schemas/PaymentInstrument' createdTime: description: The customer created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The customer updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' customFields: $ref: '#/components/schemas/ResourceCustomFields' primaryAddress: $ref: '#/components/schemas/ContactObject' averageValue: $ref: '#/components/schemas/CustomerAverageValue' paymentCount: description: The number of approved payments for the customer readOnly: true type: integer lastPaymentTime: description: The most recent time of an approved payment for the customer allOf: - $ref: '#/components/schemas/ServerTimestamp' lifetimeRevenue: $ref: '#/components/schemas/CustomerLifetimeRevenue' invoiceCount: description: >- An auto-incrementing number based on the sequence of invoices. If set to 0, then this record is a Lead, otherwise is a Customer readOnly: true type: integer tags: description: A list of customer's tags readOnly: true type: array items: $ref: '#/components/schemas/Tag' revision: description: > The number of times the customer 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 _links: type: array description: The links related to resource readOnly: true minItems: 3 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/DefaultPaymentInstrumentLink' - $ref: '#/components/schemas/LeadSourceLink' - $ref: '#/components/schemas/WebsiteLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/LeadSourceEmbed' CustomerEmbed: type: object description: Customer object readOnly: true properties: customer: $ref: '#/components/schemas/Customer' BankAccount: type: object title: Bank Account required: - customerId properties: id: description: The bank account identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' method: description: The method of payment instrument type: string readOnly: true enum: - bank-account bankName: description: Bank's name. type: string routingNumber: description: Bank's Routing Number. type: string accountNumberType: description: >- Bank's Account Number type. A valid value is basic bank account number (BBAN) or international bank account number (IBAN). type: string default: BBAN enum: - BBAN - IBAN accountType: description: Bank's Account type. type: string enum: - checking - savings - other bic: description: Bank Identifier Code type: string address: description: The Address. allOf: - $ref: '#/components/schemas/ContactObject' fingerprint: description: >- A unique value to identify the Bank Account. It contains alphanumeric values. type: string readOnly: true last4: description: The last 4 digits of the bank account type: string readOnly: true browserData: $ref: '#/components/schemas/BrowserData' status: description: Bank Account status type: string readOnly: true enum: - active - deactivated createdTime: description: Bank Account created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Bank Account updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' customFields: $ref: '#/components/schemas/ResourceCustomFields' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/CustomerEmbed' BankAccountCreateToken: type: object required: - customerId - token properties: customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' token: description: BankAccountToken ID. type: string customFields: $ref: '#/components/schemas/ResourceCustomFields' BankAccountCreatePlain: type: object required: - accountNumberType discriminator: propertyName: accountNumberType mapping: BBAN: '#/components/schemas/BBANType' IBAN: '#/components/schemas/IBANType' properties: accountNumberType: description: >- Bank's Account Number type. A valid value is basic bank account number (BBAN) or international bank account number (IBAN). type: string default: BBAN enum: - IBAN - BBAN browserData: $ref: '#/components/schemas/BrowserData' BBANType: description: BBAN type object allOf: - $ref: '#/components/schemas/BankAccountCreatePlain' - type: object required: - customerId - accountNumber - routingNumber - accountType - address properties: customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' accountNumber: description: Bank's Account Number. type: string pattern: '^[0-9]+$' routingNumber: description: Bank's Routing Number. type: string pattern: '^[0-9]+$' accountType: description: Bank's Account type. type: string enum: - checking - savings - other bankName: description: Bank's name. type: string bic: description: Bank Identifier Code. type: string address: description: The Address. allOf: - $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' IBANType: description: IBAN type object allOf: - $ref: '#/components/schemas/BankAccountCreatePlain' - type: object required: - customerId - accountNumber - address properties: customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' accountNumber: description: > Bank's Account Number. Detailed information about all ISO 13616-compliant national IBAN formats is available in [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban). type: string bankName: description: Bank's name. type: string bic: description: Bank Identifier Code. type: string address: description: The Address. allOf: - $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' Blacklist: type: object required: - type - value properties: id: description: The blacklist identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: The blacklist type type: string enum: - payment-card - bank-account - customer-id - email - email-domain - ip-address - country - fingerprint - bin - address value: description: The blacklist value type: string expirationTime: description: The blacklist expiration time type: string format: date-time createdTime: description: The blacklist created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The blacklist updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' discounts-per-redemption: description: discounts-per-redemption restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - quantity properties: quantity: type: integer description: Restriction quantity CouponRestriction: description: Coupon restrictions type: object discriminator: propertyName: type mapping: discounts-per-redemption: '#/components/schemas/discounts-per-redemption' minimum-order-amount: '#/components/schemas/minimum-order-amount' paid-by-time: '#/components/schemas/paid-by-time' redemptions-per-customer: '#/components/schemas/redemptions-per-customer' restrict-to-invoices: '#/components/schemas/restrict-to-invoices' restrict-to-plans: '#/components/schemas/restrict-to-plans' restrict-to-products: '#/components/schemas/restrict-to-products' restrict-to-subscriptions: '#/components/schemas/restrict-to-subscriptions' total-redemptions: '#/components/schemas/total-redemptions' properties: type: description: Coupon's restriction type type: string enum: - discounts-per-redemption - minimum-order-amount - redemptions-per-customer - restrict-to-invoices - restrict-to-plans - restrict-to-subscriptions - restrict-to-products - total-redemptions - paid-by-time required: - type RedemptionRestriction: description: Redemption restrictions type: object discriminator: propertyName: type mapping: discounts-per-redemption: '#/components/schemas/discounts-per-redemption' minimum-order-amount: '#/components/schemas/minimum-order-amount' paid-by-time: '#/components/schemas/paid-by-time' restrict-to-invoices: '#/components/schemas/restrict-to-invoices' restrict-to-plans: '#/components/schemas/restrict-to-plans' restrict-to-products: '#/components/schemas/restrict-to-products' restrict-to-subscriptions: '#/components/schemas/restrict-to-subscriptions' properties: type: description: Redemption's additional restriction type type: string enum: - discounts-per-redemption - minimum-order-amount - restrict-to-invoices - restrict-to-plans - restrict-to-subscriptions - restrict-to-products - paid-by-time required: - type minimum-order-amount: description: minimum-order-amount restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - amount - currency properties: amount: type: integer description: Minimum order quantity currency: allOf: - $ref: '#/components/schemas/CurrencyCode' paid-by-time: description: paid-by-time restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - time properties: time: type: string format: date-time description: >- The time when the coupon's redemption is no longer valid and removed from unpaid invoices if applied. Note that this datetime cannot be changed. redemptions-per-customer: description: Quantity per Customer restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - quantity properties: quantity: type: integer description: Restriction value restrict-to-invoices: description: restrict-to-invoices restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - invoiceIds properties: invoiceIds: type: array description: Invoice IDs coupon can be applied to items: type: string restrict-to-plans: description: restrict-to-plans restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - planIds properties: planIds: type: array description: Plan IDs coupon can be applied to items: type: string restrict-to-products: description: restrict-to-products restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - productIds properties: productIds: type: array description: Product IDs coupon can be applied to items: type: string restrict-to-subscriptions: description: restrict-to-subscriptions restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - subscriptionIds properties: subscriptionIds: type: array description: Subscription IDs coupon can be applied to items: type: string total-redemptions: description: total-redemptions restrictions allOf: - $ref: '#/components/schemas/CouponRestriction' - $ref: '#/components/schemas/RedemptionRestriction' - type: object required: - quantity properties: quantity: type: integer description: Total redemptions quantity CouponRedemption: type: object description: Coupons redemption log properties: id: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' redemptionCode: description: Coupon's redemption code allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: Customer's ID allOf: - $ref: '#/components/schemas/ResourceId' additionalRestrictions: description: Additional restrictions for coupon's redemptions type: array items: $ref: '#/components/schemas/RedemptionRestriction' createdTime: description: Coupon redeem time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' canceledTime: description: Coupon redemption canceled time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Discount: type: object discriminator: propertyName: type mapping: fixed: '#/components/schemas/fixed' percent: '#/components/schemas/percent' properties: type: description: Discount type type: string enum: - fixed - percent fixed: description: Coupon fixed amount discount allOf: - $ref: '#/components/schemas/Discount' - type: object required: - amount - currency properties: amount: description: Discount amount type: number format: double minimum: 0 exclusiveMinimum: true currency: allOf: - $ref: '#/components/schemas/CurrencyCode' percent: description: Coupon percent discount allOf: - $ref: '#/components/schemas/Discount' - type: object required: - value properties: value: description: Discount percent type: number format: double minimum: 0 exclusiveMinimum: true maximum: 100 Coupon: type: object description: Coupons and Discounts required: - discount - issuedTime properties: redemptionCode: description: Coupon's redemption code readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' discount: $ref: '#/components/schemas/Discount' restrictions: description: Coupon restrictions type: array items: $ref: '#/components/schemas/CouponRestriction' redemptionsCount: type: integer description: Coupon's redemptions count minimum: 0 readOnly: true status: type: string description: If coupon enabled readOnly: true enum: - draft - issued - expired description: type: string description: > Your coupon description. When it is not empty this is used for invoice discount item description, otherwise the item's description uses coupon's redemptionCode like 'Coupon "redemptionCode"' issuedTime: description: Coupon's issued time (start time) type: string format: date-time expiredTime: description: Coupon's expire time (end time) type: string format: date-time createdTime: description: Coupon created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Coupon updated time. allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' CouponExpiration: type: object required: - expiredTime properties: expiredTime: description: >- The coupon's expiry time, must be greater than the issued time. Null or empty string will immediately expire the coupon. type: string format: date-time Credential: type: object required: - username - password - customerId properties: id: description: The credential identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' username: description: Credential's username type: string password: description: The credential's password type: string format: password writeOnly: true customerId: description: The credential's customer ID type: string expiredTime: description: The credential's expired time type: string format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' CustomField: description: A separate Custom Field schema type: object required: - type properties: name: description: The name of the custom field type: string readOnly: true type: description: > Type value | Description ------------- | ------------- array | An array of strings up to 255 characters, maximum size is 1000 elements boolean | true or false date | String of format "full-date" (YYYY-MM-DD) from RFC-3339 (full-date) datetime | String of format "date-time" (YYYY-MM-DDTHH:MM:SSZ) from RFC-3339 (date-time) integer | Cardinal value of -2^31..2^31-1 number | Float value. It can take cardinal values also which are interpreted as float string | Regular string up to 255 characters monetary | A map of 3-letters currency code and amount, e.g. {"currency": "EUR", "amount": 25.30} type: string enum: - array - boolean - datetime - integer - number - string - monetary description: description: The custom field description type: string additionalSchema: description: > Additional parameters which can be added according to type: Parameter Name | Types | Description -------------- | ------------- | ------------- allowedValues | string, array | List of allowed values maxLength | string | Maximum allowed length for the string, 255 by default, up to 4000 _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' CustomerTimelineCustomEvent: type: object required: - name properties: id: description: Customer Timeline Custom Event identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: >- Customer Timeline Custom Event type name. It must not be similar to any Rebilly system event. type: string minLength: 1 maxLength: 255 createdTime: description: Customer Timeline Custom event created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Customer Timeline Custom event updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' TimelineAction: type: object discriminator: propertyName: action mapping: redemption-cancel: '#/components/schemas/redemption-cancel' resend-email: '#/components/schemas/resend-email' readOnly: true properties: action: type: string enum: - resend-email - redemption-cancel redemption-cancel: description: Cancel Redemption allOf: - $ref: '#/components/schemas/TimelineAction' - type: object properties: redemptionId: allOf: - $ref: '#/components/schemas/ResourceId' resend-email: description: Resend Email action allOf: - $ref: '#/components/schemas/TimelineAction' - type: object properties: messageId: allOf: - $ref: '#/components/schemas/ResourceId' TimelineTable: type: object description: Additional information about Timeline message discriminator: propertyName: type mapping: three-columns: '#/components/schemas/three-columns' two-columns: '#/components/schemas/two-columns' properties: type: type: string enum: - two-columns - three-columns title: type: string description: Data table title footer: type: string description: Data table footer three-columns: 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 two-columns: 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 TimelineExtraData: type: object description: Additional data readOnly: true properties: actions: description: >- Actions available to a Timeline message. Can be empty in case no actions are available for a message type: array minItems: 0 items: $ref: '#/components/schemas/TimelineAction' tables: type: array minItems: 0 items: $ref: '#/components/schemas/TimelineTable' author: type: object description: Timeline comment author data properties: userFullName: type: string userId: type: string mentions: type: object additionalProperties: type: string example: '@test@mail.com': userId-1 links: type: array items: type: object properties: resourceType: type: string enum: - kyc-document - invoice - subscription - transaction - email-message - dispute - credit-memo - coupon resourceId: $ref: '#/components/schemas/ResourceId' placeholder: type: string example: KYC Document CustomerTimeline: type: object properties: id: description: The Timeline message identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Timeline message type type: string enum: - customer-comment-created - customer-created - primary-address-changed - default-payment-instrument-changed - lead-source-changed - custom-fields-changed - coupon-applied - coupon-redeemed - coupon-redemption-canceled - kyc-document-created - kyc-document-accepted - kyc-document-manually-accepted - kyc-document-rejected - kyc-document-manually-rejected - payment-card-expired - payment-instrument-created - payment-instrument-deactivated - customer-blacklisted - customer-payment-card-blacklisted - invoice-created - invoice-issued - invoice-abandoned - invoice-voided - invoice-past-due - invoice-paid - invoice-partially-paid - invoice-disputed - invoice-refunded - invoice-partially-refunded - order-created - order-renewed - order-activated - order-completed - order-reactivated - order-canceled - order-upgraded - order-downgraded - order-churned - order-paid-early - transaction-approved - transaction-canceled - transaction-declined - transaction-abandoned - transaction-refunded - transaction-voided - transaction-discrepancy-found - transaction-amount-discrepancy-found - email-message-sent - custom-event-processed - custom-event - transaction-waiting-gateway customEventType: description: >- Timeline custom event type. Used with `custom-event` type. Must be defined using [Customer Timeline custom event API](#operation/PostCustomerTimelineCustomEventType) type: string nullable: true minLength: 1 maxLength: 255 customData: description: >- Timeline custom event data. Used with `custom-event` type. Will be transformed to `extraData` two-column table in response type: object writeOnly: true example: customAttribute: customValue otherAttribute: otherValue triggeredBy: description: Shows who or what triggered the Timeline message type: string readOnly: true enum: - rebilly - app - direct-api message: description: The message that describes the message details type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Timeline message time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ProductLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - product required: - rel Product: type: object required: - name description: > Products include digital goods, services, and physical goods. Products appear on invoice line items. If you set a tax category identifier, taxes will be calculated upon invoice generation. If it is shippable, shipping will be calculated upon invoice generation. Pricing and variations are set within Plans. properties: id: description: The product ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' example: membership name: description: The product name type: string maxLength: 255 example: Premium membership unitLabel: description: 'The unit label, such as per `seat` or per `unit`.' type: string maxLength: 50 example: seat default: unit description: description: The product description type: string maxLength: 512 requiresShipping: description: >- If the product requires shipping, shipping calculations will be applied. type: boolean example: false options: description: > The product options such as color, size, etc. The product options definition does not include option values. Those are defined within the plans. type: array items: type: string customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: description: The product created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The product updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' .._Product: &ref_0 allOf: - $ref: '#/components/schemas/Product' - properties: taxCategoryId: description: The product's tax category identifier string type: string enum: - '00000' - '99999' - '20010' - '40030' - '51020' - '51010' - '31000' - '30070' accountingCode: description: The product accounting code type: string example: '4010' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ProductEmbed: type: object description: Product object readOnly: true properties: product: $ref: '#/components/schemas/.._Product' PlanPriceFormula: type: object discriminator: propertyName: formula mapping: fixed-fee: '#/components/schemas/fixed-fee' flat-rate: '#/components/schemas/flat-rate' stairstep: '#/components/schemas/stairstep' tiered: '#/components/schemas/tiered' volume: '#/components/schemas/volume' required: - formula properties: formula: type: string description: > The price formula determines what algorithm is used to calculate the invoice price based on a few factors, - the quantity in the subscription (which may be variable if usage pricing, otherwise determined when creating the subscription) - the price brackets data To determine which formula is correct, please see the price formula documentation. enum: - fixed-fee - flat-rate - stairstep - tiered - volume fixed-fee: allOf: - $ref: '#/components/schemas/PlanPriceFormula' - type: object required: - price properties: price: description: > For the very simple price when it's fixed and does not depend on the quantity chosen by customer. If the price is 0, it's free. type: number format: double example: 99.95 flat-rate: allOf: - $ref: '#/components/schemas/PlanPriceFormula' - type: object required: - price properties: price: description: | Flat-rate pricing is represented in a simple price per unit. Some examples: - $30 per unit - $0.10 per transaction - $50 per period If the price is 0, it's free. type: number format: double example: 99.95 maxQuantity: description: "If the value is `null`, it's assumed to be infinite." type: integer example: 1 stairstep: allOf: - $ref: '#/components/schemas/PlanPriceFormula' - type: object required: - brackets properties: brackets: description: > The price brackets, along with the price formula, is used to calculate the amount to charge for the product on this plan on the invoice. The "stairstep" example: Price total | Max quantity | Description ------------|--------------|------------ $5 | 1 | 1 $13 | 5 | 2 to 5 $30 | null | 6 or more If someone bought 1 apple, it would be $5. If someone bought 2 apples, it would be $13. For 2 to 5 apples, the price is $13 in any case. type: array minItems: 1 items: type: object properties: price: description: "If the price is 0, it's free." type: number format: double example: 99.95 maxQuantity: description: > If the value is `null`, it's assumed to be infinite. It starts at the end of the previous bracket. If there is no previous bracket, it starts at 1. type: integer example: 1 tiered: allOf: - $ref: '#/components/schemas/PlanPriceFormula' - type: object required: - brackets properties: brackets: description: > The price brackets, along with the price formula, is used to calculate the amount to charge for the product on this plan on the invoice. The "tiered" example: Price per apple | Max quantity | Description ----------------|--------------|------------ $5 | 1 | 1 $4 | 5 | 2 to 5 $3 | null | 6 or more If someone bought 1 apple, it would be $5. If someone bought 2 apples, it would be $9. $5 per apple for the first apple, then $4 per apple for the 2nd to 5th apple. type: array minItems: 1 items: type: object properties: price: description: "If the price is 0, it's free." type: number format: double example: 99.95 maxQuantity: description: > If the value is `null`, it's assumed to be infinite. It starts at the end of the previous bracket. If there is no previous bracket, it starts at 1. type: integer example: 1 volume: allOf: - $ref: '#/components/schemas/PlanPriceFormula' - type: object required: - brackets properties: brackets: description: > The price brackets, along with the price formula, is used to calculate the amount to charge for the product on this plan on the invoice. The "volume" example: Price per apple | Max quantity | Description ----------------|--------------|------------ $5 | 1 | 1 $4 | 5 | 2 to 5 $3 | null | 6 or more If someone bought 1 apple, it would be $5. If someone bought 2 apples, it would be $8. For 2 to 5 apples, the price is $4 per apple. type: array minItems: 1 items: type: object properties: price: description: "If the price is 0, it's free." type: number format: double example: 99.95 maxQuantity: description: > If the value is `null`, it's assumed to be infinite. It starts at the end of the previous bracket. If there is no previous bracket, it starts at 1. type: integer example: 1 PlanPeriod: type: object required: - unit - length properties: unit: description: The unit of time type: string enum: - day - week - month - year length: description: The length of time type: integer PlanBillingTiming: type: string default: prepaid description: > The 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 Plan: type: object required: - name - currency - productId - pricing properties: id: description: The plan ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: 'The plan name, displayed on invoices and receipts.' type: string productId: description: The related product ID allOf: - $ref: '#/components/schemas/ResourceId' productOptions: type: object description: Name-value pairs to specify the product options. additionalProperties: type: string example: color: red size: xxl currency: allOf: - $ref: '#/components/schemas/CurrencyCode' currencySign: description: Currency sign readOnly: true type: string pricing: $ref: '#/components/schemas/PlanPriceFormula' recurringInterval: description: 'The service interval. For a one-time item, use `null`.' allOf: - $ref: '#/components/schemas/PlanPeriod' - type: object properties: limit: description: > The number of invoices this subscription will generate (if 1, it will not generate any beyond the initial subscription creation). For example, set this property to `12`, when the `periodUnit` is month and the `periodDuration` is 1, for a 1 year contract billed monthly. type: integer billingTiming: $ref: '#/components/schemas/PlanBillingTiming' trial: type: object description: The trial. Set `null` if no trial. required: - price - period properties: price: description: 'The price of the trial. For a free trial, use `0`.' type: number format: double period: $ref: '#/components/schemas/PlanPeriod' setup: type: object description: The setup. Set `null` if no setup. required: - price properties: price: description: The price of a setup - 0 is a valid value (for free). type: number format: double customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: description: Plan created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Plan updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' TimeUnit: type: string enum: - second - minute - hour - day - month - year TimePluralUnit: type: string enum: - seconds - minutes - hours - days - months - years IssueTimeShiftInstruction: type: object description: > The calculation instruction of billing time. This is used in conjunction with the **service period anchor** to calculate the time the invoice is issued. required: - chronology - duration - unit properties: chronology: type: string description: >- The chronology of the billing time relatively to the service period start. enum: - before duration: type: integer description: The number of the units minimum: 1 unit: oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' DueTimeShiftInstruction: type: object description: > The calculation instruction of due time. This is used in conjunction with the **billing anchor** to calculate due time of invoice. The chronology of due time shift is always **after**. default: duration: 1 unit: hour properties: duration: type: integer description: The number of the units minimum: 1 unit: oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' required: - duration - unit InvoiceTimeShift: type: object description: > The invoice time shift in conjunction with `billingTiming` allows to setup different billing use cases such as: - Bill immediately when the service period _starts_ - Bill immediately after the service period _ends_ - Bill _interval of time_ before the service period _starts_ - Bill _interval of time_ after the service period _starts_ - Bill _interval of time_ before the service period _ends_ - Bill _interval of time_ after the service period _ends_ properties: issueTimeShift: $ref: '#/components/schemas/IssueTimeShiftInstruction' dueTimeShift: $ref: '#/components/schemas/DueTimeShiftInstruction' Plans_Plan: allOf: - $ref: '#/components/schemas/Plan' - properties: invoiceTimeShift: description: You can shift issue time and due time of invoices for this plan. allOf: - $ref: '#/components/schemas/InvoiceTimeShift' subscriptionCount: type: integer readOnly: true description: Number of subscriptions associated with this plan _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' PlanEmbed: type: object description: Plan object readOnly: true properties: plan: $ref: '#/components/schemas/Plans_Plan' InvoiceItem: type: object required: - type - unitPrice properties: id: description: The website identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Invoice item's type type: string enum: - debit - credit description: description: Invoice item's description type: string unitPrice: description: Invoice item's price type: number format: double quantity: description: Invoice item's quantity type: integer price: description: Invoice item's total price type: number format: double readOnly: true productId: description: The product's ID allOf: - $ref: '#/components/schemas/ResourceId' discountAmount: description: Invoice item discount amount type: number format: double readOnly: true periodStartTime: description: Start time type: string format: date-time periodEndTime: description: End time type: string format: date-time periodNumber: description: Invoice item subscription period number type: integer createdTime: description: Invoice item created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Invoice item updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/ProductLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/ProductEmbed' - $ref: '#/components/schemas/PlanEmbed' InvoiceTax: type: object readOnly: true properties: amount: description: Tax amount type: number format: double description: type: string description: Tax description InvoiceDiscount: type: object readOnly: true properties: redemptionCode: description: Coupon's redemption code allOf: - $ref: '#/components/schemas/ResourceId' redemptionId: description: Redemption ID allOf: - $ref: '#/components/schemas/ResourceId' amount: description: Total amount that was discounted by this Coupon type: number format: double description: type: string description: Discount description InstrumentReference: type: object title: Instrument required: - method - paymentInstrumentId properties: method: type: string enum: - payment-card - bank-account - paypal paymentInstrumentId: description: The payment instrument ID allOf: - $ref: '#/components/schemas/ResourceId' MethodReference: type: object title: Method only required: - method properties: method: $ref: '#/components/schemas/Method' PaymentInstrumentReference: oneOf: - $ref: '#/components/schemas/InstrumentReference' - $ref: '#/components/schemas/MethodReference' ThreeDSecureResult: type: object readOnly: true required: - enrolled - authenticated - liability properties: enrolled: description: Is the cardholder enrolled in 3D Secure type: string enum: - 'yes' - 'no' - invalid card/timeout - unavailable authenticated: description: The 3D Secure entry Auth Response Status type: string enum: - 'yes' - 'no' - not applicable - attempted liability: type: string enum: - protected - not protected - protected (attempt) Transaction: type: object properties: id: description: The transaction ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: The website ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The сustomer's ID allOf: - $ref: '#/components/schemas/ResourceId' type: description: Transaction type type: string readOnly: true enum: - authorize - capture - credit - refund - sale - void status: description: Transaction status type: string readOnly: true enum: - completed - connection-error - disputed - never-sent - partially-refunded - pending - refunded - sending - suspended - timeout - voided - waiting-capture - waiting-refund result: description: Transaction result type: string readOnly: true enum: - abandoned - approved - canceled - declined - unknown amount: description: The transactions's amount type: number format: double readOnly: true currency: readOnly: true allOf: - $ref: '#/components/schemas/CurrencyCode' purchaseAmount: description: >- The amount actually purchased which may have differed from the originally requested amount in case of an adjustment. type: number format: double readOnly: true purchaseCurrency: readOnly: true allOf: - $ref: '#/components/schemas/CurrencyCode' requestAmount: description: >- The amount in the payment request. If adjusted, the purchase amount and billing amount may vary from it. type: number format: double readOnly: true requestCurrency: readOnly: true allOf: - $ref: '#/components/schemas/CurrencyCode' parentTransactionId: description: The parent's transaction ID allOf: - $ref: '#/components/schemas/ResourceId' readOnly: true childTransactions: description: The child transaction IDs readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' invoiceIds: description: The invoice IDs related to transaction readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' subscriptionIds: description: The subscription IDs related to transaction's invoice(s) readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' planIds: description: The plan IDs related to transaction's subscription(s) readOnly: true type: array items: $ref: '#/components/schemas/ResourceId' isRebill: type: boolean readOnly: true rebillNumber: description: The transactions's rebill number type: integer readOnly: true paymentInstrument: $ref: '#/components/schemas/PaymentInstrumentReference' billingAddress: description: Billing address allOf: - $ref: '#/components/schemas/ContactObject' has3ds: type: boolean readOnly: true 3ds: allOf: - $ref: '#/components/schemas/ThreeDSecureResult' redirectUrl: description: >- The URL to redirect the end-user when an offsite transaction is completed. Defaults to the website's configured URL. type: string format: uri retryNumber: type: integer readOnly: true description: The position in the sequence of retries isRetry: type: boolean readOnly: true description: True if this transaction is retry. billingDescriptor: type: string readOnly: true description: > The billing descriptor that appears on the periodic billing statement. Commonly 12 or fewer characters for a credit card statement. description: type: string description: The payment description maxLength: 255 requestId: description: >- The transaction's request ID. This ID must be unique within a 24 hour period. Use this field to prevent duplicated transactions. type: string customFields: $ref: '#/components/schemas/ResourceCustomFields' processedTime: description: Transaction processed time allOf: - $ref: '#/components/schemas/ServerTimestamp' createdTime: description: Transaction created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Transaction updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' Invoice: type: object required: - customerId - websiteId - currency properties: id: description: The invoice ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: The website ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The сustomer's ID allOf: - $ref: '#/components/schemas/ResourceId' invoiceNumber: description: >- An auto-incrementing number based on the sequence of invoices for any particular customer. readOnly: true type: integer subscriptionId: description: "The related subscription's ID if available, otherwise null." readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' currency: allOf: - $ref: '#/components/schemas/CurrencyCode' amount: description: The invoice's amount type: number format: double readOnly: true amountDue: description: The invoice's due amount type: number format: double readOnly: true subtotalAmount: description: The invoice's subtotal amount type: number format: double readOnly: true discountAmount: description: The invoice's discounts amount type: number format: double readOnly: true taxAmount: description: The invoice's taxes amount type: number format: double readOnly: true shippingAmount: description: The invoice's shipping amount type: number format: double readOnly: true billingAddress: description: Invoice's billing address allOf: - $ref: '#/components/schemas/ContactObject' deliveryAddress: description: Invoice's delivery address allOf: - $ref: '#/components/schemas/ContactObject' poNumber: description: Purchase order number which will be displayed on the invoice nullable: true example: PO123456 type: string notes: description: Notes for the customer which will be displayed on the invoice type: string items: type: array description: Invoice items array readOnly: true items: $ref: '#/components/schemas/InvoiceItem' taxes: type: array description: Taxes applied to this invoice readOnly: true items: allOf: - $ref: '#/components/schemas/InvoiceTax' discounts: type: array description: Discounts applied readOnly: true items: allOf: - $ref: '#/components/schemas/InvoiceDiscount' transactions: type: array description: Invoice transactions array readOnly: true items: $ref: '#/components/schemas/Transaction' autopayScheduledTime: description: Invoice autopay scheduled time type: string format: date-time autopayRetryNumber: description: Invoice autopay retry number readOnly: true type: integer minimum: 0 default: 0 status: type: string description: Invoice status readOnly: true enum: - draft - unpaid - paid - past-due - delinquent - abandoned - voided - partially-refunded - refunded - disputed delinquentCollectionPeriod: type: integer description: >- Delinquent collection period - difference between paidTime and dueTime in days. readOnly: true collectionPeriod: type: integer description: >- Collection period - difference between paidTime and issuedTime in days. readOnly: true abandonedTime: description: Invoice abandoned time allOf: - $ref: '#/components/schemas/ServerTimestamp' voidedTime: description: Invoice voided time allOf: - $ref: '#/components/schemas/ServerTimestamp' paidTime: description: Invoice paid time allOf: - $ref: '#/components/schemas/ServerTimestamp' dueTime: description: Invoice due time allOf: - $ref: '#/components/schemas/ServerTimestamp' issuedTime: description: Invoice issued time allOf: - $ref: '#/components/schemas/ServerTimestamp' createdTime: description: Invoice created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Invoice updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' CommonScheduleInstruction: type: object description: The calculation instruction of scheduled time discriminator: propertyName: method mapping: auto: '#/components/schemas/auto' date-interval: '#/components/schemas/date-interval' day-of-month: '#/components/schemas/day-of-month' day-of-week: '#/components/schemas/day-of-week' immediately: '#/components/schemas/immediately' intelligent: '#/components/schemas/intelligent' properties: method: type: string enum: - auto - intelligent - immediately - date-interval - day-of-month - day-of-week required: - method auto: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' date-interval: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' - $ref: '#/components/schemas/CustomEventScheduleInstruction' - $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' - type: object properties: duration: type: integer description: The number of the units minimum: 1 unit: oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' required: - duration - unit day-of-month: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' - $ref: '#/components/schemas/CustomEventScheduleInstruction' - $ref: '#/components/schemas/ServicePeriodAnchorInstruction' - $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' - type: object properties: day: type: integer minimum: 1 maximum: 31 description: | The day of the month when event will be scheduled. Be aware if the month has less days, the last day of the month will be selected. time: $ref: '#/components/schemas/TimeIso8601Extended' required: - day CustomEventScheduleInstruction: type: object description: The calculation instruction of scheduled time discriminator: propertyName: method mapping: date-interval: '#/components/schemas/date-interval' day-of-month: '#/components/schemas/day-of-month' day-of-week: '#/components/schemas/day-of-week' properties: method: type: string enum: - date-interval - day-of-month - day-of-week required: - method day-of-week: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' - $ref: '#/components/schemas/CustomEventScheduleInstruction' - $ref: '#/components/schemas/ServicePeriodAnchorInstruction' - $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' - type: object properties: day: $ref: '#/components/schemas/DayOfWeekLong' week: type: string default: next enum: - next - first-in-month - last-in-month time: $ref: '#/components/schemas/TimeIso8601Extended' required: - day ServicePeriodAnchorInstruction: type: object description: > Instruction for calculating the service period anchor. This is used in conjunction with the **subscription start** to calculate the time the service period starts and ends. discriminator: propertyName: method mapping: day-of-month: '#/components/schemas/day-of-month' day-of-week: '#/components/schemas/day-of-week' immediately: '#/components/schemas/immediately' default: method: immediately required: - method properties: method: type: string default: immediately enum: - immediately - day-of-month - day-of-week InvoiceRetryScheduleInstruction: type: object description: The calculation instruction of scheduled time discriminator: propertyName: method mapping: date-interval: '#/components/schemas/date-interval' day-of-month: '#/components/schemas/day-of-month' day-of-week: '#/components/schemas/day-of-week' immediately: '#/components/schemas/immediately' intelligent: '#/components/schemas/intelligent' properties: method: type: string enum: - intelligent - immediately - date-interval - day-of-month - day-of-week required: - method immediately: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' - $ref: '#/components/schemas/ServicePeriodAnchorInstruction' - $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' DayOfWeekLong: type: string enum: - Sunday - Monday - Tuesday - Wednesday - Thursday - Friday - Saturday TimeIso8601Extended: description: Extended ISO-8601 format of time type: string 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)?$ intelligent: allOf: - $ref: '#/components/schemas/CommonScheduleInstruction' - $ref: '#/components/schemas/CustomEventScheduleInstruction' - $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' - type: object properties: duration: type: integer description: The number of the units minimum: 1 unit: oneOf: - $ref: '#/components/schemas/TimeUnit' - $ref: '#/components/schemas/TimePluralUnit' required: - duration - unit OrganizationLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - organization required: - rel TransactionAllocationsLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - transactionAllocations required: - rel RecalculateInvoiceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - recalculateInvoice required: - rel SubscriptionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - subscription required: - rel WebsiteEmbed: type: object description: Website object readOnly: true properties: website: type: object Organization: type: object required: - name - country properties: id: description: The organization identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' createdTime: description: The organization created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The organization updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' name: description: The organization name type: string maxLength: 60 address: description: The organization street address type: string maxLength: 60 address2: description: The organization street address type: string maxLength: 60 city: description: The organization city type: string maxLength: 45 region: description: The organization region (state) type: string maxLength: 45 country: description: The organization country ISO Alpha-2 code type: string pattern: '^[A-Z]{2}$' postalCode: description: The organization postal code type: string maxLength: 10 phoneNumbers: $ref: '#/components/schemas/ContactPhoneNumbers' emails: $ref: '#/components/schemas/ContactEmails' taxDescriptor: description: The organization's tax label. This will be displayed on the invoice. type: string maxLength: 255 invoiceTimeZone: description: >- Invoice will use this time zone to display time otherwise UTC will be used. Example "America/New_York" type: string maxLength: 50 isPrimary: description: >- True, if Organization is primary (available to set as true only, other organizations will become as isPrimary=false) type: boolean _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' OrganizationEmbed: type: object description: Organization object readOnly: true properties: organization: $ref: '#/components/schemas/Organization' Invoices_Invoice: allOf: - $ref: '#/components/schemas/Invoice' - properties: retryInstruction: description: The invoice retry instruction type: object properties: attempts: type: array minItems: 1 items: type: object properties: scheduleInstruction: $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' required: - scheduleInstruction afterAttemptPolicies: description: The policy on the attempt finishes type: array items: type: string enum: - change-subscription-renewal-time afterRetryEndPolicies: description: The policy on the retry ends type: array items: type: string enum: - abandon-invoice - cancel-subscription required: - attempts - afterAttemptPolicies - afterRetryEndPolicies revision: description: > The number of times the invoice 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 dueReminderTime: description: Date and time at which a past due reminder event is triggered. nullable: true type: string format: date-time readOnly: true dueReminderNumber: description: Number of past due reminder events triggered type: integer readOnly: true _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/WebsiteLink' - $ref: '#/components/schemas/OrganizationLink' - $ref: '#/components/schemas/LeadSourceLink' - $ref: '#/components/schemas/TransactionAllocationsLink' - $ref: '#/components/schemas/RecalculateInvoiceLink' - $ref: '#/components/schemas/SubscriptionLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/CustomerEmbed' - $ref: '#/components/schemas/WebsiteEmbed' - $ref: '#/components/schemas/OrganizationEmbed' - $ref: '#/components/schemas/LeadSourceEmbed' TransactionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - transaction required: - rel GatewayName: description: The payment gateway name type: string enum: - A1Gateway - Adyen - AmexVPC - ApcoPay - AsiaPaymentGateway - AstroPayCard - AuthorizeNet - Bambora - BitPay - BlueSnap - BraintreePayments - Cardknox - Cashflows - CASHlib - CashToCode - CauriPayment - Cayan - Chase - Citadel - Clearhaus - CODVoucher - Conekta - Coppr - Credorax - Cryptonator - DataCash - Dengi - Directa24 - EBANX - ecoPayz - EcorePay - Elavon - eMerchantPay - EPG - EPro - Finrax - Flexepin - FinTecSystems - FundSend - Forte - GET - Gigadat - GlobalOnePay - Gooney - Gpaysafe - Greenbox - iCanPay - iCheque - iDebit - Ilixium - Ingenico - INOVAPAY - Inovio - Intuit - InstaDebit - IpayOptions - JetPay - Jeton - LPG - Moneris - MtaPay - Neosurf - Netbanking - Neteller - NGenius - NinjaWallet - NMI - NuaPay - OchaPay - Onlineueberweisen - Optimal - Pagsmile - Panamerican - ParamountEft - ParamountInterac - PandaGateway - Pay4Fun - PayCash - Payeezy - Payflow - PaymenTechnologies - PayPal - Payr - Paysafe - Paysafecash - Payvision - Piastrix - Plugnpay - Prosa - Realex - Realtime - Redsys - Rotessa - RPN - Sagepay - SeamlessChex - SecureTrading - Skrill - SmartInvoice - SMSVoucher - Sofort - SparkPay - StaticGateway - Stripe - TestProcessor - ToditoCash - UPayCard - USAePay - VantivLitle - vegaaH - Wallet88 - Walpay - Wirecard - WorldlineAtosFrankfurt - Worldpay - Zotapay AcquirerName: description: The acquirer name type: string enum: - Adyen - Alipay - AIB - ApcoPay - AsiaPaymentGateway - AstroPay Card - Ipay Options - B+S - Bambora - BitPay - Bank of America - Bank of Moscow - Bank of Rebilly - Bank One - BMO Harris Bank - Borgun - BraintreePayments - Cardknox - CASHlib - Catalunya Caixa - Chase - ChinaUnionPay - CIM - Citadel - Clearhaus - CODVoucher - Conekta - Coppr - Credorax - Cryptonator - EBANX - ecoPayz - EcorePay - Elavon - EMS - EPG - 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 - HSBC - iCanPay - iCheque - Ilixium - Ingenico - INOVAPAY - Intuit - Jeton - LPG - Masapay - Merrick - Mission Valley Bank - Moneris - NATWEST - Neosurf - Netbanking - Neteller - NinjaWallet - NMI - NuaPay - OchaPay - Onlineueberweisen - Other - Panamerican - Panda Bank - Paramount - ParamountEft - ParamountInterac - Pay4fun - PayCash - PaymenTechnologies - Paynetics - PayPal - Payr - Payvision - Piastrix - Peoples Trust Company - Privatbank - Prosa - QQPay - RBC - RBS WorldPay - RealTime - Rotessa - Skrill - SmartInvoice - SMSVoucher - Sofort - SparkPay - State Bank of Mauritius - Stripe - TBI - TestProcessor - ToditoCash - TrustPay - TSYS - UPayCard - Vantiv - VoicePay - Wallet88 - WeChat Pay - Wells Fargo - Wing Hang Bank - Wirecard - WorldPay - Zotapay RiskMetadata: type: object properties: ipAddress: description: The customer's IP type: string format: ipv4 isProxy: description: True if customer's ip address is related to proxy type: boolean readOnly: true isVpn: description: True if customer's ip address is related to VPN type: boolean readOnly: true isTor: description: True if customer's ip address is related to TOR type: boolean readOnly: true isHosting: description: True if customer's ip address is related to hosting type: boolean readOnly: true vpnServiceName: description: 'VPN service name, if available' type: string readOnly: true isp: description: 'Internet Service Provider name, if available' type: string readOnly: true country: description: Country ISO Alpha-2 code for specified ipAddress maxLength: 2 type: string readOnly: true example: US region: description: Region for specified ipAddress type: string readOnly: true example: NY city: description: City for specified ipAddress type: string readOnly: true example: New York latitude: description: Latitude for specified ipAddress type: number format: double readOnly: true longitude: description: Longitude for specified ipAddress type: number format: double readOnly: true postalCode: description: Postal code for specified ipAddress type: string maxLength: 10 readOnly: true timeZone: description: Time zone for specified ipAddress type: string readOnly: true example: America/New_York accuracyRadius: description: Accuracy radius for specified ipAddress (kilometers) type: integer readOnly: true fingerprint: description: The fingerprint type: string httpHeaders: description: HTTP headers type: object additionalProperties: type: string example: User-Agent: Mozilla/5.0 Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' distance: description: >- Distance between IP Address and Billing Address geolocation (kilometers) type: integer readOnly: true score: description: Risk score computed per all the factors type: integer readOnly: true TransactionNotificationUrl: description: > The URL where a server-to-server POST notification will be sent. It will be sent when the transaction's result is finalized after a timeout or an offsite interaction. Do not trust the notification; follow with a GET request to confirm the result of the transaction. Please respond with a 2xx HTTP status code, or we will reattempt the request again. The 2 placeholders are available to use in this URI: `{id}` and `{result}`. type: string format: uri AmountAdjustment: type: object discriminator: propertyName: method mapping: discount: '#/components/schemas/discount' partial: '#/components/schemas/partial' properties: method: type: string enum: - none - partial - discount required: - method discount: allOf: - $ref: '#/components/schemas/AmountAdjustment' - type: object properties: value: description: The payment amount discount type: number format: float type: description: The payment amount discount type type: string enum: - percent - fixed required: - value - type partial: allOf: - $ref: '#/components/schemas/AmountAdjustment' - type: object properties: value: description: The payment amount type: number format: float type: description: The payment amount type type: string enum: - percent - fixed required: - value - type PaymentRetry: type: object properties: attempts: type: array minItems: 1 items: type: object properties: scheduleInstruction: $ref: '#/components/schemas/CommonScheduleInstruction' paymentInstruction: $ref: '#/components/schemas/AmountAdjustment' required: - scheduleInstruction - paymentInstruction afterAttemptPolicy: description: The policy on the attempt finishes type: string enum: - none - change-subscription-renewal-time afterRetryEndPolicy: description: The policy on the retry ends type: string enum: - none - cancel-subscription required: - attempts - afterAttemptPolicy - afterRetryEndPolicy GatewayAccountLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - gatewayAccount required: - rel PaymentCardLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - paymentCard required: - rel ParentTransactionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - parentTransaction required: - rel RetriedTransactionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - retriedTransaction required: - rel ApprovalUrlLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - approvalUrl required: - rel CancelUrlLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - cancelUrl required: - rel RefundUrlLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - refundUrl required: - rel DisputeLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - dispute required: - rel InvoicesLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - invoices required: - rel Transactions_Transaction: allOf: - $ref: '#/components/schemas/Transaction' - properties: gatewayAccountId: description: The transactions's Gateway Account ID allOf: - $ref: '#/components/schemas/ResourceId' readOnly: true gatewayTransactionId: description: The gateway's transaction ID allOf: - $ref: '#/components/schemas/ResourceId' readOnly: true gateway: type: object description: The related gateway information readOnly: true properties: response: description: The gateway's response type: object properties: code: description: The gateway's response code type: string message: description: The gateway's response message type: string type: description: The gateway's response type type: string originalCode: description: "The raw, unmapped gateway's response code" type: string originalMessage: description: "The raw, unmapped gateway's response message" type: string avsResponse: description: The AVS gateway's response type: object properties: code: description: The response code type: string message: description: The response message type: string originalCode: description: The raw response code type: string originalMessage: description: The raw response message type: string cvvResponse: description: The CVV gateway's response type: object properties: code: description: The response code type: string message: description: The response message type: string originalCode: description: The raw response code type: string originalMessage: description: The raw response message type: string gatewayName: readOnly: true description: >- Payment Gateway name, available only when transaction use gateway, else null allOf: - $ref: '#/components/schemas/GatewayName' acquirerName: readOnly: true description: >- Acquirer name, available only when transaction use gateway, else null allOf: - $ref: '#/components/schemas/AcquirerName' method: description: Payment Method allOf: - $ref: '#/components/schemas/Method' velocity: description: >- The number of transactions by the same customer in the past 24 hours type: integer revision: description: > The number of times the transaction 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 referenceData: description: Transaction reference data type: object additionalProperties: type: string example: gatewayTransactionId: GAT123 readOnly: true nullable: true bin: description: Payment Card BIN type: string format: bin readOnly: true paymentInstrument: $ref: '#/components/schemas/PaymentInstrument' hasDcc: description: True if transaction has Dynamic Currency Conversion applied type: boolean readOnly: true dcc: description: >- Dynamic Currency Conversion detailed information. Null if hasDcc is false type: object readOnly: true properties: base: type: object description: Initial amount and currency to convert from properties: amount: type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' quote: type: object description: Suggested amount and currency to convert to properties: amount: type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' usdMarkup: description: The amount of markup translated to USD type: number format: double outcome: type: string description: Dynamic Currency Conversion outcome enum: - rejected - selected - unknown hasBumpOffer: description: True if transaction has a Bump offer type: boolean readOnly: true bumpOffer: description: Bump offer information. Null if hasBumpOffer is false type: object readOnly: true properties: order: type: object description: Initial amount and currency properties: amount: type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' bump: type: object description: Bump amount and currency properties: amount: type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' bonus: type: object description: Bonus amount and currency properties: amount: type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' usdOrder: description: The amount of initial amount translated to USD type: number format: double usdBump: description: The amount of bump amount translated to USD type: number format: double usdBonus: description: The amount of bonus amount translated to USD type: number format: double version: description: >- The name of the version that was picked (useful for measuring split tests) type: string language: description: >- The language of the bump offer that was displayed to user (useful for finding any translation problems) type: string outcome: type: string description: Bump offer outcome enum: - rejected - selected - unknown riskScore: description: The transactions's risk score type: integer readOnly: true riskMetadata: description: Risk metadata allOf: - $ref: '#/components/schemas/RiskMetadata' notificationUrl: $ref: '#/components/schemas/TransactionNotificationUrl' retryInstruction: $ref: '#/components/schemas/PaymentRetry' retriedTransactionId: readOnly: true description: The retried transaction ID allOf: - $ref: '#/components/schemas/ResourceId' retriesResult: type: string readOnly: true description: Retries sequence result enum: - approved - canceled - declined - scheduled isDisputed: description: True if transaction is disputed type: boolean readOnly: true isReconciled: description: >- True if the transaction has been verified with gateway batch data type: boolean readOnly: true hadDiscrepancy: description: >- True if the transaction has been updated due to a disprepancy with its source of truth type: boolean readOnly: true orderId: deprecated: true description: >- The transactions's order ID. This ID must be unique within a 24 hour period. This field was renamed to the `requestId`. type: string scheduledTime: type: string description: The time the transaction is scheduled for collection format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/WebsiteLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/GatewayAccountLink' - $ref: '#/components/schemas/PaymentCardLink' - $ref: '#/components/schemas/ParentTransactionLink' - $ref: '#/components/schemas/RetriedTransactionLink' - $ref: '#/components/schemas/LeadSourceLink' - $ref: '#/components/schemas/ApprovalUrlLink' - $ref: '#/components/schemas/CancelUrlLink' - $ref: '#/components/schemas/RefundUrlLink' - $ref: '#/components/schemas/DisputeLink' - $ref: '#/components/schemas/InvoicesLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/ParentTransactionEmbed' - $ref: '#/components/schemas/RetriedTransactionEmbed' - $ref: '#/components/schemas/GatewayAccountEmbed' - $ref: '#/components/schemas/CustomerEmbed' - $ref: '#/components/schemas/LeadSourceEmbed' - $ref: '#/components/schemas/WebsiteEmbed' - $ref: '#/components/schemas/PaymentCardEmbed' - $ref: '#/components/schemas/BankAccountEmbed' - $ref: '#/components/schemas/InvoicesEmbed' ParentTransactionEmbed: type: object description: Retried Transaction object readOnly: true properties: parentTransaction: $ref: '#/components/schemas/Transactions_Transaction' RetriedTransactionEmbed: type: object description: Parent Transaction object readOnly: true properties: retriedTransaction: $ref: '#/components/schemas/Transactions_Transaction' PaymentCardBrand: description: Payment Card brand type: string enum: - Visa - MasterCard - American Express - Discover - Maestro - Solo - Electron - JCB - Voyager - Diners Club - Switch - Laser - China UnionPay - AstroPay Card Condition: type: object discriminator: propertyName: op mapping: and: '#/components/schemas/and' between: '#/components/schemas/between' equals: '#/components/schemas/equals' gt: '#/components/schemas/gt' gte: '#/components/schemas/gte' in: '#/components/schemas/in' lt: '#/components/schemas/lt' lte: '#/components/schemas/lte' not: '#/components/schemas/not' or: '#/components/schemas/or' properties: op: type: string description: The condition operation enum: - and - or - not - between - equals - in - gt - gte - lt - lte required: - op logical: type: object properties: conditions: type: array minItems: 2 items: $ref: '#/components/schemas/Condition' required: - conditions and: type: object description: Logical AND allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/logical' between: type: object description: Between condition allOf: - $ref: '#/components/schemas/Condition' - type: object properties: path: type: string min: type: string max: type: string required: - path - min - max compare: type: object properties: path: type: string value: type: string required: - path - value equals: type: object description: Equals condition allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/compare' gt: type: object description: Greater than condition allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/compare' gte: type: object description: Greater than or equals condition allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/compare' in: type: object description: In condition allOf: - $ref: '#/components/schemas/Condition' - type: object properties: path: type: string values: type: array items: type: string required: - path - values lt: type: object description: Less than condition allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/compare' lte: type: object description: Less than or equals condition allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/compare' logical-not: type: object properties: condition: $ref: '#/components/schemas/Condition' required: - condition example: operation: not condition: operation: equals path: /name value: John Dou not: type: object description: Logical NOT allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/logical-not' or: type: object description: Logical OR allOf: - $ref: '#/components/schemas/Condition' - $ref: '#/components/schemas/logical' OnBoardingUrlLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - onBoardingUrl required: - rel GatewayAccount: type: object required: - gatewayName - acquirerName - merchantCategoryCode - websites - acceptedCurrencies - organizationId discriminator: propertyName: gatewayName mapping: A1Gateway: '#/components/schemas/A1Gateway' Adyen: '#/components/schemas/Adyen' AmexVPC: '#/components/schemas/AmexVPC' ApcoPay: '#/components/schemas/ApcoPay' AsiaPaymentGateway: '#/components/schemas/AsiaPaymentGateway' AstroPayCard: '#/components/schemas/AstroPayCard' AuthorizeNet: '#/components/schemas/AuthorizeNet' Bambora: '#/components/schemas/Bambora' BitPay: '#/components/schemas/BitPay' BlueSnap: '#/components/schemas/BlueSnap' BraintreePayments: '#/components/schemas/BraintreePayments' CASHlib: '#/components/schemas/CASHlib' CODVoucher: '#/components/schemas/CODVoucher' Cardknox: '#/components/schemas/Cardknox' CashToCode: '#/components/schemas/CashToCode' Cashflows: '#/components/schemas/Cashflows' CauriPayment: '#/components/schemas/CauriPayment' Cayan: '#/components/schemas/Cayan' Chase: '#/components/schemas/Chase' Citadel: '#/components/schemas/Citadel' Clearhaus: '#/components/schemas/Clearhaus' Conekta: '#/components/schemas/Conekta' Coppr: '#/components/schemas/Coppr' Credorax: '#/components/schemas/Credorax' Cryptonator: '#/components/schemas/Cryptonator' DataCash: '#/components/schemas/DataCash' Dengi: '#/components/schemas/Dengi' Directa24: '#/components/schemas/Directa24' EBANX: '#/components/schemas/EBANX' EPG: '#/components/schemas/EPG' EPro: '#/components/schemas/EPro' EcorePay: '#/components/schemas/EcorePay' Elavon: '#/components/schemas/Elavon' 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' 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' LPG: '#/components/schemas/LPG' Moneris: '#/components/schemas/Moneris' MtaPay: '#/components/schemas/MtaPay' Neosurf: '#/components/schemas/Neosurf' NMI: '#/components/schemas/NMI' Netbanking: '#/components/schemas/Netbanking' Neteller: '#/components/schemas/Neteller' NGenius: '#/components/schemas/NGenius' NinjaWallet: '#/components/schemas/NinjaWallet' OchaPay: '#/components/schemas/OchaPay' Onlineueberweisen: '#/components/schemas/Onlineueberweisen' Optimal: '#/components/schemas/Optimal' Pagsmile: '#/components/schemas/Pagsmile' Panamerican: '#/components/schemas/Panamerican' PandaGateway: '#/components/schemas/PandaGateway' ParamountEft: '#/components/schemas/ParamountEft' ParamountInterac: '#/components/schemas/ParamountInterac' Pay4Fun: '#/components/schemas/Pay4Fun' PayCash: '#/components/schemas/PayCash' PayPal: '#/components/schemas/PayPal' Payeezy: '#/components/schemas/Payeezy' Payflow: '#/components/schemas/Payflow' PaymenTechnologies: '#/components/schemas/PaymenTechnologies' Payr: '#/components/schemas/Payr' Paysafe: '#/components/schemas/Paysafe' Paysafecash: '#/components/schemas/Paysafecash' Payvision: '#/components/schemas/Payvision' Piastrix: '#/components/schemas/Piastrix' Plugnpay: '#/components/schemas/Plugnpay' Prosa: '#/components/schemas/Prosa' RPN: '#/components/schemas/RPN' Realex: '#/components/schemas/Realex' Realtime: '#/components/schemas/Realtime' Redsys: '#/components/schemas/Redsys' Rotessa: '#/components/schemas/Rotessa' SMSVoucher: '#/components/schemas/SMSVoucher' Sofort: '#/components/schemas/Sofort' Sagepay: '#/components/schemas/Sagepay' SeamlessChex: '#/components/schemas/SeamlessChex' SecureTrading: '#/components/schemas/SecureTrading' Skrill: '#/components/schemas/Skrill' SmartInvoice: '#/components/schemas/SmartInvoice' SparkPay: '#/components/schemas/SparkPay' StaticGateway: '#/components/schemas/StaticGateway' Stripe: '#/components/schemas/Stripe' TestProcessor: '#/components/schemas/TestProcessor' ToditoCash: '#/components/schemas/ToditoCash' UPayCard: '#/components/schemas/UPayCard' USAePay: '#/components/schemas/USAePay' VantivLitle: '#/components/schemas/VantivLitle' Wallet88: '#/components/schemas/Wallet88' Walpay: '#/components/schemas/Walpay' 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' properties: id: description: The gateway identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' status: description: The gateway account's status readOnly: true type: string enum: - active - inactive - pending - closed gatewayName: $ref: '#/components/schemas/GatewayName' acquirerName: $ref: '#/components/schemas/AcquirerName' merchantCategoryCode: description: The gateway account's merchant category code type: integer minimum: 742 maximum: 9950 dccMarkup: description: Dynamic currency conversion markup in basis points type: integer minimum: -10000 maximum: 10000 dccForceCurrency: type: string description: > Force dynamic currency conversion to the specified currency on each sale. Leave it empty to disable force DCC. descriptor: description: The gateway account's descriptor type: string cityField: description: The gateway account's city field (also known as line 2 descriptor) type: string organizationId: description: Organization ID allOf: - $ref: '#/components/schemas/ResourceId' excludedDccQuoteCurrencies: description: Excluded Dynamic Currency Conversion Quote Currencies type: array items: type: string monthlyLimit: description: Monthly Limit type: number format: double minimum: 0 approvalWindowTtl: description: >- The time window (in seconds) allotted for approving an offsite transaction before it is automatically `abandoned`. type: integer default: 3600 minimum: 300 maximum: 16777215 reconciliationWindowEnabled: description: >- If a transaction is not reconciled within the `reconciliationWindowTtl` time, then the transaction is marked as `abandoned`. type: boolean reconciliationWindowTtl: description: >- The time window (in seconds) allotted for a reconciliation to occur. If it is not reconciled in that time, then the transaction is marked as `abandoned`. type: integer minimum: 300 maximum: 16777215 threeDSecure: description: 'True, if Gateway Account allows 3DSecure' type: boolean dynamicDescriptor: description: 'True, if Gateway Account allows dynamic descriptor' type: boolean acceptedCurrencies: description: Accepted currencies (array of the currency three letter code) type: array items: type: string method: $ref: '#/components/schemas/Method' paymentCardSchemes: description: Accepted payment card brands type: array items: $ref: '#/components/schemas/PaymentCardBrand' isDown: description: True if gateway is currently in downtime period. type: boolean readOnly: true additionalCriteria: description: > The additional criteria that allows to check whether the gateway account can be selected for the transaction to be processed. allOf: - $ref: '#/components/schemas/Condition' timeout: description: Gateway Account request timeout in seconds type: integer nullable: true minimum: 10 maximum: 120 token: description: Gateway Account token type: string readOnly: true example: TwiX3f92k4AiBE27BzTbQ38hHjicBz_w createdTime: description: Gateway Account created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Gateway Account updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/OnBoardingUrlLink' ThreeDSecureServerName: description: The Merchant plug-in Name type: string enum: - Payvision3dsServer - Wirecard3dsServer - Ilixium3dsServer - DataCash3dsServer - Optimal3dsServer - Paysafe3dsServer - Ingenico3dsServer - CardinalCommerce3dsServer - Paay3dsServer - Panamerican3dsServer - eMerchantPay3dsServer - SecureTrading3dsServer - Clearhaus3dsServer - Other - ThreeDSecureIO3dsServer - WorldlineAtosFrankfurt3dsServer - Piastrix3dsServer - NGenius3dsServer - Stripe3dsServer A1Gateway3dsServers: description: A1Gateway 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other Other: description: Other allOf: - $ref: '#/components/schemas/A1Gateway3dsServers' - $ref: '#/components/schemas/eMerchantPay3dsServers' - $ref: '#/components/schemas/GET3dsServers' - $ref: '#/components/schemas/NMI3dsServers' - $ref: '#/components/schemas/Payvision3dsServers' - $ref: '#/components/schemas/VantivLitle3dsServers' - $ref: '#/components/schemas/Walpay3dsServers' - $ref: '#/components/schemas/Worldpay3dsServers' eMerchantPay3dsServers: description: eMerchantPay 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - eMerchantPay3dsServer - Other Paay3dsServer: description: Paay allOf: - $ref: '#/components/schemas/A1Gateway3dsServers' - $ref: '#/components/schemas/eMerchantPay3dsServers' - $ref: '#/components/schemas/GET3dsServers' - $ref: '#/components/schemas/NMI3dsServers' - $ref: '#/components/schemas/Payvision3dsServers' - $ref: '#/components/schemas/VantivLitle3dsServers' - $ref: '#/components/schemas/Walpay3dsServers' - $ref: '#/components/schemas/Worldpay3dsServers' - type: object required: - apiKey - secret - mpiUrl - sandboxMpiUrl properties: apiKey: type: string description: Paay ApiKey secret: type: string format: password description: Paay secret mpiUrl: type: string description: Paay 3DS Server url sandboxMpiUrl: type: string description: Paay sandbox 3DS Server url GET3dsServers: description: GET 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other NMI3dsServers: description: NMI 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other Payvision3dsServers: description: Payvision 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' CardinalCommerce3dsServer: '#/components/schemas/CardinalCommerce3dsServer' Payvision3dsServer: '#/components/schemas/Payvision3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Payvision3dsServer - Payvision3ds2Server - CardinalCommerce3dsServer - Paay3dsServer - Other CardinalCommerce3dsServer: description: CardinalCommerce 3DS Server Credentials allOf: - $ref: '#/components/schemas/Payvision3dsServers' - type: object required: - merchantId - processorId - transactionPwd properties: merchantId: type: string description: Cardinal MerchantId processorId: type: string description: Cardinal ProcessorId transactionPwd: type: string format: password description: Cardinal TransactionPwd Payvision3dsServer: description: Payvision Integrated allOf: - $ref: '#/components/schemas/Payvision3dsServers' VantivLitle3dsServers: description: VantivLitle 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other Walpay3dsServers: description: Walpay 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other Worldpay3dsServers: description: Worldpay 3DS Servers discriminator: propertyName: name mapping: Other: '#/components/schemas/Other' Paay3dsServer: '#/components/schemas/Paay3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paay3dsServer - Other A1Gateway: description: A1Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: A1Gateway credentials object properties: accountId: type: string description: A1Gateway account ID password: type: string description: A1Gateway password format: password required: - accountId - password mpi: deprecated: true allOf: - $ref: '#/components/schemas/A1Gateway3dsServers' threeDSecureServer: $ref: '#/components/schemas/A1Gateway3dsServers' Adyen: description: Adyen config 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 required: - merchantAccount - apiKey settings: type: object description: Adyen settings object properties: url: type: string description: Adyen post URL required: - url AmexVPC: description: AmexVPC config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: AmexVPC credentials object properties: merchantId: type: string description: Merchant ID accessCode: type: string description: Access Code format: password user: type: string description: 'User (used for refund, void and capture)' password: type: string description: 'Password (used for refund, void and capture)' format: password 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 config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ApcoPay credentials object properties: profileID: type: string description: ApcoPay profile ID secretWord: type: string description: ApcoPay secret word format: password MerchantID: type: string description: ApcoPay merchant ID MerchantPassword: type: string description: ApcoPay merchant password format: password required: - profileID - secretWord - MerchantID - MerchantPassword settings: type: object properties: method: type: string description: ApcoPay's method enum: - AFTERPAY - IDEAL - CREDITCLICK - BANCONTACT - ONLINEUBERWEISEN required: - method AsiaPaymentGateway: description: AsiaPaymentGateway config 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 required: - merchantNumber - secretKey AstroPayCard: description: AstroPay Card config 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 secret_key: type: string description: AstroPay Card secret key format: password required: - x_login - x_tran_key - secret_key AuthorizeNet: description: AuthorizeNet Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiLoginId: type: string description: AuthorizeNet Gateway api login ID transactionKey: description: AuthorizeNet Gateway Transaction Key type: string format: password required: - apiLoginId - transactionKey Bambora: description: Bambora Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Bambora Gateway merchant ID apiPasscode: type: string description: Bambora Gateway API Passcode format: password required: - merchantId - apiPasscode BitPay: description: BitPay Gateway config 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 required: - token BlueSnap: description: BlueSnap config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: BlueSnap credentials object properties: username: type: string description: BlueSnap merchant's api username. password: type: string description: BlueSnap merchant's api password. format: password required: - username - password BraintreePayments: description: BraintreePayments Gateway config 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 merchantId: type: string description: BraintreePayments merchant ID format: password merchantAccountId: type: string description: BraintreePayments merchant account ID format: password required: - publicKey - privateKey - merchantId - merchantAccountId CASHlib: description: CASHlib config 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 merchantId: type: string description: CASHlib merchant id required: - apiKey - merchantId CODVoucher: description: COD Voucher config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: COD Voucher credentials object properties: apiKey: type: string description: COD Voucher API key format: password apiSecret: type: string description: COD Voucher API secret format: password required: - apiKey - apiSecret Cardknox: description: Cardknox Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: xKey: type: string description: Cardknox xKey format: password required: - xKey CashToCode: description: CashToCode config 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 merchantUsername: type: string description: Merchant credentials Username merchantPassword: type: string description: Merchant credentials password format: password required: - cashToCodeUsername - cashToCodePassword - merchantUsername - merchantPassword settings: type: object properties: skipAmountSelection: type: boolean description: Skip amount selection screen default: false Cashflows: description: Cashflows Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authId: type: string description: Cashflows Gateway auth ID authPassword: type: string description: Cashflows Gateway auth password format: password required: - authPassword - authId CauriPayment: description: CauriPayment config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: CauriPayment credentials object properties: publicKey: type: string description: CauriPayment merchant's public key. privateKey: type: string description: CauriPayment merchant's private key. format: password required: - publicKey - privateKey Cayan: description: Cayan Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantSiteId: type: string description: Cayan Gateway merchant site ID merchantName: type: string description: Cayan Gateway merchant name merchantKey: type: string description: Cayan Gateway merchant key format: password required: - merchantSiteId - merchantName - merchantKey Chase: description: Chase Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: Chase Gateway Net Connect username password: type: string description: Chase Gateway Net Connect password format: password coNumber: type: string description: Chase Gateway CO Number used for delimited file reports divisionId: type: string description: Chase Gateway division ID partialAuth: type: boolean description: Support for Partial Auths default: false required: - username - password - coNumber - divisionId - partialAuth Citadel: description: Citadel config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Citadel credentials object properties: storeName: type: string description: Store name storeId: type: string description: Store ID username: type: string description: Username password: type: string description: Password format: password required: - storeName - storeId - username - password Clearhaus3dsServers: description: Clearhaus 3DS Servers discriminator: propertyName: name mapping: Clearhaus3dsServer: '#/components/schemas/Clearhaus3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Clearhaus3dsServers Clearhaus3dsServer: description: Clearhaus 3DS Server Credentials allOf: - $ref: '#/components/schemas/Clearhaus3dsServers' - type: object required: - merchantId - acquirerBin - apiKey properties: merchantId: type: string description: >- Merchant account ID or Card Acceptor ID provided by the acquiring bank. acquirerBin: type: string description: Acquiring institution identification code. apiKey: type: string format: password description: 3DS Server Api key Clearhaus: description: Clearhaus Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Clearhaus api key format: password required: - apiKey mpi: deprecated: true allOf: - $ref: '#/components/schemas/Clearhaus3dsServers' threeDSecureServer: $ref: '#/components/schemas/Clearhaus3dsServers' Conekta: description: Conekta config 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 required: - apiKey Coppr: description: Coppr config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Coppr credentials object properties: organizationId: type: string description: Coppr Organization's ID apiKey: type: string description: Coppr api key format: password required: - organizationId - apiKey settings: type: object description: Coppr settings object properties: rebillyPublishableKey: type: string description: >- Rebilly publishable api key. If provided a payment token will be created for each transaction. Credorax: description: Credorax Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Credorax Gateway merchant ID merchantMd5Signature: type: string description: Credorax Gateway md5 signature format: password required: - merchantId - merchantMd5Signature Cryptonator: description: Cryptonator config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Cryptonator credentials object properties: merchant_id: type: string description: Cryptonator merchant ID secret: type: string description: Cryptonator secret format: password required: - merchant_id - secret DataCash3dsServers: description: DataCash 3DS Servers discriminator: propertyName: name mapping: DataCash3dsServer: '#/components/schemas/DataCash3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - DataCash3dsServer DataCash3dsServer: description: DataCash Integrated allOf: - $ref: '#/components/schemas/DataCash3dsServers' DataCash: description: DataCash Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: client: type: string description: DataCash Gateway client password: type: string description: DataCash Gateway password format: password reportGroup: type: string description: DataCash report group reportUser: type: string description: DataCash report user reportPassword: type: string description: DataCash report password format: password visaPayoutsClient: type: string description: DataCash Gateway client for Visa payouts (OCT) visaPayoutsPassword: type: string description: DataCash Gateway password for Visa payouts (OCT) format: password masterCardPayoutsClient: type: string description: DataCash Gateway client for MasterCard payouts (OCT) masterCardPayoutsPassword: type: string description: DataCash Gateway password for MasterCard payouts (OCT) format: password 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: Auto Capture delay (in hours) minimum: 0 default: 0 mpi: deprecated: true allOf: - $ref: '#/components/schemas/DataCash3dsServers' threeDSecureServer: $ref: '#/components/schemas/DataCash3dsServers' Dengi: description: Dengi Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: projectId: type: string description: Dengi Gateway project ID publicKey: type: string description: Dengi Gateway public key format: password refundKey: type: string description: Dengi Gateway refund key format: password required: - projectId - publicKey - refundKey Directa24Banks: type: string enum: - CU - SE - BV - BM - SM - OX - BQ - EN - FA - BW - SS - SU - WA - FB - TC - I - BB - B - CA - SB - BL - NB - UI Directa24: description: Directa24 config 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 secret_key: type: string description: Directa24 secret key format: password 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 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 which will show on hook page items: $ref: '#/components/schemas/Directa24Banks' skipStep: type: boolean description: Skip step for user to enter their personal information. EBANX: description: EBANX config 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 required: - integrationKey EPG: description: EPG config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EPG credentials object properties: merchantId: type: string description: Merchant ID productId: type: string description: Product ID merchantPassword: type: string description: Merchant password format: password merchantKey: type: string description: Merchant key format: password required: - merchantId - productId - merchantPassword - merchantKey EPro: description: EPro config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: EPro credentials object properties: apiSecretKey: type: string description: EPro API secret key format: password required: - apiSecretKey EcorePay: description: EcorePay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: EcorePay Account ID accountAuth: type: string description: EcorePay Account Auth format: password required: - accountId - accountAuth Elavon: description: Elavon config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Elavon credentials object properties: ssl_merchant_id: type: string description: Elavon merchant ID ssl_user_id: type: string description: Elavon user ID ssl_pin: type: string description: Elavon pin format: password required: - ssl_merchant_id - ssl_user_id - ssl_pin FinTecSystems: description: FinTecSystems config 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 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 config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Finrax credentials object properties: businessId: type: string description: Finrax Business Id apiKey: type: string description: Finrax API Key apiSecret: type: string description: Finrax API Secret format: password required: - businessId - apiKey - apiSecret Flexepin: description: Flexepin Gateway config 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 required: - apiKey - apiSecret Forte: description: Forte Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: Forte Gateway account ID locationId: type: string description: Forte Gateway location ID apiAccessId: type: string description: Forte Gateway api access ID format: password apiSecretKey: type: string description: Forte Gateway api secret key format: password required: - accountId - locationId - apiAccessId - apiSecretKey FundSend: description: FundSend Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: FundSend Gateway client ID secretWord: type: string description: FundSend Gateway secret word format: password required: - clientId - secretWord GET: description: GET Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: accountId: type: string description: GET Gateway account ID required: - accountId mpi: deprecated: true allOf: - $ref: '#/components/schemas/GET3dsServers' threeDSecureServer: $ref: '#/components/schemas/GET3dsServers' Gigadat: description: Gigadat config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Gigadat credentials object properties: campaignId: type: string description: Gigadat campaign ID accessToken: type: string description: Gigadat access token format: password securityToken: type: string description: Gigadat security token format: password required: - campaignId - accessToken - securityToken settings: type: object properties: sandbox: type: boolean description: True if gateway account is in sandbox mode default: false required: - sandbox GlobalOne: description: GlobalOne Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: terminalId: type: string description: GlobalOne Gateway terminal ID sharedSecret: type: string description: GlobalOne Gateway shared secret format: password required: - terminalId - sharedSecret Gooney: description: Gooney config 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 apiKey: type: string description: Gooney API key apiSecret: type: string description: Gooney API secret format: password required: - username - password - apiKey - apiSecret Gpaysafe: description: Gpaysafe Gateway config 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 config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Greenbox credentials object properties: clientId: type: string description: Greenbox client ID locationId: type: string description: Greenbox location ID clientSecret: type: string description: Greenbox client secret format: password required: - clientId - clientSecret - locationId INOVAPAY: description: INOVAPAY config 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 required: - apiKey - apiSecret Ilixium3dsServers: description: Ilixium3dsServers 3DS Servers discriminator: propertyName: name mapping: Ilixium3dsServer: '#/components/schemas/Ilixium3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Ilixium3dsServer Ilixium3dsServer: description: Ilixium Integrated allOf: - $ref: '#/components/schemas/Ilixium3dsServers' Ilixium: description: Ilixium Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Ilixium credentials object properties: merchantId: type: string description: Ilixium Gateway merchant ID accountId: type: string description: Ilixium Gateway account ID digestPassword: type: string description: Ilixium Gateway digest password format: password required: - merchantId - accountId - digestPassword settings: type: object description: Ilixium settings object properties: useIpFrame: type: boolean description: Force Ilixium to process via Ip Frame mpi: deprecated: true allOf: - $ref: '#/components/schemas/Ilixium3dsServers' threeDSecureServer: $ref: '#/components/schemas/Ilixium3dsServers' Ingenico3dsServers: description: Ingenico 3DS Servers discriminator: propertyName: name mapping: Ingenico3dsServer: '#/components/schemas/Ingenico3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Ingenico3dsServer Ingenico3dsServer: description: Ingenico Integrated allOf: - $ref: '#/components/schemas/Ingenico3dsServers' Ingenico: description: Ingenico Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Ingenico Gateway merchant ID apiKeyId: type: string description: Ingenico Gateway api key ID apiSecretKey: type: string description: Ingenico Gateway api secret key format: password skipFraudService: type: boolean description: Ingenico skip fraud service required: - merchantId - apiKeyId - apiSecretKey mpi: deprecated: true allOf: - $ref: '#/components/schemas/Ingenico3dsServers' threeDSecureServer: $ref: '#/components/schemas/Ingenico3dsServers' Inovio3dsServers: description: Inovio 3DS Servers discriminator: propertyName: name mapping: Inovio3dsServer: '#/components/schemas/Inovio3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Inovio3dsServer Inovio3dsServer: description: Inovio Integrated allOf: - $ref: '#/components/schemas/Inovio3dsServers' Inovio: description: Inovio config 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 required: - username - password settings: type: object description: Inovio settings object properties: websiteId: type: string description: Inovio website ID merchantAccountId: type: string description: Inovio merchant account ID productId: type: string description: Inovio product ID required: - websiteId - merchantAccountId - productId mpi: deprecated: true allOf: - $ref: '#/components/schemas/Inovio3dsServers' threeDSecureServer: $ref: '#/components/schemas/Inovio3dsServers' InstaDebit: description: InstaDebit config 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 required: - merchantId - password Intuit: description: Intuit Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: The Intuit client_id key clientSecret: type: string description: The Intuit client_secret key format: password required: - clientId - clientSecret IpayOptions: description: Ipay Options config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Ipay Options credentials object properties: sid: type: string description: Ipay Options website ID rcode: type: string description: Ipay Options rcode format: password required: - sid - rcode settings: type: object description: Ipay Options settings object properties: extraStep: type: boolean description: Show extra step for user to 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 will process. enum: - SOAP - TxHandler JetPay: description: JetPay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: TerminalID: type: string description: JetPay Gateway terminal ID required: - TerminalID Jeton: description: Jeton Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Jeton apiKey format: password required: - apiKey settings: type: object properties: method: type: string description: Jeton's method enum: - CHECKOUT - DIRECT - QR - JETGO required: - method LPG: description: LPG config 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 payoutUsername: type: string description: LPG payout account username format: password payoutPassword: type: string description: LPG payout account password format: password required: - publicKey - secureKey Moneris: description: Moneris Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiToken: type: string description: Moneris Gateway api token format: password storeId: type: string description: Moneris Gateway store ID required: - storeId - apiToken MtaPay: description: MTA Pay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object properties: accountId: type: string description: MTA Pay Gateway account ID partyId: type: string description: MTA Pay Gateway party ID md5key: type: string description: MTA Pay Gateway md5key format: password required: - accountId - partyId - md5key settings: type: object description: MTA Pay settings object properties: goods: type: string description: MTA Pay Gateway goods mobilePay: type: string description: MTA Pay Gateway mobile pay param required: - mobilePay - goods Neosurf: description: Neosurf config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Neosurf credentials object properties: merchantId: type: string description: Neosurf merchant ID secretKey: type: string description: Neosurf API secret key format: password required: - merchantId - secretKey NMI: description: NMI Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: NMI Gateway api token password: type: string description: NMI Gateway store ID format: password required: - username - password mpi: deprecated: true allOf: - $ref: '#/components/schemas/NMI3dsServers' threeDSecureServer: $ref: '#/components/schemas/NMI3dsServers' Netbanking: description: Netbanking config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Netbanking credentials object properties: midcode: type: string description: Netbanking MID code midsecret: type: string description: Netbanking MID secret key format: password required: - midcode - midsecret Neteller: description: Neteller Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Neteller credentials object properties: paysafePaymentsApiUsername: type: string description: Neteller App Paysafe Payments API Username for a private key paysafePaymentsApiPassword: type: string description: Neteller App Paysafe Payments API Password for a private key format: password required: - paysafePaymentsApiUsername - paysafePaymentsApiPassword settings: type: object properties: populateCustomerEmail: type: boolean description: Populate customer email for payment NGenius3dsServers: description: NGenius 3DS Servers discriminator: propertyName: name mapping: NGenius3dsServer: '#/components/schemas/NGenius3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - NGenius3dsServer NGenius3dsServer: description: NGenius Integrated allOf: - $ref: '#/components/schemas/NGenius3dsServers' NGenius: description: NGenius config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: NGenius credentials object properties: outletId: type: string description: NGenius outlet ID apiKey: type: string description: NGenius API key format: password required: - outletId - apiKey mpi: deprecated: true allOf: - $ref: '#/components/schemas/NGenius3dsServers' threeDSecureServer: $ref: '#/components/schemas/NGenius3dsServers' NinjaWallet: description: NinjaWallet config 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 secret: type: string description: NinjaWallet secret format: password passphrase: type: string description: NinjaWallet passphrase format: password required: - apiKey - secret - passphrase OchaPay: description: OchaPay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiUsername: type: string description: OchaPay Gateway username apiPassword: type: string description: OchaPay Gateway api password format: password secretWord: type: string description: OchaPay Gateway secret word format: password required: - apiUsername - apiPassword - secretWord Onlineueberweisen: description: Onlineueberweisen config 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 nuaPayApiKey: type: string description: NuaPay API Key for reconciliation format: password nuaPayAccountId: type: string description: NuaPay account ID for reconciliation required: - apiKey settings: type: object description: Onlineueberweisen settings object properties: payformCode: type: string description: >- Onlineueberweisen payform code to use customized Payform template default: default autoAbandonTtl: type: integer description: Auto-abandon if transaction is not reconciled after x hours required: - autoAbandonTtl Optimal3dsServers: description: Optimal 3DS Servers discriminator: propertyName: name mapping: Optimal3dsServer: '#/components/schemas/Optimal3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Optimal3dsServer Optimal3dsServer: description: Optimal Integrated allOf: - $ref: '#/components/schemas/Optimal3dsServers' Optimal: description: Optimal Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: storeId: type: string description: Optimal Gateway store ID storePwd: type: string description: Optimal Gateway store password format: password accountNum: type: string description: Optimal Gateway account number required: - storeId - storePwd - accountNum mpi: deprecated: true allOf: - $ref: '#/components/schemas/Optimal3dsServers' threeDSecureServer: $ref: '#/components/schemas/Optimal3dsServers' Pagsmile: description: Pagsmile Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Pagsmile merchant ID appId: type: string description: Pagsmile app ID secretKey: type: string description: Pagsmile secret key format: password required: - merchantId - appId - secretKey Panamerican3dsServers: description: Panamerican 3DS Servers discriminator: propertyName: name mapping: Panamerican3dsServer: '#/components/schemas/Panamerican3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Panamerican3dsServer Panamerican3dsServer: description: Panamerican Integrated allOf: - $ref: '#/components/schemas/Panamerican3dsServers' Panamerican: description: Panamerican config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: credentials: type: object description: Panamerican credentials object properties: key: type: string description: Panamerican's key password: type: string description: Panamerican's Password format: password required: - key - password mpi: deprecated: true allOf: - $ref: '#/components/schemas/Panamerican3dsServers' threeDSecureServer: $ref: '#/components/schemas/Panamerican3dsServers' settings: type: object description: Panamerican settings object properties: extraStep: type: boolean description: Show extra step for user to enter their ID number convertToAscii: type: boolean description: Will convert all chars to ascii required: - extraStep PandaGateway: description: Panda Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Panda Gateway merchant code apiCode: type: string description: Panda Gateway api code signKey: type: string description: Panda Gateway sign key format: password required: - merchantCode - apiCode - signKey ParamountEft: description: Paramount config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Paramount credentials object properties: merchant_id: type: string description: Merchant account ID merchant_pass: type: string description: Merchant account password format: password payee: type: string description: Merchant name/descriptor required: - merchant_id - merchant_pass - payee ParamountInterac: description: ParamountInterac config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ParamountInterac credentials object properties: merchantId: type: string description: ParamountInterac merchant ID encryptionKey: type: string description: ParamountInterac encryption key format: password required: - merchantId - encryptionKey Pay4Fun: description: Pay4Fun config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Pay4Fun credentials object properties: merchantId: type: string description: Pay4Fun merchant ID merchantSecret: type: string description: Pay4Fun merchant secret format: password merchantKey: type: string description: Pay4Fun merchant key format: password required: - merchantId - merchantSecret - merchantKey PayCash: description: PayCash config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: PayCash credentials object properties: emisor: type: string description: Identify of the company token: type: string description: Token format: password required: - emisor - token PayPal: description: PayPal Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantIdInPayPal: type: string description: PayPal Gateway merchant id required: - merchantIdInPayPal Payeezy: description: Payeezy Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Payeezy Merchant ID merchantToken: type: string description: Merchant Token format: password apiKey: type: string description: API Key apiSecret: type: string description: API Secret format: password required: - merchantId - merchantToken - apiKey - apiSecret Payflow: description: Payflow config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Payflow credentials object properties: user: type: string description: >- If you set up one or more additional users on the account, this value is the ID of the user authorized to process transactions. If, however, you have not set up additional users, USER has the same value as VENDOR vendor: type: string description: >- Your merchant login ID created when you registered for the account. password: type: string description: The password you defined while registering for the account. format: password required: - user - vendor - password PaymenTechnologies: description: PaymenTechnologies Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authenticateId: type: string description: PaymenTechnologies Gateway authenticate ID authenticatePw: type: string description: PaymenTechnologies Gateway authenticate password format: password publicKey: type: string description: PaymenTechnologies Gateway API public key secretKey: type: string description: PaymenTechnologies Gateway API secret key format: password apiKey: type: string description: PaymenTechnologies API key required for query operations format: password required: - authenticateId - authenticatePw - publicKey - secretKey - apiKey settings: type: object properties: use3DSEndpoint: type: boolean description: Use 3DS endpoint Payr: description: Payr Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: Payr Gateway client ID secretWord: type: string description: Payr Gateway secret word format: password apiUserId: type: string description: Username for the Alliance API (transaction reporting) apiSecurityToken: type: string description: >- Hash of the password for the Alliance API (transaction reporting) format: password required: - clientId - secretWord Paysafe3dsServers: description: Paysafe 3DS Servers discriminator: propertyName: name mapping: Paysafe3dsServer: '#/components/schemas/Paysafe3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Paysafe3dsServer Paysafe3dsServer: description: Paysafe Integrated allOf: - $ref: '#/components/schemas/Paysafe3dsServers' Paysafe: description: Paysafe Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: storeId: type: string description: Paysafe Gateway store ID storePwd: type: string description: Paysafe Gateway store password format: password accountNum: type: string description: Paysafe Gateway account number required: - storeId - storePwd - accountNum mpi: deprecated: true allOf: - $ref: '#/components/schemas/Paysafe3dsServers' threeDSecureServer: $ref: '#/components/schemas/Paysafe3dsServers' Paysafecash: description: Paysafecash Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: apiKey: type: string description: Paysafecash API key format: password required: - apiKey Payvision: description: Payvision Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: memberId: type: string description: Payvision Gateway member id memberGuid: type: string description: Payvision Gateway member guid format: password required: - memberId - memberGuid settings: type: object description: Payvision settings object properties: avs: type: boolean description: Payvision Gateway avs delay: type: integer description: Payvision Gateway delay merchantAccountType: type: integer description: Payvision merchant account type required: - merchantAccountType mpi: deprecated: true allOf: - $ref: '#/components/schemas/Payvision3dsServers' threeDSecureServer: $ref: '#/components/schemas/Payvision3dsServers' Piastrix3dsServers: description: Piastrix 3DS Servers discriminator: propertyName: name mapping: Piastrix3dsServer: '#/components/schemas/Piastrix3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Piastrix3dsServer Piastrix3dsServer: description: Piastrix Integrated allOf: - $ref: '#/components/schemas/Piastrix3dsServers' Piastrix: description: Piastrix config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Piastrix credentials object properties: shopId: type: string description: Shop ID secretKey: type: string description: Secret Key format: password required: - shopId - secretKey mpi: deprecated: true allOf: - $ref: '#/components/schemas/Piastrix3dsServers' threeDSecureServer: $ref: '#/components/schemas/Piastrix3dsServers' Plugnpay: description: Plugnpay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: publisher-name: type: string description: Plugnpay Gateway member id publisher-password: type: string description: Plugnpay Gateway avs format: password required: - publisher-name - publisher-password Prosa: description: Prosa config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Prosa credentials object properties: entityId: type: string description: Entity ID accessToken: type: string description: Access token format: password required: - entityId - accessToken RPN: description: RPN Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: mid: type: string description: RPN MID key: type: string description: RPN Key format: password required: - mid - key Realex: description: Realex Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantId: type: string description: Realex Gateway merchant id secretKey: type: string description: Realex Gateway secret key format: password rebatePassword: type: string description: Realex Gateway rebate password format: password account: type: string description: Realex Gateway account required: - merchantId - secretKey - rebatePassword - account Realtime: description: Realtime Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: Realtime Gateway client ID secretWord: type: string description: Realtime Gateway secret word format: password required: - clientId - secretWord Redsys: description: Redsys Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Redsys Gateway merchant code format: password secretCode: type: string description: Redsys Gateway secret code format: password required: - merchantCode - secretCode Rotessa: description: Rotessa config 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 required: - apiKey settings: type: object description: Rotessa settings object properties: delay: type: integer description: Rotessa Gateway time delay for them to process transaction required: - delay SMSVoucher: description: SMSVoucher Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: AppId: type: string description: SMSVoucher AppId required: - AppId Sofort: description: Sofort config 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 nuaPayApiKey: type: string description: NuaPay API Key for reconciliation format: password nuaPayAccountId: type: string description: NuaPay account ID for reconciliation required: - configKey settings: type: object description: Sofort settings object properties: autoAbandonTtl: type: integer description: Auto-abandon if transaction is not reconciled after x hours Sagepay: description: Sagepay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: M_ID: type: string description: Sagepay Gateway merchant ID M_KEY: type: string description: Sagepay Gateway merchant key format: password required: - M_ID - M_KEY SeamlessChex: description: SeamlessChex config 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 required: - publicKey - secretKey SecureTrading3dsServers: description: SecureTrading 3DS Servers discriminator: propertyName: name mapping: SecureTrading3dsServer: '#/components/schemas/SecureTrading3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - SecureTrading3dsServer SecureTrading3dsServer: description: SecureTrading 3DS Server allOf: - $ref: '#/components/schemas/SecureTrading3dsServers' SecureTrading: description: SecureTrading config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SecureTrading credentials object properties: websiteId: type: string description: Website ID username: type: string description: SecureTrading web service username password: type: string description: SecureTrading web service password format: password required: - websiteId - username - password mpi: deprecated: true allOf: - $ref: '#/components/schemas/SecureTrading3dsServers' threeDSecureServer: $ref: '#/components/schemas/SecureTrading3dsServers' Skrill: description: Skrill config 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 mqiPassword: type: string description: Password used during MQI/API requests format: password required: - accountEmail - secretWord SmartInvoice3dsServers: description: SmartInvoice 3DS Servers discriminator: propertyName: name mapping: SmartInvoice3dsServer: '#/components/schemas/SmartInvoice3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - SmartInvoice3dsServer SmartInvoice3dsServer: description: SmartInvoice Integrated allOf: - $ref: '#/components/schemas/SmartInvoice3dsServers' SmartInvoice: description: SmartInvoice config 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 required: - merchantId - applicationId mpi: deprecated: true allOf: - $ref: '#/components/schemas/SmartInvoice3dsServers' threeDSecureServer: $ref: '#/components/schemas/SmartInvoice3dsServers' SparkPay: description: SparkPay config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: SparkPay credentials object properties: shopId: type: string description: SparkPay shop ID secretKey: type: string description: SparkPay secret key format: password required: - shopId - secretKey StaticGateway: description: StaticGateway Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object Stripe3dsServers: description: Stripe 3DS Servers discriminator: propertyName: name mapping: Stripe3dsServer: '#/components/schemas/Stripe3dsServer' type: object properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Stripe3dsServer Stripe3dsServer: description: Stripe Integrated allOf: - $ref: '#/components/schemas/Stripe3dsServers' - type: object properties: enforceThreeDSecure: type: boolean description: >- If true, Stripe will attempt to perform 3D Secure and overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds). Stripe: description: Stripe Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: redirectUrl: type: string description: Stripe Gateway redirect url format: url required: - redirectUrl settings: type: object description: Stripe settings object properties: usePaymentIntents: type: boolean description: >- If `true` the `PaymentIntents` API will be used instead of `Charges` API. default: false mpi: deprecated: true allOf: - $ref: '#/components/schemas/Stripe3dsServers' threeDSecureServer: $ref: '#/components/schemas/Stripe3dsServers' TestProcessor3dsServers: description: TestProcessor3dsServers 3DS Servers discriminator: propertyName: name mapping: TestSandbox3dsServer: '#/components/schemas/TestProcessor3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - TestSandbox3dsServer TestProcessor3dsServer: description: TestProcessor Integrated allOf: - $ref: '#/components/schemas/TestProcessor3dsServers' TestProcessor: description: TestProcessor Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object properties: mpi: deprecated: true allOf: - $ref: '#/components/schemas/TestProcessor3dsServers' threeDSecureServer: $ref: '#/components/schemas/TestProcessor3dsServers' ToditoCash: description: ToditoCash config 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 required: - apiKey UPayCard: description: UPayCard Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: receiver_account: type: string description: merchant receiver account key: type: string description: merchant key format: password secret: type: string description: merchant secret format: password required: - receiver_account - key - secret settings: type: object description: UpayCard settings object properties: tolerancePercentage: type: string description: Tolerance paercentage for settled amount USAePay: description: USAePay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: sourceKey: type: string description: USAePay Gateway source key format: password pin: type: string description: USAePay Gateway pin format: password required: - sourceKey - pin VantivLitle: description: VantivLitle Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: username: type: string description: VantivLitle Gateway username password: type: string description: VantivLitle Gateway password format: password merchantId: type: string description: VantivLitle Gateway merchant ID required: - username - password - merchantId mpi: deprecated: true allOf: - $ref: '#/components/schemas/VantivLitle3dsServers' threeDSecureServer: $ref: '#/components/schemas/VantivLitle3dsServers' Wallet88: description: Wallet88 config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: Wallet88 credentials object properties: username: type: string description: Wallet88 API user password: type: string description: Wallet88 API password format: password required: - username - password Walpay: description: Walpay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantName: type: string description: Walpay Gateway merchant name merchantPin: type: string description: Walpay Gateway merchant pin format: password required: - merchantName - merchantPin mpi: deprecated: true allOf: - $ref: '#/components/schemas/Walpay3dsServers' threeDSecureServer: $ref: '#/components/schemas/Walpay3dsServers' Wirecard3dsServers: description: Wirecard 3DS Servers discriminator: propertyName: name mapping: Wirecard3dsServer: '#/components/schemas/Wirecard3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - Wirecard3dsServer Wirecard3dsServer: description: Wirecard Integrated allOf: - $ref: '#/components/schemas/Wirecard3dsServers' Wirecard: description: Wirecard Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantUsername: type: string description: Wirecard Gateway merchant username merchantPassword: type: string description: Wirecard Gateway merchant password format: password businessSignature: type: string description: Wirecard Gateway merchant business case signature format: password delay: type: integer description: Wirecard Gateway delay sftpUsername: type: string description: Wirecard sftp username. sftpPrivateKey: type: string description: Wirecard sftp private key. format: password required: - merchantUsername - merchantPassword - businessSignature - delay mpi: deprecated: true allOf: - $ref: '#/components/schemas/Wirecard3dsServers' threeDSecureServer: $ref: '#/components/schemas/Wirecard3dsServers' WorldlineAtosFrankfurt3dsServers: description: WorldlineAtosFrankfurt 3DS Servers discriminator: propertyName: name mapping: ThreeDSecureIO3dsServer: '#/components/schemas/ThreeDSecureIO3dsServer' type: object required: - name properties: name: allOf: - $ref: '#/components/schemas/ThreeDSecureServerName' enum: - ThreeDSecureIO3dsServer ThreeDSecureIO3dsServer: description: ThreeDSecureIO3dsServer allOf: - $ref: '#/components/schemas/WorldlineAtosFrankfurt3dsServers' - type: object required: - merchantId - merchantName - merchantAcquirerBinVisa - merchantAcquirerBinMastercard - merchantCountry - merchantUrl properties: merchantId: type: string description: Merchant Id maxLength: 24 merchantName: type: string description: Merchant Name maxLength: 25 merchantAcquirerBinVisa: type: string description: Visa Acquirer BIN minLength: 6 maxLength: 11 merchantAcquirerBinMastercard: type: string description: Mastercard Acquirer BIN minLength: 6 maxLength: 11 merchantCountry: type: string description: Merchant Country ISO Alpha-2 Code maxLength: 2 example: US merchantUrl: type: string description: Merchant URL maxLength: 2048 v1: type: boolean description: | Value determines if requests can use version 1 of 3DS. In case both v1 and v2 are enabled it will prefer v2. If v2 is not supported for the issuer, it will coalesce to v1. v2: type: boolean description: | Value determines if requests will attempt version 2 of 3DS. In case both v1 and v2 are enabled it will prefer v2. If v2 is not supported for the issuer, it will coalesce to v1. WorldlineAtosFrankfurt: description: WorldlineAtosFrankfurt Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials - settings properties: mpi: deprecated: true allOf: - $ref: '#/components/schemas/WorldlineAtosFrankfurt3dsServers' threeDSecureServer: $ref: '#/components/schemas/WorldlineAtosFrankfurt3dsServers' credentials: type: object description: WorldlineAtosFrankfurt credentials properties: cardAcceptorIdCode: type: string description: Card Acceptor ID Code acquiringInstitutionIdentificationCode: type: string description: Acquiring Institution Identification Code required: - cardAcceptorIdCode - acquiringInstitutionIdentificationCode settings: type: object description: WorldlineAtosFrankfurt settings properties: cardAcceptorName: type: string description: Card Acceptor Name cardAcceptorLocation: type: string description: Card Acceptor Location cardAcceptorCountryCode: type: string description: Card Acceptor Country Code required: - cardAcceptorName - cardAcceptorLocation - cardAcceptorCountryCode Worldpay: description: Worldpay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: merchantCode: type: string description: Worldpay Gateway merchant code format: password merchantPassword: type: string description: Worldpay Gateway merchant password format: password required: - merchantCode - merchantPassword mpi: deprecated: true allOf: - $ref: '#/components/schemas/Worldpay3dsServers' threeDSecureServer: $ref: '#/components/schemas/Worldpay3dsServers' Zotapay: description: Zotapay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: endpointId: type: string description: Zotapay's endpoint ID merchantId: type: string description: Zotapay's merchant ID merchantSecretKey: type: string description: Zotapay's merchant secret key format: password required: - endpointId - merchantId - merchantSecretKey eMerchantPay: description: eMerchantPay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: eMerchantPay Gateway client ID apiKey: type: string description: eMerchantPay Gateway api key format: password username: type: string description: eMerchantPay username for Genesis platform token: type: string description: eMerchantPay token for Genesis platform password: type: string description: eMerchantPay password for Genesis platform format: password settings: type: object description: eMerchantPay settings object properties: platform: type: string description: eMerchantPay platform to process payment. default to IPG enum: - IPG - Genesis mpi: deprecated: true allOf: - $ref: '#/components/schemas/eMerchantPay3dsServers' threeDSecureServer: $ref: '#/components/schemas/eMerchantPay3dsServers' ecoPayz: description: ecoPayz config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object description: ecoPayz credentials object properties: paymentPageId: type: string description: ecoPayz payment page ID merchantAccountNumber: type: string description: ecoPayz merchant account number merchantPassword: type: string description: ecoPayz merchant password format: password required: - paymentPageId - merchantAccountNumber - merchantPassword settings: type: object description: ecoPayz settings object properties: validCurrency: type: string description: Three letter currency code enum: - CAD - EUR - GBP - USD required: - validCurrency iCanPay: description: iCanPay Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: authenticateId: type: string description: iCanPay Gateway authenticate ID authenticatePw: type: string description: iCanPay Gateway authenticate password format: password publicKey: type: string description: iCanPay Gateway API public key secretKey: type: string description: iCanPay Gateway API secret key format: password required: - authenticateId - authenticatePw - publicKey - secretKey settings: type: object properties: use3DSEndpoint: type: boolean description: Use 3DS endpoint iCheque: description: iCheque Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: clientId: type: string description: iCheque Gateway client ID secretWord: type: string description: iCheque Gateway secret word format: password apiUserId: type: string description: Username for the Alliance API (transaction reporting) apiSecurityToken: type: string description: >- Hash of the password for the Alliance API (transaction reporting) format: password required: - clientId - secretWord iDebit: description: iDebit config 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 required: - merchantId - password vegaaH: description: vegaaH Gateway config allOf: - $ref: '#/components/schemas/GatewayAccount' - type: object required: - credentials properties: credentials: type: object properties: terminalId: type: string description: vegaaH Gateway terminal ID password: type: string description: vegaaH Gateway password format: password required: - terminalId - password GatewayAccountEmbed: type: object description: Gateway Account object readOnly: true properties: gatewayAccount: $ref: '#/components/schemas/GatewayAccount' AuthTransactionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - authTransaction required: - rel AuthTransactionEmbed: type: object description: Auth Transaction object readOnly: true properties: authTransaction: $ref: '#/components/schemas/Transactions_Transaction' PaymentCard: type: object required: - customerId properties: id: description: The card identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' method: description: The method of payment instrument. type: string readOnly: true enum: - payment-card bin: description: The card's bin (the PAN's first 6 digits) type: string format: bin readOnly: true last4: description: The PAN's last 4 digits type: string readOnly: true expYear: description: Card's expiry year. type: integer expMonth: description: Card's expiry month. type: integer billingAddress: description: The Billing Address. allOf: - $ref: '#/components/schemas/ContactObject' fingerprint: description: >- A unique value to identify the PAN regardless of expiration dates. It contains alphanumeric values. type: string readOnly: true browserData: $ref: '#/components/schemas/BrowserData' panFingerprint: deprecated: true description: >- A unique value to identify the PAN regardless of expiration dates. It contains alphanumeric values. Use `fingerprint` instead. type: string readOnly: true status: description: > Payment Card status. When a card is `active` it means it has been used at least once for an approved transaction. To remove a card from being in use, set it as `deactivated` (see the deactivation endpoint). type: string readOnly: true enum: - active - expired - inactive - deactivated - pending - verification-needed brand: readOnly: true allOf: - $ref: '#/components/schemas/PaymentCardBrand' bankCountry: description: Payment Card bank country type: string readOnly: true bankName: description: Payment Card bank name type: string readOnly: true stickyGatewayAccountId: description: Default Gateway Account ID used for transactions type: string readOnly: true createdTime: description: Card created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Card updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' expirationReminderTime: description: Date and time at which an expiration reminder event is triggered. nullable: true type: string format: date-time readOnly: true expirationReminderNumber: description: Number of expiration reminder events triggered type: integer readOnly: true customFields: $ref: '#/components/schemas/ResourceCustomFields' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/AuthTransactionLink' - $ref: '#/components/schemas/ApprovalUrlLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/AuthTransactionEmbed' - $ref: '#/components/schemas/CustomerEmbed' PaymentCardEmbed: type: object description: Payment Card object readOnly: true properties: paymentCard: $ref: '#/components/schemas/PaymentCard' BankAccountEmbed: type: object description: Bank Account object readOnly: true properties: bankAccount: $ref: '#/components/schemas/BankAccount' InvoicesEmbed: type: object description: Invoices collection readOnly: true properties: invoices: type: array items: $ref: '#/components/schemas/Invoices_Invoice' TransactionEmbed: type: object description: Transaction object readOnly: true properties: transaction: $ref: '#/components/schemas/Transactions_Transaction' Dispute: type: object required: - currency - transactionId - postedTime - type - status - reasonCode properties: id: description: The dispute identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The dispute's customer ID type: string readOnly: true transactionId: description: The dispute's transaction ID type: string currency: allOf: - $ref: '#/components/schemas/CurrencyCode' amount: description: The dispute amount type: number format: double acquirerReferenceNumber: description: The dispute's acquirer reference number type: string reasonCode: description: The dispute's reason code type: string enum: - '1000' - '10.1' - '10.2' - '10.3' - '10.4' - '10.5' - '11.1' - '11.2' - '11.3' - '12' - '12.1' - '12.2' - '12.3' - '12.4' - '12.5' - '12.6' - '12.7' - '13.1' - '13.2' - '13.3' - '13.4' - '13.5' - '13.6' - '13.7' - '13.8' - '13.9' - '2' - '30' - '31' - '35' - '37' - '40' - '41' - '42' - '46' - '47' - '49' - '50' - '53' - '54' - '55' - '57' - '59' - '60' - '62' - '7' - '70' - '71' - '72' - '73' - '74' - '75' - '76' - '77' - '79' - '8' - '80' - '81' - '82' - '83' - '85' - '86' - '93' - '00' - '63' - A01 - A02 - A08 - F10 - F14 - F22 - F24 - F29 - C02 - C04 - C05 - C08 - C14 - C18 - C28 - C31 - C32 - M10 - M49 - P01 - P03 - P04 - P05 - P07 - P08 - P22 - P23 - R03 - R13 - M01 - FR1 - FR4 - FR6 - AL - AP - AW - CA - CD - CR - DA - DP - DP1 - EX - IC - IN - IS - LP - 'N' - NA - NC - P - RG - RM - RN1 - RN2 - SV - TF - TNM - UA01 - UA02 - UA32 - UA99 - UA03 - UA10 - UA11 - UA12 - UA18 - UA20 - UA21 - UA22 - UA23 - UA28 - UA30 - UA31 - UA38 - duplicate - fraudulent - subscription_canceled - product_unacceptable - product_not_received - unrecognized - credit_not_processed - customer_initiated - incorrect_account_details - insufficient_funds - bank_cannot_process - debit_not_authorized - general category: description: The dispute's category type: string readOnly: true enum: - fraud - unrecognized - product-not-received - product-unacceptable - product-not-refunded - duplicate - subscription-canceled - uncategorized type: description: The dispute's type type: string enum: - information-request - first-chargeback - second-chargeback - arbitration status: description: The dispute's status type: string enum: - response-needed - under-review - forfeited - won - lost - unknown postedTime: description: Dispute posted time type: string format: date-time deadlineTime: description: Dispute deadline time type: string format: date-time rawResponse: description: Dispute raw response from gateway type: string readOnly: true resolvedTime: description: Dispute resolved time allOf: - $ref: '#/components/schemas/ServerTimestamp' createdTime: description: Dispute created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Dispute updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/TransactionLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/TransactionEmbed' EventType: type: string description: Rebilly event type readOnly: true enum: - dispute-created - gateway-account-requested - transaction-processed - subscription-activated - subscription-canceled - subscription-created - subscription-renewed - payment-card-expired - invoice-past-due - invoice-paid - transaction-declined - transaction-process-requested - risk-score-changed - transaction-discrepancy-found MatchedRule: type: object readOnly: true properties: id: description: Event tracking id readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' event: $ref: '#/components/schemas/EventType' description: description: Rule's description type: string rulesVersion: type: integer description: Rule version occurredTime: description: Time when event occurred. allOf: - $ref: '#/components/schemas/ServerTimestamp' context: type: object description: Event's context additionalProperties: type: string processedRules: type: object description: Processed rules properties: name: type: string description: Rule name actions: type: array description: Rule actions applied items: type: string result: type: string description: Rule result FileCreateFromInline: type: object required: - file properties: file: description: The file in base64 encoded format. type: string example: R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs= isPublic: description: The File visibility. If public a permalink is provided. type: boolean example: false name: description: The file name used for downloading type: string example: logo.png description: description: The file description type: string example: My file description tags: description: The tags list type: array items: type: string example: - test - tags FileCreateFromUrl: type: object required: - url properties: url: description: The URL of the file to upload. type: string example: >- https://blog.rebilly.com/wp-content/uploads/2017/09/rb_LogoInverted_Small.png isPublic: description: The File visibility. If public a permalink is provided. type: boolean example: false name: description: The file name used for downloading type: string example: logo.png description: description: The file description type: string example: My file description tags: description: The tags list type: array items: type: string example: - test - tags InvoiceIssue: type: object properties: issuedTime: description: >- Invoice issued time. Will be issued immediately if `null` or omitted. type: string format: date-time nullable: true dueTime: description: >- Invoice due time. Will be set same as `issuedTime` if `null` or omitted. type: string format: date-time nullable: true InvoiceReissue: type: object properties: dueTime: description: >- Invoice due time. Will be set as current date-time if `null` or omitted. type: string format: date-time nullable: true InvoiceTimeline: type: object properties: id: description: The Timeline message identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Timeline message type type: string readOnly: true enum: - timeline-comment-created - invoice-created - invoice-issued - invoice-abandoned - invoice-voided - invoice-past-due - invoice-paid - invoice-partially-paid - invoice-disputed - invoice-refunded - invoice-partially-refunded - invoice-renewal-payment-declined - email-message-sent - coupon-applied - transaction-approved - transaction-abandoned - transaction-canceled - transaction-declined - transaction-refunded - transaction-voided triggeredBy: description: Shows who or what triggered the Timeline event type: string readOnly: true enum: - rebilly - app - direct-api message: description: The message that describes the message details type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Timeline message time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' InvoiceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - invoice required: - rel InvoiceTransactionAllocation: type: object properties: invoiceId: $ref: '#/components/schemas/ResourceId' transactionId: $ref: '#/components/schemas/ResourceId' amount: type: number currency: allOf: - $ref: '#/components/schemas/CurrencyCode' _links: type: array description: The links related to resource readOnly: true minItems: 2 maxItems: 2 items: anyOf: - $ref: '#/components/schemas/InvoiceLink' - $ref: '#/components/schemas/TransactionLink' KycDocumentRejection: type: object readOnly: true properties: type: type: string enum: - document-unreadable - document-expired - document-not-matching - underage-person - other message: description: The rejection message type: string example: Provided document is unreadable KycDocument: type: object required: - fileId - customerId - documentType - status properties: id: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The сustomer's ID allOf: - $ref: '#/components/schemas/ResourceId' fileId: description: Linked file object id allOf: - $ref: '#/components/schemas/ResourceId' documentType: description: >- Document type submitted for validation, only identity-proof type is analyzed in an automated manner. type: string enum: - identity-proof - address-proof status: description: Status of the validation type: string readOnly: true enum: - pending - in-progress - accepted - rejected rejectionReason: $ref: '#/components/schemas/KycDocumentRejection' createdTime: description: Creation date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Latest update date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' processedTime: description: Processing date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' KycDocumentMatches: type: object readOnly: true properties: score: description: >- The calculated score that represents the % of confidence that this ID represents the given customer type: number format: double example: 0.75 data: type: object properties: containsImage: description: >- Flag that indicates if there is an image that contains a face on it type: boolean example: true isIdentityDocument: description: Flag that indicates if this looks like and ID type: boolean example: true isPublishedOnline: description: If there is an exact match found online type: boolean example: false firstName: description: 'The customer first name if it was matched, null otherwise' type: string example: John lastName: description: 'The customer last name if it was matched, null otherwise' type: string example: Doe dateOfBirth: description: 'The date of birth found on the document, null if not found' allOf: - $ref: '#/components/schemas/ServerTimestamp' expiryDate: description: 'The expiry date found on the document, null if not found' allOf: - $ref: '#/components/schemas/ServerTimestamp' issueDate: description: 'The issued date found on the document, null if not found' allOf: - $ref: '#/components/schemas/ServerTimestamp' hasMinimalAge: description: >- Checks the minimal age, 21+ for USA and 18+ for all other countries. Null if dateOfBirth could not be determined. type: boolean example: true KycDocument_KycDocument: allOf: - $ref: '#/components/schemas/KycDocument' - properties: reviewerId: description: Reviewer's user ID. type: string nullable: true readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' reviewerName: description: Reviewer's first and last name. type: string nullable: true readOnly: true reviewTime: description: Date and time of manual review. type: string nullable: true format: date-time readOnly: true documentMatches: $ref: '#/components/schemas/KycDocumentMatches' _links: type: array description: The links related to resource readOnly: true minItems: 3 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/FileLink' - $ref: '#/components/schemas/CustomerLink' ResetPasswordToken: type: object required: - username - password properties: token: description: The token's identifier string type: string readOnly: true username: description: The token's username type: string credentialId: description: Token's credential ID type: string readOnly: true expiredTime: description: Password expired time type: string format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' PaymentCardCreateToken: type: object required: - customerId - token properties: customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' token: description: PaymentCardToken ID. type: string customFields: $ref: '#/components/schemas/ResourceCustomFields' PaymentCardCreatePlain: type: object required: - customerId - pan - expYear - expMonth - billingAddress properties: customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' pan: description: The card PAN (Primary Account Number). type: string writeOnly: true expYear: description: Card's expiry year. type: integer expMonth: description: Card's expiry month. type: integer cvv: description: Card's cvv (card verification value). type: string writeOnly: true billingAddress: description: The Billing Address. allOf: - $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' browserData: $ref: '#/components/schemas/BrowserData' PaymentInstrumentValidation: type: object required: - method - paymentInstrumentId properties: id: description: Payment instrument validation ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' method: description: Payment method type: string paymentInstrumentId: description: Payment instrument ID type: string actionCode: description: Action code type: string readOnly: true responseCode: description: Response code type: string readOnly: true avsResult: description: Address verification result type: string readOnly: true cvvResult: description: CVV result type: string readOnly: true billingAddress: description: Billing address. allOf: - $ref: '#/components/schemas/ContactObject' expYear: description: Payment card's expiration year. type: integer readOnly: true expMonth: description: Payment card's expiration month. type: integer readOnly: true createdTime: description: Payment instrument validation created time. allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' PayPalAccount: type: object title: PayPal Account properties: id: description: The PayPal identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' method: description: The method of payment instrument. type: string readOnly: true enum: - paypal customerId: description: The Customer's ID. allOf: - $ref: '#/components/schemas/ResourceId' billingAddress: description: The Customer's Billing Address. allOf: - $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 browserData: $ref: '#/components/schemas/BrowserData' createdTime: description: PayPal Account created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: PayPal Account updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' customFields: $ref: '#/components/schemas/ResourceCustomFields' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/ApprovalUrlLink' required: - customerId - billingAddress TransactionRedirectUrl: description: > The URL to redirect the end-user when an offsite transaction is completed. The 2 placeholders are available to use in this URI: `{id}` and `{result}`. Defaults to the website's configured URL. type: string format: uri PayPalAccountAuthorization: type: object required: - websiteId - currency properties: websiteId: description: The Website ID type: string currency: allOf: - $ref: '#/components/schemas/CurrencyCode' amount: description: The amount to authorize type: number format: double default: 1 gatewayAccountId: description: The Gateway Account ID which use to send transactions type: string redirectUrl: $ref: '#/components/schemas/TransactionRedirectUrl' schemas_Product: *ref_0 InitialInvoiceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - initialInvoice required: - rel RecentInvoiceLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - recentInvoice required: - rel RecentInvoiceEmbed: type: object description: Recent Invoice object readOnly: true properties: recentInvoice: $ref: '#/components/schemas/Invoices_Invoice' InitialInvoiceEmbed: type: object description: Initial Invoice object readOnly: true properties: initialInvoice: $ref: '#/components/schemas/Invoices_Invoice' Subscription: type: object discriminator: propertyName: orderType mapping: one-time-order: '#/components/schemas/one-time-order' subscription-order: '#/components/schemas/subscription-order' required: - orderType - customerId - websiteId - items properties: id: description: The Subscription identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' orderType: description: | Specifies the type of order, a subscription or a one-time purchase. type: string enum: - subscription-order - one-time-order default: subscription-order billingStatus: description: | The billing status of the most recent invoice. It may help you determine if you should change the service status such as suspending the service. type: string readOnly: true enum: - unpaid - past-due - delinquent - paid - voided - refunded - disputed - voided customerId: description: Unique id for each customer allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: Unique id for each website allOf: - $ref: '#/components/schemas/ResourceId' initialInvoiceId: description: Unique id for the initial invoice readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' recentInvoiceId: description: >- Unique id for the most recently issued invoice. It might not be `paid` yet. readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' items: type: array minItems: 1 items: type: object required: - planId properties: planId: description: Unique id for each plan allOf: - $ref: '#/components/schemas/ResourceId' quantity: description: Number of units of the product on the given plan type: integer deliveryAddress: description: Delivery address nullable: true type: object allOf: - $ref: '#/components/schemas/ContactObject' billingAddress: description: Billing address nullable: true type: object allOf: - $ref: '#/components/schemas/ContactObject' riskMetadata: nullable: true type: object example: null description: |- Risk metadata. If null, the value would coalesce to the risk metadata captured when creating the payment token. allOf: - $ref: '#/components/schemas/RiskMetadata' activationTime: description: Subscription activation time allOf: - $ref: '#/components/schemas/ServerTimestamp' couponIds: type: array nullable: true description: > A list of coupons to redeem on the customer and restrict to this subscription. Read more about [coupons here](https://docs.rebilly.com/docs/dashboard/marketing/coupons-and-discounts/). This parameter respects the following logic: - When not passed then applied coupons will not be changed. - When empty array passed then all applied coupon redemptions will be canceled. - When list of coupons is passed then not applied yet coupons will be applied, already applied coupons will not change their state, applied coupons that are not presented in passed list will be canceled. If list of applied coupons on pending subscription will be changed due to this param during update subscription, Invoice for the subscription will be reissued. writeOnly: true items: type: string description: Coupon ID poNumber: description: 'Purchase order number, will be displayed on the issued invoices' nullable: true example: PO123456 type: string revision: description: > The number of times the subscription 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 _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/InitialInvoiceLink' - $ref: '#/components/schemas/RecentInvoiceLink' - $ref: '#/components/schemas/WebsiteLink' _embedded: type: array description: >- Any embedded objects available that are requested by the `expand` querystring parameter. readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/RecentInvoiceEmbed' - $ref: '#/components/schemas/InitialInvoiceEmbed' - $ref: '#/components/schemas/CustomerEmbed' - $ref: '#/components/schemas/WebsiteEmbed' - $ref: '#/components/schemas/LeadSourceEmbed' SubscriptionMetadata: type: object properties: customFields: $ref: '#/components/schemas/ResourceCustomFields' createdTime: description: Subscription created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Subscription updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/CustomerLink' - $ref: '#/components/schemas/WebsiteLink' - $ref: '#/components/schemas/LeadSourceLink' one-time-order: allOf: - $ref: '#/components/schemas/Subscription' - properties: status: description: One-time order status type: string readOnly: true enum: - pending - completed - abandoned - $ref: '#/components/schemas/SubscriptionMetadata' UpcomingInvoiceItem: type: object description: Line item required: - type - unitPriceAmount - unitPriceCurrency - quantity properties: type: description: Type of line item type: string enum: - debit - credit description: description: Description of line item type: string unitPriceAmount: description: Unit price of the line item type: number format: double example: 49.95 unitPriceCurrency: allOf: - $ref: '#/components/schemas/CurrencyCode' quantity: description: Quantity of line item type: integer example: 1 periodStartTime: description: Date-time when the period begins for this item type: string format: date-time periodEndTime: description: Date-time when the period ends for this item type: string format: date-time createdTime: description: Date-time when the item was added to the subscription allOf: - $ref: '#/components/schemas/ServerTimestamp' UpcomingInvoiceItemCollection: type: array items: $ref: '#/components/schemas/UpcomingInvoiceItem' SubscriptionCancellationState: type: object properties: canceledTime: description: Subscription canceled time allOf: - $ref: '#/components/schemas/ServerTimestamp' canceledBy: description: Canceled by type: string readOnly: true enum: - merchant - customer - rebilly cancelCategory: description: Cancel category type: string readOnly: true enum: - billing-failure - did-not-use - did-not-want - missing-features - bugs-or-problems - do-not-remember - risk-warning - contract-expired - too-expensive - never-started - switched-plan - other cancelDescription: description: Cancel reason description in free form type: string readOnly: true maxLength: 255 subscription-order: allOf: - $ref: '#/components/schemas/Subscription' - properties: status: description: | The status of the subscription service. A subscription starts in the `pending` status, and will become `active` when the service period begins. type: string readOnly: true enum: - pending - active - canceled - churned - suspended - paused - abandoned inTrial: description: True if the subscription is currently in a trial period type: boolean readOnly: true trial: type: object description: >- To use plan defaults do not send the `trial` key, or send a `null` value with it. required: - endTime properties: enabled: description: >- Enable or disable the trial for this subscription. If enabled for plans without trial prices, the trial will be free. type: boolean endTime: description: The time the trial should end type: string format: date-time invoiceTimeShift: description: |- You can shift issue time and due time of invoices for this subscription. This setting overrides plan settings. To use plan settings, set `null`. To use multiple plans in one subscription they all must have the same billing period, this property allows to subscribe to different plans. nullable: true type: object example: null allOf: - $ref: '#/components/schemas/InvoiceTimeShift' recurringInterval: type: object description: > The recurring interval to override plan settings. To use plan settings, set `null`. To use multiple plans in one subscription they all must have the same recurring period length, this property allows to subscribe to different plans. nullable: true example: null properties: periodAnchorInstruction: $ref: '#/components/schemas/ServicePeriodAnchorInstruction' autopay: description: Autopay determines if a payment attempt will be automatic type: boolean default: true startTime: description: >- Subscription start time. When the value is sent as null, it will use the current time. This value can't be in past more than one service period. nullable: true example: null type: string format: date-time endTime: description: Subscription end time allOf: - $ref: '#/components/schemas/ServerTimestamp' renewalTime: description: Subscription renewal time type: string format: date-time rebillNumber: description: The current period number type: integer readOnly: true renewalReminderTime: description: Time renewal reminder event will be triggered. nullable: true type: string format: date-time readOnly: true renewalReminderNumber: description: Number of renewal reminder events triggered type: integer readOnly: true trialReminderTime: description: Time renewal reminder event will be triggered. nullable: true type: string format: date-time readOnly: true trialReminderNumber: description: Number of renewal reminder events triggered type: integer readOnly: true lineItems: description: >- Subscription line items which queue until the next renewal (or interim) invoice is issued for the subscription. readOnly: true allOf: - $ref: '#/components/schemas/UpcomingInvoiceItemCollection' lineItemSubtotal: type: object readOnly: true description: >- Subtotal of line items in this subscription (signed value). If credits exceed debits, it will be a negative number. properties: currency: $ref: '#/components/schemas/CurrencyCode' amount: type: number format: double example: 49.95 - $ref: '#/components/schemas/SubscriptionMetadata' - $ref: '#/components/schemas/SubscriptionCancellationState' Search: type: object properties: customers: description: List of returned customers readOnly: true type: array items: allOf: - $ref: '#/components/schemas/Customer' invoices: description: List of returned invoices readOnly: true type: array items: allOf: - $ref: '#/components/schemas/Invoices_Invoice' orders: description: List of returned orders readOnly: true type: array items: allOf: - $ref: '#/components/schemas/Subscription' transactions: description: List of returned transactions readOnly: true type: array items: allOf: - $ref: '#/components/schemas/Transactions_Transaction' searched: description: 'Names of searched resources, even if they returned nothing' readOnly: true type: array items: type: string PriceBasedShippingRate: type: object required: - name - currency - price properties: name: description: The shipping rate name type: string maxLength: 255 minOrderSubtotal: description: >- Minimum order subtotal for which this shipping rate is applicable, defaults to 0.00 type: number format: double default: 0 maxOrderSubtotal: description: >- Maximum order subtotal for which this shipping rate is applicable (NULL if no maximum) type: number format: double price: description: The shipping price - 0 is a valid value (for free) type: number format: double currency: allOf: - $ref: '#/components/schemas/CurrencyCode' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ShippingZone: type: object required: - name properties: id: description: The shipping zone identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: The shipping zone name type: string maxLength: 255 countries: description: > Countries covered by the shipping zone. A country can only belong to one shipping zone (no overlapping). This property can be empty or null to create a default shipping zone for countries that were not specified in other zones. type: array items: description: Country ISO Alpha-2 code type: string pattern: '^[A-Z]{2}$' rates: description: Price-based shipping rate instructions type: array items: description: Price based shipping rate instruction allOf: - $ref: '#/components/schemas/PriceBasedShippingRate' isDefault: description: Is this Shipping Zone default readOnly: true createdTime: description: The shipping zone created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The shipping zone updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SubscriptionCancellation: type: object required: - subscriptionId - churnTime properties: id: description: Cancellation identifier readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' subscriptionId: description: Identifier of the canceled subscription allOf: - $ref: '#/components/schemas/ResourceId' proratedInvoiceId: description: >- Identifier of the invoice on which the cancellation proration is calculated. readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' appliedInvoiceId: description: >- The identifier of the invoice where the cancellation fees or credits are applied. readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' canceledBy: description: Who did the cancellation type: string default: customer enum: - merchant - customer reason: description: Cancellation reason 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: Cancel reason description in free form type: string maxLength: 255 prorated: description: > Defines if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription's next renewal time. type: boolean default: false status: description: > "draft" defines that the cancellation isn't applied on an invoice and subscription but can be inspected to see the charge. "confirmed" will set a subscription to be canceled when the `churnTime` is reached. "completed" is a read-only status which is set by the system when the churnTime is reached. The cancellation may not be changed or deleted when the status is "completed". type: string default: confirmed enum: - draft - confirmed - completed - revoked canceledTime: description: >- The cancellation time (when the status is confirmed which is by default unless specified "draft"). type: string format: date-time readOnly: true createdTime: description: The time of resource creation (when it is posted). allOf: - $ref: '#/components/schemas/ServerTimestamp' churnTime: description: The time when the subscription will be deactivated. type: string format: date-time lineItems: description: >- Items to be added to the new invoice. Proration item is generated and added automatically. allOf: - $ref: '#/components/schemas/UpcomingInvoiceItemCollection' lineItemSubtotal: description: >- Subtotal of the line items which will be added after the subscription's cancellation readOnly: true type: number example: 49.95 _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SubscriptionReactivation: type: object required: - subscriptionId properties: id: description: Reactivation identifier readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' subscriptionId: description: Identifier of the reactivated subscription allOf: - $ref: '#/components/schemas/ResourceId' cancellationId: description: Identifier of the related cancellation readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' description: description: Reactivation reason description in free form type: string maxLength: 255 effectiveTime: description: > The date from which the service period would start, unless the subscription is canceled but still active. In case the susbcription is still active, the subscription will continue the current service period. If omitted, it will default to the current time. type: string format: date-time renewalTime: description: > The time of the next subscription renewal. If omitted then it is computed from the effective time. If the subscription is canceled but active it is ignored, so the next renewal will happen as scheduled. type: string format: date-time createdTime: description: The time of resource creation (when it is posted). type: string format: date-time readOnly: true _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SubscriptionChange: type: object required: - planId - renewalPolicy - prorated properties: planId: description: The plan identifier string allOf: - $ref: '#/components/schemas/ResourceId' quantity: description: >- Number of units of the product on the given plan. If null or omitted, current quantity will not be changed. type: integer renewalPolicy: description: >- The value determines whether the subscription retains its current `renewalTime` or resets it to a newly calculated `renewalTime`. type: string enum: - reset - retain prorated: description: > Whether or not 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`), then a pro rata debit will occur as well, for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size. type: boolean effectiveTime: description: >- The date from which the renewal time (for `reset` operations) and proration calculations are made. If omitted, it will default to the current time. type: string format: date-time preview: description: >- If set to true, it will not change the subscription. It allows for a way to preview the changes that would be made to a subscription. type: boolean default: false 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. allOf: - $ref: '#/components/schemas/ResourceId' OrderTimeline: type: object properties: id: description: The Timeline message identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Timeline message type type: string readOnly: true enum: - timeline-comment-created - order-renewed - order-activated - order-completed - order-reactivated - order-canceled - order-upgraded - order-downgraded - order-billing-address-changed - order-delivery-address-changed - order-renewal-time-changed - order-churned - order-custom-fields-changed - order-items-changed - order-billing-anchor-changed - order-recurring-interval-changed - order-risk-metadata-changed - order-paid-early - order-quantity-changed - email-message-sent - coupon-applied - invoice-created - invoice-issued - invoice-abandoned - invoice-voided - invoice-past-due - invoice-paid - invoice-partially-paid - invoice-disputed - invoice-refunded - invoice-partially-refunded - invoice-renewal-payment-declined triggeredBy: description: Shows who or what triggered the Timeline message type: string readOnly: true enum: - rebilly - app - direct-api message: description: The message that describes the message details type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Timeline message time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' TokenMethod: type: string description: The token payment method enum: - cash - check - paypal - Alipay - AstroPay Card - bank-transfer - bitcoin - Boleto - cash-deposit - CASHlib - CashToCode - China UnionPay - domestic-cards - echeck - ecoPayz - ecoVoucher - EPS - ePay.bg - Flexepin - Giropay - Gpaysafe - iDebit - iDEAL - INOVAPAY-pin - INOVAPAY-wallet - InstaDebit - instant-bank-transfer - Interac-online - Interac-eTransfer - invoice - Jeton - Klarna - miscellaneous - Neteller - Nordea-Solo - OchaPay - online-bank-transfer - Onlineueberweisen - Paysafecard - Pay4Fun - PinPay - phone - POLi - Przelewy24 - QQPay - Resurs - SEPA - Skrill - Skrill Rapid Transfer - SMSVoucher - SparkPay - Trustly - UPayCard - voucher - WeChat Pay PaymentToken: type: object title: Payment Token required: - method - billingAddress properties: id: description: The token identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' isUsed: description: Whether the token was already used type: boolean default: false readOnly: true method: allOf: - $ref: '#/components/schemas/TokenMethod' fingerprint: description: Device fingerprint hash type: string deprecated: true browserData: $ref: '#/components/schemas/BrowserData' billingAddress: description: The billing address object allOf: - $ref: '#/components/schemas/ContactObject' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: description: Token created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Token updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' usageTime: description: Token usage time allOf: - $ref: '#/components/schemas/ServerTimestamp' expirationTime: description: Token expiration time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' TokenPaymentCardInstrument: type: object description: Payment Token instrument object required: - pan - billingAddress - expMonth - expYear properties: pan: description: Payment Card PAN (Primary Account Number) type: string writeOnly: true bin: description: Payment Card BIN (the PAN's first 6 digits) type: string format: bin readOnly: true last4: description: Payment Card PAN's last 4 digits type: string readOnly: true brand: readOnly: true allOf: - $ref: '#/components/schemas/PaymentCardBrand' expMonth: description: Payment Card expiry month type: integer expYear: description: Payment Card expiry year type: integer cvv: description: Payment Card CVV/CVC type: string writeOnly: true PaymentCardToken: type: object title: Payment Card Token required: - method - paymentInstrument - billingAddress properties: id: description: The token identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' isUsed: description: Whether the token was already used type: boolean default: false readOnly: true method: description: The token payment method type: string enum: - payment-card paymentInstrument: description: The payment instrument details allOf: - $ref: '#/components/schemas/TokenPaymentCardInstrument' fingerprint: description: Device fingerprint hash type: string deprecated: true browserData: $ref: '#/components/schemas/BrowserData' billingAddress: description: The billing address object allOf: - $ref: '#/components/schemas/ContactObject' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: description: Token created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Token updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' usageTime: description: Token usage time allOf: - $ref: '#/components/schemas/ServerTimestamp' expirationTime: description: Token expiration time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' TokenBankAccountInstrument: type: object required: - accountNumberType discriminator: propertyName: accountNumberType mapping: BBAN: '#/components/schemas/BBANInstrument' IBAN: '#/components/schemas/IBANInstrument' properties: accountNumberType: description: >- Bank's Account Number type. A valid value is basic bank account number (BBAN) or international bank account number (IBAN). type: string default: BBAN enum: - IBAN - BBAN BBANInstrument: description: Payment Token instrument object allOf: - $ref: '#/components/schemas/TokenBankAccountInstrument' - type: object required: - accountNumber - routingNumber - accountType properties: accountNumber: description: 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 type: string bankName: description: Bank name type: string last4: description: Bank Account Number's last 4 digits type: string readOnly: true IBANInstrument: description: Payment Token instrument object allOf: - $ref: '#/components/schemas/TokenBankAccountInstrument' - type: object required: - accountNumber properties: accountNumber: description: > Bank Account Number. Detailed information about all ISO 13616-compliant national IBAN formats is available in [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban). type: string writeOnly: true bic: description: Bank Identifier Code type: string bankName: description: Bank name type: string last4: description: Bank Account Number's last 4 digits type: string readOnly: true BankAccountToken: type: object title: Bank Account Token required: - method - paymentInstrument - billingAddress properties: id: description: The token identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' isUsed: description: Whether the token was already used type: boolean default: false readOnly: true method: description: The token payment method type: string enum: - ach paymentInstrument: description: The payment instrument details allOf: - $ref: '#/components/schemas/TokenBankAccountInstrument' fingerprint: description: Device fingerprint hash type: string deprecated: true browserData: $ref: '#/components/schemas/BrowserData' billingAddress: description: The billing address object allOf: - $ref: '#/components/schemas/ContactObject' leadSource: allOf: - $ref: '#/components/schemas/LeadSource' writeOnly: true createdTime: description: Token created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Token updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' usageTime: description: Token usage time allOf: - $ref: '#/components/schemas/ServerTimestamp' expirationTime: description: Token expiration time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' TransactionRequest: type: object required: - websiteId - customerId - currency - amount - type properties: id: description: The payment identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: The website identifier string allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: The customer identifier string allOf: - $ref: '#/components/schemas/ResourceId' currency: allOf: - $ref: '#/components/schemas/CurrencyCode' type: description: > The type of transaction requested. You should always include the type within your API request. This supports a limited subset of Transaction types. To refund or void, use the refund endpoint. To `capture` use the `sale` endpoint. It will capture if there are any eligible transactions of type `authorize` that can be captured. type: string enum: - sale - authorize - credit amount: description: > The transaction amount. Use `0` for a zero dollar verification. This is important if you want to authorize a payment instrument before giving access to a free trial, for example. type: number format: double example: 97.97 invoiceIds: description: > The array of invoice identifiers. It's important to note that the transaction amount can be more or less than the combined invoice amounts. If the transaction is a type `sale` and it is `approved` it will be applied to these invoices in the order of the first issued invoice to the most recently issued invoice. If there are enough funds to fully pay an invoice, the invoice status will be marked as paid. nullable: true type: array items: $ref: '#/components/schemas/ResourceId' paymentInstrument: $ref: '#/components/schemas/PaymentInstrument' billingAddress: description: |- Billing address. If not supplied, the billing address associated with the payment instrument is used, and then customer. nullable: true type: object allOf: - $ref: '#/components/schemas/ContactObject' requestId: description: >- The request id is **recommended**. It prevents duplicate transaction requests within a short period of time. If a duplicate request is sent with the same `requestId` it will be ignored to prevent double-billing anyone. It must be unique within a 24-hour period. We recommend generating a UUID v4 as its value. type: string nullable: true maxLength: 50 pattern: '^[\-\w]+$' example: 44433322-2c4y-483z-a0a9-158621f77a21 description: nullable: true description: The payment description type: string maxLength: 255 notificationUrl: nullable: true description: > The URL where a server-to-server notification request type `POST` with a transaction payload will be sent when the transaction's result is finalized. Do not trust the notification; follow with a `GET` request to confirm the result of the transaction. Please respond with a `2xx` HTTP status code, or we will reattempt the request again. type: string format: uri redirectUrl: nullable: true description: >- The URL to redirect the end-user when an offsite transaction is completed. Defaults to the website's configured URL. type: string format: uri customFields: $ref: '#/components/schemas/ResourceCustomFields' isProcessedOutside: description: True if transaction was processed outside Rebilly type: boolean default: false processedTime: type: string description: >- The time the transaction was processed. Can be specified only if transaction was processed outside Rebilly. format: date-time TransactionGatewayLog: type: object readOnly: true properties: headers: description: The request headers type: array items: type: string url: description: The request URL type: string request: description: The request body type: string response: description: The response body type: string duration: description: 'The request time, msec' type: integer createdTime: description: The log entry created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource minItems: 1 items: $ref: '#/components/schemas/TransactionLink' TransactionRefund: type: object required: - amount properties: amount: description: Refund amount type: number format: double TransactionTimeline: type: object properties: id: description: The Timeline message identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Timeline message type type: string readOnly: true enum: - customer-redirected-offsite - customer-returned - dispute-changed - dispute-created - dispute-forfeited - dispute-lost - dispute-responded - dispute-won - gateway-connection-failed - gateway-connection-timed-out - gateway-response-received - 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-initiated - transaction-reconciled - transaction-refunded - transaction-retried - transaction-rules-processed - transaction-scheduled-time-changed - transaction-timeout-resolved - transaction-voided - transaction-waiting-gateway triggeredBy: description: Shows who or what triggered the Timeline message type: string readOnly: true enum: - rebilly - app - direct-api message: description: The message that describes the message details type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Timeline message time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' AclPermissions: type: array items: type: string format: operationId example: - GetTransactionCollection - GetTransaction - PostTransaction ApiKeyScopes: type: array items: type: object properties: organizationId: description: The account identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' example: - organizationId: organizationId-id-1 ApiKeyScope: type: object properties: organizationId: description: The array of account identifier strings type: array items: allOf: - $ref: '#/components/schemas/ResourceId' productId: description: The array of product identifier strings type: array items: allOf: - $ref: '#/components/schemas/ResourceId' planId: description: The array of plan identifier strings type: array items: allOf: - $ref: '#/components/schemas/ResourceId' customFieldName: description: The array of custom field names type: array items: type: string maxLength: 60 pattern: '^[\w-]+$' example: organizationId: - organizationId-id-1 Acl: type: array items: type: object required: - scope - permissions properties: scopes: deprecated: true description: Array of api key scopes allOf: - $ref: '#/components/schemas/ApiKeyScopes' scope: description: Api Key scope allOf: - $ref: '#/components/schemas/ApiKeyScope' permissions: description: >- Specify individual permission here if creating a restricted API key. Use wildcard `*` for full access. allOf: - $ref: '#/components/schemas/AclPermissions' ApiKey: type: object description: API secret Key. properties: id: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' description: description: API key description type: string datetimeFormat: description: Date time format type: string default: iso8601 enum: - mysql - iso8601 type: description: Type of API key type: string default: secret enum: - secret - publishable permissions: description: >- Specify individual permissions here if creating a restricted API key. deprecated: true allOf: - $ref: '#/components/schemas/AclPermissions' 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. allOf: - $ref: '#/components/schemas/Acl' apiUser: description: API user name type: string readOnly: true secretKey: description: API secret key's value type: string readOnly: true createdTime: description: The API key created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' BroadcastMessage: type: object required: - emails - startSendingTime properties: id: description: The broadcast message's identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' filter: type: string description: > The filter that will be used on customer selection during the broadcast message processing. The syntax is the same as the `query` filter, without `filter=` prefix. For example: `firstName:John`, `firstName:John;lastName:Doe`, etc. Attention: You should not URL encode the filter value. example: 'firstName:John;lastName:Doe' title: type: string description: The title of the messages. (This title will appear in reports.) messages: type: array description: The list of messages. minItems: 1 items: type: object properties: id: type: string format: uuid description: The message identifier string. version: type: string description: >- The message version. (By default is empty, but if you make multiple versions, you can name or number them to distinguish them.) weight: type: integer description: > The value for random-weighted picking of a template in the case of a split test. The split test algorithm does not factor localization when making a weighted-random template selection. Therefore, a version will be selected first, and then after a version is selected a specific localization will be selected. Take the case where two versions have different locale content -- the locales of the content is not considered when selecting the version. minimum: 0 maximum: 100 example: 75 default: 100 templates: description: > The value for random-weighted picking of a template in the case of a split test. The split test algorithm does not factor localization when making a weighted-random template selection. Therefore, a version will be selected first, and then after a version is selected a specific localization will be selected. Take the case where two versions have different locale content -- the locales of the content is not considered when selecting the version. example: locale: fr-FR from: example@example.com subject: Sujet de démonstration text: Texte de démonstration html:

Texte de démonstration

type: array minItems: 1 items: type: object properties: from: type: string description: > The sender address. It must be a **verified** address. # todo add a link to help docs on how to verify an email address maxLength: 254 subject: type: string description: >- The message subject. The template placeholders are allowed. maxLength: 998 text: type: string description: | The message's text body. Leave empty to use content from "html". The template placeholders are allowed. html: type: string description: | The message's html body. Leave empty to use content from "text". The template placeholders are allowed. locale: type: string description: >- The language locale identifier according to [RFC 5646](https://tools.ietf.org/html/rfc5646). example: fr-FR required: - from - subject - text - html - locale required: - templates splitTestStartTime: readOnly: true type: string format: date-time description: The split test start time startSendingTime: type: string format: date-time description: The start sending time status: readOnly: true type: string description: The broadcast message's status enum: - draft - sending - sent - archived createdTime: description: The broadcast message's created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The broadcast message's updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to the resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Style: type: object properties: background: description: Background color for the section in hexadecimal format. type: string maxLength: 6 default: ffffff color: description: Font color for the section in hexadecimal format. type: string maxLength: 6 default: cccccc Section: type: object required: - section - content - style - enabled properties: section: description: | A key for this section of content. type: string enum: - header - body - order-summary - button - footer - thank-you - terms style: $ref: '#/components/schemas/Style' content: description: >- The text you want to appear in the section, can be styled in html markup. You can include image references. type: string enabled: description: >- Set to false if you want to disable this markup section on checkout page. type: boolean default: true FieldConfig: type: object description: A configuration for a field. required: - name properties: name: description: > The name of the field, as defined in our APIs. You can also include custom fields. type: string enum: - companyName - phoneNumber - address - addressLine2 - city - region - country - postalCode - couponCode - quantity setting: description: > If you want the field hidden, optional, or required. Some fields may be required by a specific theme, and these settings will not override that. Defaults are that most fields are shown. You may wish to hide `couponCode`, if you don't use coupons. You may wish to require specific fields that are optional (eg `phoneNumber`). type: string enum: - hidden - optional - required label: description: >- If you want to override the default label, you can set a value here (eg, instead of "First Name", you can set "Given Name"). type: string default: description: >- Set a default value for the field. It will default to being empty, or 1 for `quantity`. type: string Taxes: type: object description: A configuration for a tax. required: - label - value properties: label: description: Tax name type: string example: VAT value: description: Value of tax. type: number format: float minimum: 0 exclusiveMinimum: true example: 0.5 CheckoutPage: type: object required: - planId - websiteId - urlPathSegment - name properties: id: description: Checkout page identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' planId: description: >- Checkout page plan ID. If the plan is deactivated, the submit button on the checkout page will be deactivated and the page will display "Sold Out." type: string allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: Checkout page website ID type: string allOf: - $ref: '#/components/schemas/ResourceId' urlPathSegment: description: >- Your own custom url path segment for this Checkout Page. It will be appended to checkout url https://checkout.rebilly.com/checkout/`urlPathSegment` type: string minLength: 5 maxLength: 50 name: description: >- Checkout page name, used for internal display to help you organize your various checkout pages. type: string maxLength: 100 redirect: type: object description: >- After a successful checkout, the customer can optionally be redirected to a url of your choice. properties: url: description: >- After a successful checkout, the customer can be redirected to a url of your choice. If left empty, the customer will remain on the thank you page. type: string timeout: description: >- The time (in seconds) that the customer will remain on the thank you page before being redirected to the corresponding `url`. type: integer default: 5 isCustomCustomerIdAllowed: description: >- Set to true if you want to supply your own customer ID's in a querystring parameter on your checkout page. type: boolean default: false isBillingAddressHidden: description: >- Set to true if you want to hide billing address on your checkout page. type: boolean default: false isPlanSummaryHidden: description: Set to true if you want to hide plan summary on your checkout page. type: boolean default: false isPreCheckedTerms: description: >- Set to true if you want to pre-checked checkbox of terms on your checkout page. type: boolean default: false oneTimeOffer: type: object description: One time offer for checkout page. properties: planId: description: Reference to Plan ID. type: string allOf: - $ref: '#/components/schemas/ResourceId' isTiedToQuantity: description: >- Set to true if you want to tie one time offer to quantity on your checkout page. type: boolean default: false thankYouOneTimeOffer: type: object description: One time offer for thank you page. properties: planId: description: Reference to Plan ID. type: string allOf: - $ref: '#/components/schemas/ResourceId' isTiedToQuantity: description: >- Set to true if you want to tie one time offer to quantity on your checkout page. type: boolean default: false suggestedUpgrade: type: object description: Suggested upgrade for checkout page. properties: planId: description: Reference to Plan ID. type: string allOf: - $ref: '#/components/schemas/ResourceId' hasProration: description: >- Set to true if you want to pro rata credits given due change a subscription's plan. type: boolean default: false theme: description: Select from pre-designed themes for your checkout page. type: string default: classic enum: - classic - long-copy logoAlignment: description: Checkout page logo position. type: string enum: - left - center - right default: left quantityLabel: description: >- Checkout page quantity label, used in case you want to customize the quantity field label. type: string maxLength: 255 quantityType: description: >- Checkout page quantity type, used in case you want to customize the quantity field type. type: string enum: - selectbox - textinput default: selectbox quantityMin: description: >- Checkout page quantity min, used in case you want to set the minimun quantity. type: integer minimum: 1 maximum: 255 markup: description: > Sections of styled content that will display within the page body, keyed by "section." The themes rely on specific "section" key values, for example "header", "button", "footer", "body", "thank-you", "terms". type: array uniqueItems: true items: $ref: '#/components/schemas/Section' fields: description: >- Take granular control over the default field settings. You can make specific fields hidden, optional, or required. You can specify labels and default values. type: array uniqueItems: true items: $ref: '#/components/schemas/FieldConfig' taxes: type: object description: 'Taxes, you can specify description and list of name-value items.' properties: description: description: Taxes description. type: string items: description: Taxes values. type: array items: $ref: '#/components/schemas/Taxes' status: description: 'If `inactive`, the checkout page url will result in a 404.' type: string enum: - active - inactive default: active createdTime: description: Checkout page created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Checkout page updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SESCredential: type: object properties: hash: readOnly: true allOf: &ref_1 - $ref: '#/components/schemas/ResourceId' status: description: The credential status type: string enum: &ref_2 - active - deactivated deactivationTime: description: The time when the credential was deactivated allOf: &ref_3 - $ref: '#/components/schemas/ServerTimestamp' key: type: string description: The AWS access key ID example: BWITYO4UARGDLMFY6UDP secret: type: string description: The AWS secret access key example: 8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG region: type: string description: The AWS region name example: us-west-2 configurationSetName: type: string description: The configuration set name which will be used durring email sending example: SpecialConfigurationSet _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' description: Amazon simple email service (AWS SES) credential required: - key - secret - region PatchCredential: type: object required: - status properties: status: description: The credential status type: string enum: - deactivated SmtpAuthorization: type: object discriminator: propertyName: type mapping: none: '#/components/schemas/SmtpAuthorizationNone' cram-md5: '#/components/schemas/cram-md5' login: '#/components/schemas/login' plain: '#/components/schemas/plain' properties: type: type: string enum: - none - plain - login - cram-md5 default: none SmtpAuthorizationNone: allOf: - $ref: '#/components/schemas/SmtpAuthorization' UserPasswordAuthorization: type: object properties: username: type: string password: type: string format: password required: - username - password cram-md5: allOf: - $ref: '#/components/schemas/SmtpAuthorization' - $ref: '#/components/schemas/UserPasswordAuthorization' login: allOf: - $ref: '#/components/schemas/SmtpAuthorization' - $ref: '#/components/schemas/UserPasswordAuthorization' plain: allOf: - $ref: '#/components/schemas/SmtpAuthorization' - $ref: '#/components/schemas/UserPasswordAuthorization' SmtpCredential: type: object properties: hash: readOnly: true allOf: *ref_1 status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 host: type: string description: The host name port: type: integer description: The port value minimum: 1 maximum: 65535 default: 25 encryption: type: string description: The encryption value enum: - none - tls - ssl default: none auth: $ref: '#/components/schemas/SmtpAuthorization' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' description: SMTP Credential required: - host MailgunCredential: type: object properties: hash: readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 emailFrom: type: string format: email description: The from email address apiKey: type: string description: The mailgun api key domain: type: string description: The mailgun domain _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' description: Mailgun Credential required: - emailFrom - apiKey - domain OAuth2CredentialService: type: string enum: - google-sheets OAuth2Credential: type: object properties: hash: readOnly: true allOf: *ref_1 status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 service: description: The name of service that the OAuth2 credential belongs to allOf: - $ref: '#/components/schemas/OAuth2CredentialService' code: description: The OAuth2 code provided by the authentication server type: string example: 2/smAHUUr9jOxw_IOp47Y_dH1r2Y accessToken: description: The OAuth2 access token readOnly: true type: string example: >- zw34.PltIPtJZHmEgZS9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkhDRfAPs6cB1pKtTjLUgb3ofzgHUprJfnRiMDTnB_yPMK7vtgobCX4SUs7fhrR6bdApq refreshToken: description: The OAuth2 refresh token readOnly: true type: string example: 2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94 scopes: description: The OAuth2 granted list access type: array items: type: string example: - 'https://www.googleapis.com/auth/drive.metadata.readonly' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' description: OAuth2 credential required: - code - scopes - service GoogleSpreadsheet: type: object properties: id: description: The google spreadsheet indentifier string readOnly: true type: string example: 2ytkMntAC2Ke7aIgpaOBjz9IORRlNRjwFqO7KvyNam3B name: readOnly: true description: The google spreadsheet name type: string example: Spreadsheet 1 PostmarkCredential: type: object properties: hash: readOnly: true allOf: *ref_1 status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 serverApiToken: type: string description: The Postmark server API token example: dd0508z9-2291-6794-3376-z0a70g12eqm9 _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' description: Postmark Credential required: - serverApiToken SendGridCredential: type: object properties: hash: readOnly: true allOf: *ref_1 status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 apiKey: type: string description: The SendGrid api key example: >- SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' description: SendGrid Credential required: - apiKey WebhookAuthorization: type: object discriminator: propertyName: type mapping: none: '#/components/schemas/WebhookAuthorizationNone' basic: '#/components/schemas/basic' digest: '#/components/schemas/digest' oauth1: '#/components/schemas/oauth1' properties: type: type: string description: The authorization type enum: - none - basic - digest - oauth1 default: none required: - type WebhookAuthorizationNone: allOf: - $ref: '#/components/schemas/WebhookAuthorization' basic: allOf: - $ref: '#/components/schemas/WebhookAuthorization' - type: object properties: username: type: string password: type: string format: password required: - username - password digest: allOf: - $ref: '#/components/schemas/WebhookAuthorization' - type: object properties: username: type: string password: type: string format: password required: - username - password oauth1: allOf: - $ref: '#/components/schemas/WebhookAuthorization' - type: object properties: consumerKey: type: string consumerSecret: type: string token: type: string tokenSecret: type: string required: - consumerKey - consumerSecret - token - tokenSecret WebhookCredential: type: object properties: hash: readOnly: true allOf: *ref_1 status: description: The credential status type: string enum: *ref_2 deactivationTime: description: The time when the credential was deactivated allOf: *ref_3 host: type: string description: The host name auth: $ref: '#/components/schemas/WebhookAuthorization' description: Webhook credential required: - host EmailDeliverySetting: type: object required: - from - name properties: id: description: The email delivery setting's identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' from: description: | The sender's email address. It must be unique within your account. type: string format: email maxLength: 254 example: from-example@rebilly.com name: description: The sender's name type: string example: John Doe status: description: The email message's status readOnly: true type: string enum: - pending - verified credentialId: type: string description: SMTP or any Email Service Provider credential identifier string. example: b120c2ca-6c2b-4690-9dff-3b0d87852dc7 provider: readOnly: true description: The service provider name type: string enum: - rebilly - smtp - aws-ses - mailgun - postmark - sendgrid example: rebilly isDefault: type: boolean description: Whether this setting will be used by default or not. default: false createdTime: description: The created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' EmailMessage: type: object required: - from - to - subject - text - html properties: id: description: The email message's identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' status: description: The email message's status type: string enum: - draft - outbox - sending - sent - failed default: draft metadata: description: The email message's metadata type: object additionalProperties: type: string example: eventType: subscription-canceled credentialHash: type: string description: SMTP or any Email Service Provider credential identifier string. example: b120c2ca-6c2b-4690-9dff-3b0d87852dc7 from: description: The email message's sender address type: string format: email maxLength: 254 example: from-example@rebilly.com to: description: The email message's recipients address list type: array minItems: 1 items: type: string format: email maxLength: 254 example: - to-example@rebilly.com cc: description: The email message's CC address list type: array items: type: string format: email maxLength: 254 example: - сс-example@rebilly.com bcc: description: The email message's BCC address list type: array items: type: string format: email maxLength: 254 example: - сс-example@rebilly.com subject: description: The email message's subject type: string maxLength: 998 example: Welcome dear customer! text: description: The email message's text body type: string example: Email message text body html: description: The email message's html body type: string example:

Email message html body

attachments: description: The email message's attachemnts type: array items: type: object required: - resourceType - resourceId properties: resourceType: description: The attachment's resource type type: string example: invoice resourceId: description: The attachment's resource identifier string example: INV-1 allOf: - $ref: '#/components/schemas/ResourceId' createdTime: description: The email message's created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The email message's updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to the resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' EmailNotification: type: object description: The email notification event readOnly: true properties: eventType: $ref: '#/components/schemas/EventType' count: type: integer readOnly: true description: The count of binds with `send-email` actions per event notifications: readOnly: true type: array minItems: 1 description: The list of notifications items: type: object properties: labels: description: The notification labels type: array minItems: 1 items: type: string title: type: string description: The notification title _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SystemEvent: type: object description: The application event readOnly: true properties: eventType: $ref: '#/components/schemas/EventType' title: type: string description: type: string category: description: The event system category it belongs to type: string enum: - billing - payments rulesCount: type: integer readOnly: true bindsCount: type: integer readOnly: true _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' OnOff: type: string default: active enum: - active - inactive RuleAction: type: object discriminator: propertyName: name mapping: add-risk-score: '#/components/schemas/add-risk-score' blacklist: '#/components/schemas/blacklist' cancel-scheduled-payments: '#/components/schemas/cancel-scheduled-payments' create-infusionsoft-order: '#/components/schemas/create-infusionsoft-order' create-infusionsoft-payment: '#/components/schemas/create-infusionsoft-payment' display-other-choices: '#/components/schemas/display-other-choices' guess-payment-card-expiration: '#/components/schemas/guess-payment-card-expiration' offer-purchase-bump: '#/components/schemas/offer-purchase-bump' pick-gateway-account: '#/components/schemas/pick-gateway-account' remove-reminder: '#/components/schemas/remove-reminder' request-kyc: '#/components/schemas/request-kyc' reset-reminder: '#/components/schemas/reset-reminder' schedule-invoice-retry: '#/components/schemas/schedule-invoice-retry' schedule-payment-retry: '#/components/schemas/schedule-payment-retry' schedule-payment: '#/components/schemas/schedule-payment' schedule-reminder: '#/components/schemas/schedule-reminder' send-email: '#/components/schemas/send-email' stop-subscriptions: '#/components/schemas/stop-subscriptions' tag-or-untag-customer: '#/components/schemas/tag-or-untag-customer' trigger-webhook: '#/components/schemas/trigger-webhook' properties: name: type: string description: The action name enum: - blacklist - cancel-scheduled-payments - guess-payment-card-expiration - pick-gateway-account - schedule-payment-retry - schedule-payment - schedule-invoice-retry - send-email - trigger-webhook - stop-subscriptions - add-risk-score - request-kyc - tag-or-untag-customer - display-other-choices - offer-purchase-bump - schedule-reminder - reset-reminder - remove-reminder - create-infusionsoft-order - create-infusionsoft-payment status: $ref: '#/components/schemas/OnOff' required: - name add-risk-score: allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: Add risk score properties: score: type: integer default: 0 blacklist: description: Add customer data to blacklist allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: type: type: string enum: - customer-id - email - fingerprint - ip-address - payment-card ttl: type: integer description: >- Blacklist TTL. Defaults to zero, meaning blacklist record won't expire ever. default: 0 required: - type cancel-scheduled-payments: description: '' allOf: - $ref: '#/components/schemas/RuleAction' create-infusionsoft-order: description: Create a Keap Infusionsoft order along with a contact allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: contactBody: description: >- The list of contact attributes that will be used during Keap Infusionsoft creation process type: object properties: email_addresses: description: >- The contact email addresses that will be used during Keap Infusionsoft creation process type: array minItems: 1 items: type: object properties: email: description: >- The contact email address that will be used during Keap Infusionsoft creation process type: string example: '{{ invoice.customer.email }}' field: description: >- The contact email field type that will be used during Keap Infusionsoft creation process type: string enum: - EMAIL1 - EMAIL2 - EMAIL3 example: EMAIL1 phone_numbers: description: >- The contact phone numbers that will be used during Keap Infusionsoft creation process type: array minItems: 1 items: type: object properties: number: description: >- The contact phone number that will be used during Keap Infusionsoft creation process type: string example: '{{ invoice.customer.customFields.phoneNumber }}' field: description: >- The contact phone field type that will be used during Keap Infusionsoft creation process type: string enum: - PHONE1 - PHONE2 - PHONE3 - PHONE4 - PHONE5 example: PHONE1 orderBody: description: >- The list of order attributes that will be used during Keap Infusionsoft creation process except `contact_id` type: object properties: order_date: description: >- The order date that will be used during Keap Infusionsoft creation process type: string example: '{{ invoice.issuedTime }}' order_title: description: >- The order title that will be used during Keap Infusionsoft creation process type: string example: '{{ invoice.id }}' order_type: description: >- The order type that will be used during Keap Infusionsoft creation process type: string enum: - Offline - Online example: Offline required: - order_date - order_title - order_type credentialHash: type: string description: OAuth2 credential identifier string required: - credentialHash - contactBody - orderBody create-infusionsoft-payment: description: Create a Keap Infusionsoft payment allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: paymentBody: description: >- The list of payment attributes that will be used during Keap Infusionsoft creation process type: object credentialHash: type: string description: OAuth2 credential identifier string required: - credentialHash display-other-choices: description: Display Other Choices allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: choices: type: array minItems: 1 items: type: object properties: langIso: description: Language (two letter ISO 639-1 code) type: string content: type: string required: - langIso - content required: - choices guess-payment-card-expiration: description: '' allOf: - $ref: '#/components/schemas/RuleAction' offer-purchase-bump: description: Offer Purchase Bump allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: bumpOffers: type: array minItems: 1 items: type: object properties: name: description: Bump offer name type: string weight: description: Bump offer weight type: string bumpAmount: description: Bump amount offer type: number bonusAmount: description: Bonus amount offer type: number choices: type: array minItems: 1 items: type: object properties: langIso: description: Language (two letter ISO 639-1 code) type: string content: type: string required: - langIso - content required: - name - weight - bumpAmount - bonusAmount - choices required: - bumpOffers GatewayAccountPickInstruction: type: object discriminator: propertyName: method mapping: gateway-account-weights: '#/components/schemas/gateway-account-weights' gateway-acquirer-weights: '#/components/schemas/gateway-acquirer-weights' properties: method: type: string enum: - gateway-account-weights - gateway-acquirer-weights required: - method gateway-account-weights: allOf: - $ref: '#/components/schemas/GatewayAccountPickInstruction' - type: object properties: weightedList: type: array uniqueItems: true minimum: 0 items: type: object properties: gatewayAccountId: $ref: '#/components/schemas/ResourceId' weight: type: integer required: - gatewayAccountId - weight example: | [ {"gatewayAccountId": "my_gateway_account_1", "weight": 80}, {"gatewayAccountId": "my_gateway_account_2", "weight": 20} ] required: - weightedList gateway-acquirer-weights: 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 required: - gatewayName - acquirerName - weight example: | [ {"gatewayName": "TestProcessor", "acquirerName": "AIB", "weight": 80}, {"gatewayName": "TestProcessor", "acquirerName": "B+S", "weight": 20} required: - weightedList pick-gateway-account: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: pickInstruction: $ref: '#/components/schemas/GatewayAccountPickInstruction' required: - pickInstruction remove-reminder: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- The role of Reminder (available only on Subscription events, other events should use `all`). required: - role request-kyc: description: Request KYC page to verify customer identity allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: excludePolicy: type: string description: 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: >- The currency three letter code to display on the bypass link, if optional type: string default: USD required: - excludePolicy - isMandatory - promptPolicy - rejectedBeforeTransactionProcessPolicy - rejectedAfterTransactionProcessPolicy - optionalPolicy reset-reminder: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- The role of Reminder (available only on Subscription events, other events should use `all`). required: - role schedule-invoice-retry: description: Schedule an invoice retry allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: attempts: type: array minItems: 1 items: type: object properties: scheduleInstruction: $ref: '#/components/schemas/InvoiceRetryScheduleInstruction' required: - scheduleInstruction afterAttemptPolicies: description: The policy on the attempt finishes type: array items: type: string enum: - change-subscription-renewal-time afterRetryEndPolicies: description: The policy on the retry ends type: array items: type: string enum: - abandon-invoice - cancel-subscription overrideRetryInstruction: description: Whether to replace the existing retry or not type: boolean required: - attempts - afterAttemptPolicies - afterRetryEndPolicies - overrideRetryInstruction schedule-payment-retry: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - $ref: '#/components/schemas/PaymentRetry' schedule-payment: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object description: The calculation instruction of scheduled time for payment properties: scheduleInstruction: $ref: '#/components/schemas/CommonScheduleInstruction' amountPolicy: type: string enum: - invoice-amount-due required: - scheduleInstruction - amountPolicy ReminderScheduleInstruction: type: object description: The calculation instruction of scheduled time discriminator: propertyName: method mapping: date-interval: '#/components/schemas/date-interval' day-of-month: '#/components/schemas/day-of-month' day-of-week: '#/components/schemas/day-of-week' properties: method: type: string default: '1' enum: - date-interval - day-of-month - day-of-week required: - method ReminderSchedule: type: object description: Schedule Instructions Collection properties: instructions: type: array items: $ref: '#/components/schemas/ReminderScheduleInstruction' chronology: type: string enum: - before - after required: - instructions - chronology schedule-reminder: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: role: type: string enum: - all - renewal - trial-end description: >- The role of Reminder (available only on Subscription events, other events should use `all`). schedule: $ref: '#/components/schemas/ReminderSchedule' required: - role RulesEmailNotification: type: object properties: id: type: string format: uuid description: The message identifier string. version: type: string description: >- The message version (useful for split tests). (By default is empty, but if you make multiple versions, you can name or number them to distinguish them.) weight: type: integer description: > The value for random-weighted picking of a template in the case of a split test. The split test algorithm does not factor localization when making a weighted-random template selection. Therefore, a version will be selected first, and then after a version is selected a specific localization will be selected. Take the case where two versions have different locale content -- the locales of the content is not considered when selecting the version. minimum: 0 maximum: 100 example: 75 default: 100 templates: description: > An array of message templates with the language locale identifiers according to [RFC 5646](https://tools.ietf.org/html/rfc5646). A language will be selected based on the customer's locale. If there is no locale set for the customer, then `en-US` (US English) will be used as the locale. If there is no template with the customer's locale, then a template locale will be selected by Rebilly using a closest match algorithm (which may be random at worst). If your email message templates are localized into more than one language, you SHOULD set a customer locale. An invalid placeholder will render to an empty string. For example, `Hello {{invalid.placeholder}}!` will be rendered to `Hello !`. type: array minItems: 1 items: type: object required: - locale - subject - text - html - from - to properties: locale: type: string description: >- The language locale identifier according to [RFC 5646](https://tools.ietf.org/html/rfc5646). example: fr-FR from: type: string description: > The sender address. Template placeholders are allowed. If a placeholder does not resolve to a **verified** from address, then the default verified from address will be used instead. # todo add a link to help docs on how to verify an email address maxLength: 254 to: type: array description: > The recipients addresses. Template placeholders are allowed. If a placeholder does not resolve to an email address, then no email will be sent. minItems: 1 items: type: string maxLength: 254 cc: type: array description: > The recipients to be carbon copied addresses. Template placeholders are allowed. If a placeholder does not resolve to an email address, then they will not be added to the cc. items: type: string maxLength: 254 bcc: type: array description: > The blind carbon copy recipients addresses. Template placeholders are allowed. If a placeholder does not resolve to an email address, then they will not be added to the cc. items: type: string maxLength: 254 subject: type: string description: The message subject. Template placeholders are allowed. maxLength: 998 text: type: string description: | The message's text body. Leave empty to use content from "html". Template placeholders are allowed. html: type: string description: | The message's html body. Leave empty to use content from "text". Template placeholders are allowed. editor: type: string description: > The source of the message required for the email editor. Not used for sending emails. Used by the editor to reproduce the message for future updates. attachments: description: The message's attachments type: array items: type: object required: - resourceType - resourceId properties: resourceType: description: The attachment's resource type. type: string example: invoice resourceId: description: >- The attachment's resource identifier string. Template placeholders are allowed. type: string maxLength: 255 example: INV-1 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 send-email: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: id: type: string format: uuid description: The action identifier string. title: type: string description: The title of the messages. (This title will appear in reports.) emails: type: array description: The list of messages. minItems: 1 items: $ref: '#/components/schemas/RulesEmailNotification' splitTestStartTime: type: string format: date-time description: The split test start time required: - emails stop-subscriptions: description: Stop active subscriptions allOf: - $ref: '#/components/schemas/RuleAction' tag-or-untag-customer: description: Tag or untag a customer with specified list of tags allOf: - $ref: '#/components/schemas/RuleAction' - type: object properties: addingTags: description: The list of tag ID customer should be tagged with type: array maxItems: 1000 items: type: string removingTags: description: The list of tag ID customer should be untagged from type: array maxItems: 1000 items: type: string required: - addingTags - removingTags WebhookHeader: type: object properties: name: type: string status: $ref: '#/components/schemas/OnOff' value: type: string example: Header1: value1 Header2: value2;value3 required: - name - value Webhook: type: object properties: method: type: string enum: - GET - POST - PUT - PATCH - DELETE url: type: string format: uri query: type: object description: The URI parameters additionalProperties: type: string example: param1: value1 param2: value2 body: type: string credentialHash: type: string description: Webhook Credential identifier string. headers: type: array items: $ref: '#/components/schemas/WebhookHeader' required: - method - url trigger-webhook: description: '' allOf: - $ref: '#/components/schemas/RuleAction' - $ref: '#/components/schemas/Webhook' Bind: type: object description: The rule properties: name: type: string labels: type: array uniqueItems: true example: - test-rule - 'category:foo' items: type: string pattern: '[a-zA-Z][a-zA-Z0-9:-]*' status: $ref: '#/components/schemas/OnOff' criteria: $ref: '#/components/schemas/Condition' actions: 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: >- Whether rule is final, meaning stop further matching rules if this is matched type: boolean default: true RuleSet: type: object description: Set of rules for particular event properties: version: type: integer readOnly: true binds: type: array items: $ref: '#/components/schemas/Bind' rules: type: array items: $ref: '#/components/schemas/Rule' updatedTime: $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' required: - rules RuleSetHistoryLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - history required: - rel RuleSetVersionLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - rules required: - rel RuleSetHistoryItem: type: object description: Version of rules readOnly: true properties: version: type: integer createdTime: $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to a resource readOnly: true minItems: 3 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/RuleSetHistoryLink' - $ref: '#/components/schemas/RuleSetVersionLink' RuleSetVersion: type: object description: Version of rules readOnly: true properties: version: type: integer binds: type: array items: $ref: '#/components/schemas/Bind' rules: type: array items: $ref: '#/components/schemas/Rule' createdTime: $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ForgotPassword: type: object required: - email properties: email: description: Email type: string format: email GatewayAccountDowntimeSchedule: type: object required: - startTime - endTime properties: id: description: The gateway account downtime schedule identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' status: description: The gateway account downtime schedule status readOnly: true type: string enum: - pending - ongoing - finished reason: description: The gateway account downtime schedule reason readOnly: true type: string enum: - scheduled-maintenance - daily-limit-reached - monthly-limit-reached startTime: description: The gateway account scheduled downtime start time. type: string format: date-time endTime: description: The gateway account scheduled downtime end time. type: string format: date-time createdTime: description: Gateway downtime schedule created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Gateway downtime schedule updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' GatewayAccountLimit: type: object required: - cap properties: id: description: The gateway account limit identifier. readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' status: description: The gateway account limit status. readOnly: true type: string enum: - monitoring - reached startTime: description: The limit's current period start time. type: string format: date-time readOnly: true endTime: description: >- The limit's current period end time. At this time, the limit will reset. type: string format: date-time readOnly: true frequency: description: The limit's period will reset according to the frequency. type: string readOnly: true enum: - daily - monthly type: description: | The limit can be on `money` or `count` of transactions. If `money` is chosen, the currency is the report currency. type: string readOnly: true enum: - count - money cap: description: > The limit's value cap is the maximum desired value. If type is money, the currency is the report currency. The cap only applies to approved transactions of type `authorize` or `sale`. type: integer example: 1000 usage: description: The limit's actual usage during this period. type: integer example: 375 readOnly: true createdTime: description: Gateway account limit created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Gateway account limit updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' GatewayAccountTimeline: type: object properties: id: description: The Timeline message identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' type: description: Timeline message type type: string readOnly: true enum: - gateway-account-created - gateway-account-changed - gateway-account-enabled - gateway-account-disabled - gateway-account-down - gateway-account-up - gateway-account-closed - gateway-account-limit-reached - gateway-account-limit-reset triggeredBy: description: Shows who or what triggered the Timeline message type: string readOnly: true enum: - rebilly - app - direct-api message: description: The message that describes the message details type: string extraData: $ref: '#/components/schemas/TimelineExtraData' occurredTime: description: Timeline message time readOnly: true allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Segment: type: object required: - data - owner - scope properties: id: description: ID of current Segment readOnly: true type: string allOf: - $ref: '#/components/schemas/ResourceId' owner: description: Owner (creator) of Segment readOnly: true type: object properties: id: description: User ID type: string allOf: - $ref: '#/components/schemas/ResourceId' name: description: First and last name type: string data: description: > An object containing schema to set up the UI for the segment. This schema is built and consumed by the frontend. It includes such information as Segment name, UI settings, etc. type: object isStarred: description: Toggle whether this Segment is starred by the current user type: boolean isVisible: description: Toggle whether this Segment is visible to the current user type: boolean userIds: type: array uniqueItems: true writeOnly: true description: > A list of user id's with whom to share, used if scope is set to `shared` items: description: User ID allOf: - $ref: '#/components/schemas/ResourceId' users: type: array uniqueItems: true description: | A list of user's id and first and last names with whom this Segment is shared readOnly: true items: type: object description: User person properties: id: description: User ID type: string allOf: - $ref: '#/components/schemas/ResourceId' name: description: First and last name type: string scope: description: > If `private`, then only the owner/creator can view this Segment. If set to `public`, then it's shared with anyone in the owner's organization. If set to `shared`, then it is only shared with specific users as specified in the `userIds` field type: string enum: - private - public - shared systemId: description: > If the Segment is based off of a system Segment, this will be the id of the system Segment from which it was derived. The scope must be `private` when providing this in the request. writeOnly: true type: string OAuth2ConnectLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - oauth2Connect required: - rel Integration: type: object properties: service: readOnly: true description: The integration service allOf: - $ref: '#/components/schemas/OAuth2CredentialService' count: readOnly: true type: integer minimum: 1 description: The number of available rule sets configurations: readOnly: true type: array minItems: 1 description: The list of configurations items: type: object properties: labels: description: The configuration labels type: array minItems: 1 items: type: string eventType: $ref: '#/components/schemas/EventType' title: type: string description: The configuration title _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/OAuth2ConnectLink' LayoutItem: type: object required: - planId properties: planId: description: The plan identifier string allOf: - $ref: '#/components/schemas/ResourceId' starred: description: Boolean if the plan should be starred (special callout presentation) type: boolean order: description: Item's order in Layout type: integer readOnly: true _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ItemsLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - items required: - rel Layout: type: object required: - name properties: id: description: The layout identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: The name of the layout string type: string items: description: The array of layout items (planId and starred) type: array items: $ref: '#/components/schemas/LayoutItem' createdTime: description: Layout created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 2 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/ItemsLink' List: type: object required: - description - values properties: id: description: List ID readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' version: description: List version type: integer readOnly: true minimum: 1 description: description: List description type: string values: description: List values type: array items: type: string createdTime: description: List created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: List updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: Links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Membership: type: object required: - organization - user properties: organization: description: Membership organization readOnly: true type: object properties: id: description: Organization ID type: string allOf: - $ref: '#/components/schemas/ResourceId' name: description: Organization name type: string createdTime: description: The organization created time allOf: - $ref: '#/components/schemas/ServerTimestamp' user: description: Membership user readOnly: true type: object properties: id: description: Organization ID type: string allOf: - $ref: '#/components/schemas/ResourceId' name: description: First and last name type: string permissions: description: >- The user's permissions. See the format in example. Use wildcard `*` for full access. allOf: - $ref: '#/components/schemas/AclPermissions' isOwner: description: User is owner of organization type: boolean isDefault: description: This organization is default for membership user type: boolean readOnly: true _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SendTestEmail: description: Send a test email allOf: - $ref: '#/components/schemas/RulesEmailNotification' SendPreviewWebhook: description: Trigger a test webhook allOf: - $ref: '#/components/schemas/Webhook' GlobalWebhookEventType: type: string description: Rebilly webhooks event type enum: - customer-merged - customer-created - customer-updated - dispute-created - gateway-account-requested - invoice-modified - invoice-created - invoice-abandoned - invoice-paid - invoice-voided - invoice-issued - invoice-past-due - invoice-past-due-reminder - offsite-payment-completed - payment-card-expired - payment-card-expiration-reminder - renewal-invoice-issued - renewal-invoice-payment-declined - subscription-trial-ended - subscription-activated - subscription-canceled - subscription-reactivated - subscription-renewed - subscription-trial-end-reminder - subscription-renewal-reminder - order-completed - transaction-processed - transaction-timeout-resolved - transaction-declined - transaction-discrepancy-found - transaction-amount-discrepancy-found - kyc-document-accepted - kyc-document-rejected - kyc-document-reviewed GlobalWebhook: type: object required: - method - url - credentialHash properties: id: description: The webhook identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' eventsFilter: description: An array of System event type type: array default: [] items: $ref: '#/components/schemas/GlobalWebhookEventType' status: $ref: '#/components/schemas/OnOff' method: type: string enum: - GET - POST - PUT - PATCH - DELETE url: description: URL that will be triggered when the given event occurs. type: string format: uri headers: type: array items: $ref: '#/components/schemas/WebhookHeader' credentialHash: type: string description: >- Hash from Credentials which is used for authentication by the given URL createdTime: description: List created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: List updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: Links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Profile: type: object properties: id: description: The user identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' email: description: The user email readOnly: true type: string format: email maxLength: 100 firstName: description: User's first name readOnly: true type: string lastName: description: User's last name readOnly: true type: string businessPhone: description: The user business phone number readOnly: true type: string mobilePhone: description: The user mobile phone number readOnly: true type: string memberships: description: The user memberships. type: array items: $ref: '#/components/schemas/Membership' availableCurrencies: type: array description: An array of reporting currencies enabled for the merchant readOnly: true items: type: string reportingCurrency: description: The user's ISO Alpha-3 code used for reports type: string totpRequired: description: The user setting of two-factor authentification type: boolean totpSecret: description: The user TOTP key for authentification app (if TOTP enabled) readOnly: true type: string totpUrl: description: >- The user link to QR-code for TOTP authentification app (if TOTP enabled) readOnly: true type: string format: url oneTimePassword: description: > The one time password generated by Google Authenticator (required when enabling/disabling 2FA). Should contain digits only. type: string pattern: '^[0-9]{6}$' example: '123456' country: description: The user country setting - two letter code readOnly: true type: string preferences: description: >- User preferences like timezone, language and many more. This is an object with custom properties. type: object UpdatePassword: type: object required: - currentPassword - newPassword properties: currentPassword: description: Current user's password - used when requesting password change type: string format: password newPassword: description: New user's password - used when requesting password change type: string format: password ResetPasswordTokenInfo: type: object properties: token: description: Token type: string readOnly: true sentTime: description: Creation date/time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' ResetPassword: type: object required: - newPassword properties: newPassword: description: New password type: string format: password User: type: object required: - email - firstName - lastName properties: id: description: The user identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' email: description: The user email type: string format: email maxLength: 100 firstName: description: User's first name type: string lastName: description: User's last name type: string businessPhone: description: The user business phone number type: string mobilePhone: description: The user mobile phone number type: string password: description: "User's password. If not provided, password reset email will be sent" type: string format: password permissions: description: >- The user's permissions. See the format in example. Use wildcard `*` for full access. allOf: - $ref: '#/components/schemas/AclPermissions' createdTime: description: The user created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: The user updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' loginTime: description: The user last login time allOf: - $ref: '#/components/schemas/ServerTimestamp' reportingCurrency: description: The user's ISO Alpha-3 code used for reports readOnly: true type: string availableCurrencies: type: array description: An array of reporting currencies enabled for the merchant readOnly: true items: type: string totpRequired: description: The user setting of two-factor authentification type: boolean totpSecret: description: The user TOTP key for authentification app (if TOTP enabled) type: string totpUrl: description: >- The user link to QR-code for TOTP authentification app (if TOTP enabled) type: string format: url status: description: The user status type: string enum: - active - inactive - pending-confirmation readOnly: true country: description: The user country setting - two letter code type: string preferences: description: >- User preferences like timezone, language and many more. This is an object with custom properties. type: object _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' SendThroughAttribution: type: object description: The email notification send through attribution readOnly: true properties: eventType: $ref: '#/components/schemas/EventType' actionId: type: string format: uuid description: The email notification action's identifier number versionId: type: string format: uuid description: The email notification version's identifier number sent: type: integer minimum: 0 description: The email notification send number goal: type: integer minimum: 0 description: The email notification goal number Signin: type: object required: - email - password properties: email: description: Email type: string example: email@example.com password: description: Password type: string format: password oneTimePassword: description: >- One time password for 2 factor authentication. Should contain digits only. type: string pattern: '^[0-9]{6}$' example: '123456' expiredTime: description: Session expired time. Defaults to one hour type: string format: date-time Session: type: object required: - permissions properties: id: description: The session identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' token: description: The session's token used for authentication type: string permissions: description: >- The session's permissions. See the format in example. Use wildcard `*` for full access. allOf: - $ref: '#/components/schemas/AclPermissions' memberships: description: The user memberships. type: array items: $ref: '#/components/schemas/Membership' userId: description: The user identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' createdTime: description: Session created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Session updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' expiredTime: description: Session expired time. Defaults to one hour type: string format: date-time _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Signup: type: object required: - email - company - firstName - lastName - businessPhone - password - website properties: email: description: The user email type: string format: email maxLength: 100 company: description: The user company name type: string firstName: description: The user first name type: string lastName: description: The user last name type: string businessPhone: description: The user business phone number type: string password: description: The user password type: string format: password website: description: The user website address type: string country: description: The user country (ISO Alpha-2 code) type: string pattern: '^[A-Z]{2}$' default: US reportingCurrency: description: >- The currency to be set only once which will be used for conversion in reports type: string pattern: '^[A-Z]{3}$' default: USD Status: type: object properties: status: description: The API status. If everything is ok - value is 'ok' type: string readOnly: true enum: - ok time: description: Current time allOf: - $ref: '#/components/schemas/ServerTimestamp' ApiTracking: type: object description: Tracking API Requests. readOnly: true properties: id: allOf: - $ref: '#/components/schemas/ResourceId' status: type: integer description: HTTP response code url: type: string description: API request address route: type: string description: API request route example: '/v2.1/customers/{param}' method: type: string description: HTTP method enum: - HEAD - GET - POST - PUT - DELETE - PATCH request: type: string description: Request JSON-string response: type: string description: Response JSON-string requestHeaders: type: object additionalProperties: type: string example: User-Agent: Mozilla/5.0 Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' responseHeaders: type: object additionalProperties: type: string example: Rate-Limit-Limit: 5000 Rate-Limit-Remaining: 4999 Rate-Limit-Reset: 'Mon, 31 Jul 2017 04:16:00 +0000' user: type: object description: The user who has made a request readOnly: true properties: userId: allOf: - $ref: '#/components/schemas/ResourceId' apiKeyId: allOf: - $ref: '#/components/schemas/ResourceId' email: description: The user email type: string format: email firstName: description: The user first name type: string lastName: description: The user last name type: string ipAddress: type: string description: Client IP address format: ipv4 userAgent: description: The software that is acting on behalf of a user type: string fingerprint: description: The user device fingerprint hash type: string isSupport: description: If user from support type: boolean relatedIds: type: object description: The IDs of related resources readOnly: true properties: customerId: allOf: - $ref: '#/components/schemas/ResourceId' transactionId: allOf: - $ref: '#/components/schemas/ResourceId' tokenId: allOf: - $ref: '#/components/schemas/ResourceId' duration: type: integer description: Request duration in milliseconds createdTime: description: The log created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' WebhookTracking: type: object description: > Webhook tracking lists up to the 1,000 most-recent webhooks delivered. Filters are limited to only the id or the entityId (the core related-entity's id). The results are sorted in reverse chronological order. Sort order may not be further controlled. readOnly: true properties: id: allOf: - $ref: '#/components/schemas/ResourceId' eventType: $ref: '#/components/schemas/EventType' entityId: type: string description: The id of the main entity related to the event type. url: type: string description: Url where webhook was sent method: type: string description: HTTP method which was used to send webhook example: POST headers: type: object description: HTTP headers which were used to send webhook additionalProperties: type: string example: My-Header: Cool-Value responseCode: type: integer description: HTTP code response responseBody: type: string description: Response body received payload: type: string description: Webhook's payload source: type: string description: The Webhook's source enum: - webhooks - rules attempt: type: integer description: The Webhook's attempt number sentTime: description: Sent time allOf: - $ref: '#/components/schemas/ServerTimestamp' initiatedTime: description: Initiated time allOf: - $ref: '#/components/schemas/ServerTimestamp' createdTime: description: The log created time allOf: - $ref: '#/components/schemas/ServerTimestamp' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: $ref: '#/components/schemas/SelfLink' Website: type: object required: - organizationId - name - url - servicePhone - serviceEmail properties: id: description: The website identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' organizationId: description: Organization ID allOf: - $ref: '#/components/schemas/ResourceId' name: description: The website's name type: string url: description: The website's domain address type: string servicePhone: description: The website's customer service phone number type: string serviceEmail: description: The website's customer service email address type: string format: email createdTime: description: Website created time allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Website updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' customFields: $ref: '#/components/schemas/ResourceCustomFields' _links: type: array description: The links related to resource readOnly: true minItems: 1 items: anyOf: - $ref: '#/components/schemas/SelfLink' - $ref: '#/components/schemas/OrganizationLink' CustomerInformation: type: object properties: currency: description: 'Currency (three letter ISO 4217 alpha code) (eg USD, EUR)' readOnly: true type: string refundsAmount: description: Sum of all refunded transactions readOnly: true type: number format: double revenueAmount: description: Sum of overall sales and captures that were approved readOnly: true type: number format: double disputesAmount: description: Sum of all disputed transactions readOnly: true type: number format: double LinkSelf: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - self required: - rel LinkUser: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - user required: - rel LinkFileDownload: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - download required: - rel LinkSignedLink: type: object allOf: - $ref: '#/components/schemas/Link' properties: rel: description: The link type type: string enum: - signedLink required: - rel DataExport: type: object discriminator: propertyName: resource mapping: customers: '#/components/schemas/customers' subscriptions: '#/components/schemas/subscriptions' transactions: '#/components/schemas/transactions' required: - name - format - resource properties: id: description: The export identifier string readOnly: true allOf: - $ref: '#/components/schemas/ResourceId' name: description: Export name type: string resource: description: 'The type of resource being exported (eg., transactions).' type: string enum: - transactions - customers - subscriptions format: description: Export result format type: string enum: - csv - json - json-api - xml arguments: description: >- Export request arguments that can be passed to filter and/or sort the result set. See the [arguments guide](https://docs-reconciliation.rebilly.com/getting-started/arguments) for more options and examples. type: object properties: filter: description: >- The collection items filter requires a special format. Use "," for multiple allowed values. Use ";" for multiple fields. type: string sort: type: string description: >- The collection items sort field and order (prefix with "-" for descending sort). q: type: string description: The partial search of the text fields. dateRange: type: object description: >- The date range (can be in relative formats). If omitted, all time will be included. See the [Date Range guide](https://docs-reconciliation.rebilly.com/getting-started/date-range) for more options and examples. properties: start: type: string description: >- Any valid datetime arguments including [relative datetime arguments](http://php.net/manual/en/datetime.formats.php). example: yesterday end: type: string description: >- Any valid datetime arguments including [relative datetime arguments](http://php.net/manual/en/datetime.formats.php). example: today field: type: string description: The field to apply date range to. required: - start - end emailNotification: description: List of emails to be notified when export is completed type: array items: type: string format: email fields: description: >- List of fields to include in the export. See supporting documentation for more info. If omitted, default fields will be included. type: array items: type: string recurring: description: Exports can reoccur according to your own schedule type: object required: - instruction properties: instruction: type: string description: RRule RFC 5545 formatted string used for recurring exports start: type: string format: date-time description: >- The date and time when the first recurring scheduled export will occur. Defaults to now. userId: description: The ID of the User who requested the data export readOnly: true type: string recordCount: description: The number of records in the export (excluding the header row) readOnly: true type: integer scheduledTime: description: The date and time this data export is scheduled to generate a file allOf: - $ref: '#/components/schemas/ServerTimestamp' createdTime: description: The time the data export was requested allOf: - $ref: '#/components/schemas/ServerTimestamp' updatedTime: description: Data export updated time allOf: - $ref: '#/components/schemas/ServerTimestamp' status: description: Status of export request readOnly: true type: string enum: - pending - queued - processing - completed _links: type: array description: The links related to resource readOnly: true minItems: 1 maxItems: 4 items: anyOf: - $ref: '#/components/schemas/LinkSelf' - $ref: '#/components/schemas/LinkUser' - $ref: '#/components/schemas/LinkFileDownload' - $ref: '#/components/schemas/LinkSignedLink' customers: description: Customers resource type to export allOf: - $ref: '#/components/schemas/DataExport' - type: object properties: dateRange: type: object properties: field: type: string default: createdTime example: createdTime subscriptions: description: Subscriptions resource type to export allOf: - $ref: '#/components/schemas/DataExport' - type: object properties: dateRange: type: object properties: field: type: string default: createdTime example: createdTime transactions: description: Transactions resource type to export allOf: - $ref: '#/components/schemas/DataExport' - type: object properties: dateRange: type: object properties: field: type: string default: processedTime example: processedTime HistogramData: type: object properties: data: type: array items: type: object description: Contains date-time and value readOnly: true properties: date: type: string description: Entry date-time value: type: number description: Entry value ReportPaymentsSuccessfulRetries: type: object properties: data: type: array items: type: object description: Contains a report of payments successful retries throughput readOnly: true properties: declineCode: type: string description: Decline reason code declineMessage: type: string description: Decline reason message successfulRatio: type: number format: double description: Successful ratio APILogSummary: type: object properties: data: type: array items: type: object description: The number of requests per each method. readOnly: true properties: route: type: string description: Route string pattern total: type: integer description: Total count of requests get: type: integer description: Count of GET requests. post: type: integer description: Count of POST requests. put: type: integer description: Count of PUT requests. patch: type: integer description: Count of PATCH requests. delete: type: integer description: Count of DELETE requests. head: type: integer description: Count of HEAD requests. options: type: integer description: Count of OPTIONS requests. CumulativeSubscriptionsPlans: type: array items: type: object description: Contains an aggregation readOnly: true properties: day: type: string description: Date in format YYYY-MM-DD month: type: integer description: Date in format YYYY-MM planId: type: integer description: Plan id for which the aggregation is given newCount: type: integer description: Number of new subscriptions within the aggregation canceledCount: type: integer description: Number of canceled subscriptions within the aggregation netCount: type: integer description: newCount - canceledCount cumulativeCount: type: integer description: > Number of cumulative subscriptions from the previous aggregation + number of new subscriptions - number of canceled subscriptions within the aggregation. CumulativeSubscriptions: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: >- Date in format YYYY-MM (monthly aggregation) or YYYY-MM-DD (daily aggregation) newCount: type: integer description: Number of new subscriptions within the aggregation canceledCount: type: integer description: Number of canceled subscriptions within the aggregation cumulativeCount: type: integer description: > Number of cumulative subscriptions from the previous aggregation + number of new subscriptions - number of canceled subscriptions within the aggregation. DashboardResponse: type: array items: type: object properties: metric: type: string description: Metric type enum: - approvalRate - salesCount - salesValue - refundsValue - chargebacksCount - chargebacksValue - transactionsCount - redeemedCouponsCount - newLeadsCount - newCustomersCount - appliedCouponsCount - trialConversionsCount - trialConversionsRate - renewalSuccessRate - renewalsCount - newTrialsCount - reactivationsCount - successfulRetriesCount - invoicedRevenue - churnCount - churnRate - cancellationsCount - cancellationsRate - activeSubscriptionsCount - newSubscriptionsCount - upgradesCount - downgradesCount humanName: type: string description: Metric name to display increaseIsGood: type: boolean description: >- True when the higher value means a better performance thus positive for a merchant, false otherwise segments: type: array items: type: object properties: name: type: string description: Segment name value: type: number format: double description: Segment value for the given date range previousValue: type: number format: double description: >- Segment value for the previous date range (relative to the given date range) humanValue: type: string description: >- Human readable segment value (formatted with a currency sign) changeRatio: type: number format: double description: Ratio of current value per previous value null is infinity humanChangeRatio: type: string description: >- Human readable change ratio (formatted percentage with a "%" sign), null is infinity timeseries: type: array items: type: object description: Chart data readOnly: true properties: date: type: string description: Entry date-time value: type: number description: Entry value DccMarkup: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: > Value by which the report provides aggregated data. The date values are displayed as following: Day: YYYY-MM-DD; Month: YYYY-MM. selectedCount: type: integer description: Number of selected offers in the aggregation selectedSum: type: number format: double description: Amount of selected offers in the aggregation rejectedCount: type: integer description: Number of rejected offers in the aggregation rejectedSum: type: number format: double description: Amount of rejected offers in the aggregation unknownCount: type: integer description: >- Number of offers in the aggregation which weren't selected nor rejected unknownSum: type: number format: double description: >- Amount of offers in the aggregation which weren't selected nor rejected ReportDisputes: type: object properties: data: type: array items: type: object properties: aggregationValue: description: > Selected aggregation field value (defined by query). It can be, for example, website or country. You define it in aggregationField param in query. type: string countVisa: description: Disputes count on Visa type: integer ratioCountVisa: description: Disputes count / Settled transactions count type: number format: double ratioAmountVisa: description: Disputes amount / Settled transactions amount type: number format: double countMastercard: description: Disputes count on Mastercard type: integer ratioCountMastercard: description: Disputes count / Settled transactions count type: number format: double ratioAmountMastercard: description: Disputes amount / Settled transactions amount type: number format: double ReportEventsTriggeredSummary: type: object properties: data: type: array items: type: object properties: eventName: description: | System event name. type: string enum: - dispute-created - gateway-account-requested - transaction-processed - subscription-canceled - subscription-renewed - payment-card-expired - payment-declined - transaction-process-requested - risk-score-changed count: description: Count of event triggered type: integer ReportRulesMatchedSummary: type: object properties: data: type: array items: type: object properties: rule: description: | Rule matched name. type: string count: description: Count of matched rule. type: integer approvalRate: description: Transaction approval rate by rule. type: number format: double FutureRenewals: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: date: type: string description: Date in format YYYY-MM sum: type: number format: double description: Amount of future renewals in user's reporting currency plansCount: type: array items: type: object description: Plan within the aggregation readOnly: true properties: planId: description: Plan identifier allOf: - $ref: '#/components/schemas/ResourceId' count: type: integer description: Amount of plan's future renewals RenewalSales: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: Date in format YYYY-MM newSales: type: number format: double description: Amount of new sales newRefunds: type: number format: double description: Amount of new refunds renewalSales: type: number format: double description: Amount of renewal sales renewalRefunds: type: number format: double description: Amount of renewal refunds ReportRetentionPercentage: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: > Value by which the report provides retention periods and percentages. The date values are displayed as following: Day: YYYY-MM-DD; Month: YYYY-MM; Quarter: YYYY-MM/YYYY-MM; Year: YYYY. subscriptionsCount: type: integer description: Number of subscriptions created within the aggregation periods: type: array items: type: object description: The period for the given aggregation properties: period: type: integer description: > Retention period (0 - first, 1 - second etc) since the beginning boundary of the aggregation retentionRatio: type: number format: double description: > Ratio % of remaining subcriptions (not canceled) at the moment of retention period to all subscriptions created in the aggregation period canceledSubscriptionsCount: type: integer description: >- Number of canceled subscriptions within the given retention period ReportRetentionValue: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: > Value by which the report provides retention periods and values. The date values are displayed as following: Day: YYYY-MM-DD; Month: YYYY-MM; Quarter: YYYY-MM/YYYY-MM; Year: YYYY. customersCount: type: integer description: >- Number of customers within the aggregation with their first payment periods: type: array items: type: object description: The period for the given aggregation properties: period: type: integer description: > Retention period (0 - first, 1 - second etc) since the beginning boundary of the aggregation retentionAverage: type: number format: double description: > Summary amount of all transactions for all periods up to the current one divided by the aggregation customers number transactionsCount: type: integer description: >- The number of transactions happened in the retention period (e.g. in 3 rebills) transactionsValue: type: number format: double description: >- The amount of transactions (income transactions - loss transactions) ReportPaymentRetry: type: object properties: data: type: array readOnly: true items: type: object properties: retryNumber: description: Retry attempts number type: integer attempts: description: Attempts count type: integer successfulTransactions: description: Successful transactions count type: integer successRate: description: Successful transactions ratio type: number format: double ReportStatistics: type: object properties: revenue: description: Revenue in last 24 hours type: number format: double revenueGrowthPercentage: description: >- Revenue growth (in percents) in last 24 hours (against previous 24 hours) type: number format: double customers: description: New customers count in last 24 hours type: integer customersGrowthPercentage: description: >- Customers count growth (in percents) in last 24 hours (against previous 24 hours) type: number format: double cancels: description: Cancels count in last 24 hours type: integer cancelsGrowthPercentage: description: >- Cancels count growth (in percents) in last 24 hours (against previous 24 hours) type: number format: double refunds: description: Refunds count type: integer refundsGrowthPercentage: description: >- Refunds count growth (in percents) in last 24 hours (against previous 24 hours) type: number format: double SubscriptionCancellationReport: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: aggregationValue: type: string description: Aggregation value count: type: integer description: Count of canceled subscriptions averageLength: type: number format: double description: >- Average length of canceled subscription from start to end within the aggregation in seconds medianLength: type: number format: double description: >- Median length of canceled subscription from start to end within the aggregation in seconds SubscriptionRenewal: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: planId: description: Plan identifier for which subscriptions are counted allOf: - $ref: '#/components/schemas/ResourceId' allRenewalCount: type: integer description: All renewed subscriptions number allDunningCount: type: integer description: All dunned subscriptions number abandonedCount: type: integer description: Abandon subscriptions number paidRenewalCount: type: integer description: >- Number of paid renewed subscriptions. Divide by allRenewalCount to know the renewal success rate paidDunningCount: type: integer description: >- Number of paid dunned subscriptions. Divide by allDunningCount to know the dun success rate refundedRenewalCount: type: integer description: >- Number of paid renewed subscriptions. Divide by allRenewalCount to know the renewal refund rate refundedDunningCount: type: integer description: >- Number of paid dunned subscriptions. Divide by allDunningCount to know the dun refund rate chargebackRenewalCount: type: integer description: >- Number of paid renewed subscriptions. Divide by allRenewalCount to know the renewal chargeback rate chargebackDunningCount: type: integer description: >- Number of paid dunned subscriptions. Divide by allDunningCount to know the dun chargeback rate TimeSeriesTransaction: type: object properties: data: type: array items: type: object description: Contains an aggregation readOnly: true properties: date: type: string description: Date in format YYYY-MM-DD total: type: number format: double description: Amount or count of all transactions within the aggregation subaggregates: type: object description: >- Subaggregates which have appropriate transactions within the range properties: subaggregate: type: string description: Subaggregate identifier value: type: number format: double description: >- Amount or count of the subaggregate's transactions within the aggregation TransactionsPlan: type: array items: type: object description: Contains transaction's data readOnly: true properties: transactionId: description: Transaction's identifier allOf: - $ref: '#/components/schemas/ResourceId' websiteId: description: Website's identifier allOf: - $ref: '#/components/schemas/ResourceId' customerId: description: Customer's identifier allOf: - $ref: '#/components/schemas/ResourceId' customerEmail: type: string description: Customer's email planId: description: Plan's identifier allOf: - $ref: '#/components/schemas/ResourceId' subscriptionId: description: Subscription's identifier allOf: - $ref: '#/components/schemas/ResourceId' currency: type: string description: Transaction's currency 3-letters code amount: type: number format: double description: Transaction's amount rebillNumber: type: integer description: Transaction's rebill number createdTime: description: Transaction's created time allOf: - $ref: '#/components/schemas/ServerTimestamp' type: type: string description: Transaction's type enum: - authorize - capture - credit - refund - sale - void result: type: string description: Transaction's result enum: - approved - connection-error - declined - never-sent - pending - pending-processor - timeout - unknown gatewayTransactionId: type: string description: Gateway's own transaction identifier paymentType: type: string enum: - payment_card - ach - paypal - china_unionpay - ochapay description: Type of payment ReportDisputeDelays: type: object properties: data: type: array items: type: object properties: aggregationFieldValue: description: > Selected aggregation field value (defined by query). It can be, for example, website or country. You define it in aggregationField param in query. type: string 25th: description: 25th percentile type: integer 50th: description: 50th percentile type: integer 75th: description: 75th percentile type: integer ReportTransactions: type: object properties: data: type: array readOnly: true items: type: object properties: aggregationFieldValue: description: Selected aggregation field value type: string authApprovedThroughput: description: Approved auth transactions to all transactions percentage type: integer approvedThroughput: description: Approved sale transactions to all transactions percentage type: integer authApprovalCount: description: Approved auth transactions count type: integer disputesRate: description: >- Disputed transactions to all approved sale and capture transactions percentage type: integer disputesCount: description: >- Disputed transactions to all approved sale and capture transactions count type: integer salesCount: description: Sales count type: integer salesValue: description: Sales value type: number format: double salesAverage: description: Sales average value type: number format: double refundsCount: description: Refunds count type: integer refundsValue: description: Refunds value type: number format: double amount: description: Amount type: number format: double count: description: Transactions count type: number format: double SubscriptionSummaryMetrics: type: object properties: currency: description: 'Currency (three letter ISO 4217 alpha code) (eg USD, EUR)' readOnly: true type: string invoicedAmount: description: 'Sum of all issued, past due, or paid invoices' readOnly: true type: number format: double collectedAmount: description: Sum of all paid invoices readOnly: true type: number format: double invoiceCount: description: 'Number of issued, past due, or paid invoices' readOnly: true type: integer parameters: organizationId: name: Organization-Id in: header description: >- Organization identifier in scope of which need to perform request (if not specified, the default organization will be used) schema: $ref: '#/components/schemas/ResourceId' required: false collectionLimit: name: limit in: query description: The collection items limit schema: type: integer minimum: 0 maximum: 1000 collectionOffset: name: offset in: query description: The collection items offset schema: type: integer minimum: 0 resourceId: name: id in: path description: The resource identifier string required: true schema: type: string maxLength: 50 pattern: '^[@~\-\.\w]+$' collectionFilter: name: filter in: query description: > The collection items filter requires a special format. Use "," for multiple allowed values. Use ";" for multiple fields. See the [filter guide](#section/Using-filter) for more options and examples about this format. schema: type: string collectionQuery: name: q in: query description: The partial search of the text fields. schema: type: string collectionExpand: name: expand in: query description: > Expand a response to get a full related object included inside of the `_embedded` path in the response. It accepts a comma-separated list of objects to expand. See the [expand guide](#section/Expand-to-Include-Embedded-Objects) for more info. schema: type: string collectionFields: name: fields in: query description: >- Limit the returned fields to the list specified, separated by comma. Note that id is always returned. schema: type: string collectionSort: name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string customFieldResource: name: resource in: path description: The resource type string required: true schema: type: string enum: - customers - payment-cards - subscriptions - transactions - websites - contacts - products - plans subscriptionExpand: name: expand in: query description: > Expand a response to get a full related object included inside of the `_embedded` path in the response. To expand multiple objects, it accepts a comma-separated list of objects (example: `expand=recentInvoice,initialInvoice`). Available arguments are: - recentInvoice - initialInvoice - customer - website See the [expand guide](#section/Expand-to-Include-Embedded-Objects) for more info. schema: type: string tag: name: tag in: path description: The tag name required: true schema: type: string pattern: '^[@~\-\.\w\s]+$' customerId: name: customerId in: path description: The customer identifier string required: true schema: type: string maxLength: 50 pattern: '^[@~\-\.\w]+$' hash: name: hash in: path description: The token identifier string required: true schema: type: string token: name: token in: path description: The token string required: true schema: type: string systemEventType: name: eventType in: path description: The event type required: true schema: type: string rulesVersion: name: version in: path required: true description: >- The rule set version. Expand response to get full related object instead of ID. See the expand guide for more info. schema: type: integer minimum: 1 integrationLabel: name: label in: path description: The integration label required: true schema: $ref: '#/components/schemas/OAuth2CredentialService' reportTimezone: name: tz in: query description: Report's timezone offset in minutes schema: type: integer minimum: -720 maximum: 720 headers: Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string Pagination-Total: description: Total items count schema: type: integer Pagination-Limit: description: Items per page limit schema: type: integer Pagination-Offset: description: Pagination offset schema: type: integer responses: Unauthorized: description: 'Unauthorized access, invalid credentials was used' content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: Access forbidden content: application/json: schema: $ref: '#/components/schemas/Error' ValidationError: description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' NotFound: description: Resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' Conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' Customer: description: Customer headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Customer' Found: description: Resource was moved headers: Location: schema: type: string NoContent: description: 'Request was accepted, but no response body is returned' requestBodies: Attachment: content: application/json: schema: $ref: '#/components/schemas/Attachment' description: Attachment resource required: true Blacklist: content: application/json: schema: $ref: '#/components/schemas/Blacklist' description: Blacklist resource required: true Coupon: content: application/json: schema: $ref: '#/components/schemas/Coupon' description: Coupon resource required: true Credential: content: application/json: schema: $ref: '#/components/schemas/Credential' description: Credential resource required: true Customer: content: application/json: schema: $ref: '#/components/schemas/Customer' description: Customer resource required: true Dispute: content: application/json: schema: $ref: '#/components/schemas/Dispute' description: Dispute resource required: true Invoice: content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' description: Invoice resource required: true Plan: content: application/json: schema: $ref: '#/components/schemas/Plans_Plan' description: Plan resource required: true Product: content: application/json: schema: $ref: '#/components/schemas/schemas_Product' description: Product resource required: true SubscriptionCancellation: content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellation' description: Cancellation resource required: true Subscription: content: application/json: schema: $ref: '#/components/schemas/Subscription' description: Subscription resource required: true Tag: content: application/json: schema: $ref: '#/components/schemas/Tag' description: Tag resource required: true TransactionRequest: content: application/json: schema: $ref: '#/components/schemas/TransactionRequest' description: Payment resource required: true ApiKey: content: application/json: schema: $ref: '#/components/schemas/ApiKey' description: ApiKey resource required: true CheckoutPage: content: application/json: schema: $ref: '#/components/schemas/CheckoutPage' description: Checkout Page resource required: true OAuth2Credential: content: application/json: schema: $ref: '#/components/schemas/OAuth2Credential' description: OAuth2 credential resource required: true RuleSet: content: application/json: schema: $ref: '#/components/schemas/RuleSet' description: Set of rules resource required: true GatewayAccount: content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' description: Gateway Account resource required: true GatewayAccountDowntimeSchedule: content: application/json: schema: $ref: '#/components/schemas/GatewayAccountDowntimeSchedule' description: Gateway Account downtime schedule resource required: true Segment: content: application/json: schema: $ref: '#/components/schemas/Segment' description: Segment resource required: true Layout: content: application/json: schema: $ref: '#/components/schemas/Layout' description: Layout resource required: true List: content: application/json: schema: $ref: '#/components/schemas/List' description: List resource required: true Organization: content: application/json: schema: $ref: '#/components/schemas/Organization' description: Organization resource required: true GlobalWebhook: content: application/json: schema: $ref: '#/components/schemas/GlobalWebhook' description: Webhook resource required: true UpdatePassword: content: application/json: schema: $ref: '#/components/schemas/UpdatePassword' description: currentPassword and newPassword required: true User: content: application/json: schema: $ref: '#/components/schemas/User' description: User resource required: true Website: content: application/json: schema: $ref: '#/components/schemas/Website' description: Website resource required: true DataExport: content: application/json: schema: $ref: '#/components/schemas/DataExport' description: Data Export Request required: true PostOrganization: content: application/json: schema: required: - name - website - country - reportCurrency properties: name: description: >- The organization name. It must be globally unique within Rebilly. type: string website: description: The organization website address type: string format: url address: description: The organization street address type: string maxLength: 60 address2: description: The organization street address type: string maxLength: 60 city: description: The organization city type: string maxLength: 45 region: description: The organization region (state) type: string maxLength: 45 country: description: The organization country ISO Alpha-2 code type: string pattern: '^[A-Z]{2}$' postalCode: description: The organization postal code type: string maxLength: 10 phoneNumbers: $ref: '#/components/schemas/ContactPhoneNumbers' emails: $ref: '#/components/schemas/ContactEmails' taxDescriptor: description: >- The organization's tax label. This will be displayed on the invoice. type: string maxLength: 255 invoiceTimeZone: description: >- Invoice will use this time zone to display time otherwise UTC will be used. Example "America/New_York" type: string maxLength: 50 reportCurrency: description: >- The currency used for reports. It can only be set upon organization creation. type: string pattern: '^[A-Z]{3}$' description: Create Organization Request PatchOrganization: content: application/json: schema: properties: name: description: >- The organization name. It must be globally unique within Rebilly. type: string address: description: The organization street address type: string maxLength: 60 address2: description: The organization street address type: string maxLength: 60 city: description: The organization city type: string maxLength: 45 region: description: The organization region (state) type: string maxLength: 45 country: description: The organization country ISO Alpha-2 code type: string pattern: '^[A-Z]{2}$' postalCode: description: The organization postal code type: string maxLength: 10 phoneNumbers: $ref: '#/components/schemas/ContactPhoneNumbers' emails: $ref: '#/components/schemas/ContactEmails' taxDescriptor: description: >- The organization's tax label. This will be displayed on the invoice. type: string maxLength: 255 invoiceTimeZone: description: >- Invoice will use this time zone to display time otherwise UTC will be used. Example "America/New_York" type: string maxLength: 50 description: Create Organization Request paths: /3dsecure: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - 3D Secure summary: Retrieve a list of ThreeDSecure entries operationId: Get3DSecureCollection parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/ThreeDSecure' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - 3D Secure summary: Create a ThreeDSecure entry operationId: Post3DSecure description: | Create a ThreeDSecure entry requestBody: content: application/json: schema: $ref: '#/components/schemas/ThreeDSecure' description: ThreeDSecure resource required: true responses: '201': description: ThreeDSecure entry was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ThreeDSecure' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/3dsecure/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - 3D Secure summary: Retrieve a ThreeDSecure entry operationId: Get3DSecure description: | Retrieve a ThreeDSecure entry with specified identifier string responses: '200': description: ThreeDSecure entry was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ThreeDSecure' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /attachments: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Retrieve a list of Attachments operationId: GetAttachmentCollection description: | Retrieve a list of Attachments parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionExpand' - $ref: '#/components/parameters/collectionFields' - name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string enum: - id - '-id' - name - '-name' - relatedId - '-relatedId' - relatedType - '-relatedType' - fileId - '-fileId' - createdTime - '-createdTime' - updatedTime - '-updatedTime' responses: '200': description: A list of Attachments was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Attachment' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $attachments = $client->attachments()->search([ 'filter' => 'relatedType:customer', ]); post: tags: - Files summary: Create an Attachment operationId: PostAttachment description: | Create an Attachment requestBody: $ref: '#/components/requestBodies/Attachment' responses: '201': description: Attachment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Attachment' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $attachmentForm = new Rebilly\Entities\Attachment(); $attachmentForm->setFileId('fileId'); $attachmentForm->setRelatedType($attachmentForm::TYPE_CUSTOMER); $attachmentForm->setRelatedId('customerId'); try { $attachment = $client->attachments()->create($attachmentForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/attachments/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Retrieve an Attachment operationId: GetAttachment description: | Retrieve a Attachment with specified identifier string responses: '200': description: Attachment was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Attachment' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $attachment = $client->attachments()->load('attachmentId'); put: tags: - Files summary: Update the Attachment with predefined ID operationId: PutAttachment description: | Update the Attachment with predefined ID requestBody: $ref: '#/components/requestBodies/Attachment' responses: '200': description: Attachment was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Attachment' '201': description: Attachment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Attachment' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $attachmentForm = new Rebilly\Entities\Attachment(); $attachmentForm->setFileId('fileId'); $attachmentForm->setRelatedType($attachmentForm::TYPE_CUSTOMER); $attachmentForm->setRelatedId('customerId'); try { $attachment = $client->attachments()->update('attachmentId', $attachmentForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Files summary: Delete an Attachment operationId: DeleteAttachment description: | Delete the Attachment with predefined identifier string responses: '204': description: Attachment was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->attachments()->delete('attachmentId'); /authentication-options: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Read current authentication options operationId: GetAuthenticationOption description: | Read current authentication options responses: '200': description: Current authentication options was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/AuthenticationOptions' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $authenticationOptions = $client->authenticationOptions()->load(); put: tags: - Customer Authentication summary: Change authentication options operationId: PutAuthenticationOption description: | Change options requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthenticationOptions' description: Authentication Options resource required: true responses: '200': description: Authentication Options were updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/AuthenticationOptions' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $authenticationOptionsForm = new Rebilly\Entities\AuthenticationOptions(); // Regular expression below matches any password with 6+ length that contains alphabet symbols and/or numbers. $authenticationOptionsForm->setPasswordPattern('/^[a-zA-Z0-9]{6,}$/'); try { $authenticationOptions = $client->authenticationOptions()->update($authenticationOptionsForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /authentication-tokens: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Retrieve a list of auth tokens operationId: GetAuthenticationTokenCollection description: | Retrieve a list of auth tokens parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of auth tokens was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/AuthenticationToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $authenticationTokens = $client->authenticationTokens()->search([ 'filter' => 'customerId:testCustomer', ]); post: tags: - Customer Authentication summary: Login operationId: PostAuthenticationToken description: | Login a customer security: - SecretApiKey: [] - JWT: [] - PublishableApiKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/AuthenticationToken' description: AuthenticationToken resource required: true responses: '201': description: Login successful headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/AuthenticationToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $authenticationForm = new Rebilly\Entities\AuthenticationToken(); $authenticationForm->setUsername('username'); $authenticationForm->setPassword('test123'); try { $authenticationToken = $client->authenticationTokens()->login($authenticationForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/authentication-tokens/{token}': parameters: - name: token in: path description: The token identifier string required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Verify operationId: GetAuthenticationTokenVerification description: | Verify an authentication token security: - SecretApiKey: [] - JWT: [] - PublishableApiKey: [] responses: '200': description: Authentication Token was verified headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/AuthenticationToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $isVerified = $client->authenticationTokens()->verify('token'); delete: tags: - Customer Authentication summary: Logout a customer operationId: DeleteAuthenticationToken description: | Logout a customer security: - SecretApiKey: [] - JWT: [] - PublishableApiKey: [] responses: '204': description: Customer was logged out headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->authenticationTokens()->logout('token'); '/authentication-tokens/{token}/exchange': parameters: - name: token in: path description: The token identifier string required: true schema: type: string - $ref: '#/components/parameters/organizationId' post: tags: - Customer Authentication summary: Exchange operationId: PostAuthenticationTokenExchange description: > Exchange Authentication Token for JWT It will also invalidate an Authentication Token by default (so it can only be exchanged once). security: - SecretApiKey: [] - JWT: [] - PublishableApiKey: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerJWT' required: true responses: '200': description: Authentication Token exchanged for JWT headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomerJWT' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /bank-accounts: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Bank Accounts summary: Create a Bank Account operationId: PostBankAccount description: | Create a Bank Account requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/BankAccountCreateToken' - $ref: '#/components/schemas/BankAccountCreatePlain' description: BankAccount resource required: true responses: '201': description: Bank Account was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $bankAccountForm = new Rebilly\Entities\BankAccount(); $bankAccountForm->setCustomerId('customerId'); $bankAccountForm->setRoutingNumber('0123456'); $bankAccountForm->setAccountNumber('0123456'); $bankAccountForm->setAccountType('checking'); $bankAccountForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $bankAccount = $client->bankAccounts()->create($bankAccountForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } get: tags: - Bank Accounts summary: Retrieve a list of bank accounts operationId: GetBankAccountCollection description: | Retrieve a list of Bank Accounts parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Bank Accounts was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $bankAccounts = $client->bankAccounts()->search([ 'filter' => 'customerId:testId', ]); '/bank-accounts/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Bank Accounts summary: Retrieve a Bank Account operationId: GetBankAccount description: | Retrieve a Bank Account with specified identifier string responses: '200': description: Bank Account was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $bankAccount = $client->bankAccounts()->load('bankAccountId'); patch: tags: - Bank Accounts summary: Update a bank account's values operationId: PatchBankAccount description: > Update bank account's values except for the account number and routing number requestBody: content: application/json: schema: type: object properties: bankName: description: Bank's name. type: string accountType: description: Bank's Account type. type: string enum: - checking - savings - other address: description: The Address. allOf: - $ref: '#/components/schemas/ContactObject' customFields: $ref: '#/components/schemas/ResourceCustomFields' description: Bank Account responses: '200': description: Bank Account was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' put: tags: - Bank Accounts summary: Create a Bank Account with predefined ID operationId: PutBankAccount description: | Create or update a BankAccount with predefined identifier string requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/BankAccountCreateToken' - $ref: '#/components/schemas/BankAccountCreatePlain' description: BankAccount resource required: true responses: '200': description: BankAccount was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '201': description: BankAccount was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $bankAccountForm = new Rebilly\Entities\BankAccount(); $bankAccountForm->setCustomerId('customerId'); $bankAccountForm->setRoutingNumber('0123456'); $bankAccountForm->setAccountNumber('0123456'); $bankAccountForm->setAccountType('checking'); $bankAccountForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $bankAccount = $client->customers()->create($bankAccountForm, 'bankAccountId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/bank-accounts/{id}/deactivation': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Bank Accounts summary: Deactivate a Bank Account operationId: PostBankAccountDeactivation description: | Deactivate a Bank Account responses: '201': description: Bank Account was deactivated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | $bankAccount = $client->bankAccounts()->deactivate('bankAccountId'); /blacklists: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Blacklists summary: Retrieve a list of blacklists operationId: GetBlacklistCollection description: | Retrieve a list of blacklists parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Blacklists was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Blacklist' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $blacklists = $client->blacklists()->search([ 'filter' => 'value:testValue', ]); post: tags: - Blacklists summary: Create a blacklist operationId: PostBlacklist description: | Create a blacklist requestBody: $ref: '#/components/requestBodies/Blacklist' responses: '201': description: Blacklist was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Blacklist' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $blacklistForm = new Rebilly\Entities\Blacklist(); $blacklistForm->setType($blacklistForm::TYPE_EMAIL); $blacklistForm->setValue('test@test.com'); $blacklistForm->setExpiredTime('2025-01-01 05:00:00'); try { $blacklist = $client->blacklists()->create($blacklistForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/blacklists/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Blacklists summary: Retrieve a blacklist operationId: GetBlacklist description: | Retrieve a blacklist with specified identifier string responses: '200': description: Blacklist was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Blacklist' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $blacklist = $client->blacklists()->load('blacklistId'); put: tags: - Blacklists summary: Create a blacklist with predefined ID operationId: PutBlacklist description: | Create a blacklist with predefined identifier string requestBody: $ref: '#/components/requestBodies/Blacklist' responses: '201': description: Blacklist was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Blacklist' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: Blacklist exist and cannot be updated content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $blacklistForm = new Rebilly\Entities\Blacklist(); $blacklistForm->setType($blacklistForm::TYPE_EMAIL); $blacklistForm->setValue('test@test.com'); $blacklistForm->setExpiredTime('2025-01-01 05:00:00'); try { $blacklist = $client->blacklists()->create($blacklistForm, 'blacklistId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Blacklists summary: Delete a blacklist operationId: DeleteBlacklist description: | Delete a blacklist with predefined identifier string responses: '204': headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' description: Blacklist was deleted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->blacklists()->delete('blacklistId'); /coupons-redemptions: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Coupons summary: Retrieve a list of coupon redemptions operationId: GetCouponRedemptionCollection parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionSort' responses: '200': description: Coupons redemptions were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/CouponRedemption' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $couponRedemptions = $client->couponsRedemptions()->search([ 'filter' => 'customerId:testCustomer', ]); post: tags: - Coupons summary: Redeem a coupon operationId: PostCouponRedemption description: | Redeem a coupon requestBody: content: application/json: schema: $ref: '#/components/schemas/CouponRedemption' description: Redeem a coupon required: true responses: '201': description: Coupon was redeemed headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CouponRedemption' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $redemptionForm = new Rebilly\Entities\Coupons\Redemption(); $redemptionForm->setCustomerId('customerId'); $redemptionForm->setRedemptionCode('redemptionCode'); $restrictionArray = [ 'type' => Rebilly\Entities\Coupons\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION, 'quantity' => 2, ]; $restrictionForm = new Rebilly\Entities\Coupons\Restriction([ $restrictionArray, ]); $redemptionForm->setAdditionalRestrictions($restrictionForm); try { $couponRedemption = $client->couponsRedemptions()->redeem($redemptionForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/coupons-redemptions/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Coupons summary: Retrieve a coupon redemption with specified identifier string operationId: GetCouponRedemption responses: '200': description: Retrieve a coupon redemption with specified identifier string content: application/json: schema: $ref: '#/components/schemas/CouponRedemption' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: > $couponRedemption = $client->couponsRedemptions()->load('redemptionCode'); '/coupons-redemptions/{id}/cancel': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Coupons summary: Cancel a coupon redemption operationId: PostCouponRedemptionCancellation responses: '201': description: Cancel a coupon redemption '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->couponsRedemptions()->cancel('id'); /coupons: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Coupons summary: Retrieve a list of coupons operationId: GetCouponCollection description: | Retrieve a list of coupons parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionSort' responses: '200': description: A list of coupons was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Coupon' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $coupons = $client->coupons()->search([ 'filter' => 'status:issued', ]); post: tags: - Coupons summary: Create a coupon operationId: PostCoupon description: | Create a coupon requestBody: $ref: '#/components/requestBodies/Coupon' responses: '201': description: Coupon was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $couponForm = new Rebilly\Entities\Coupons\Coupon(); $discountArray = [ 'currency' => 'USD', 'amount' => 1.99, ]; $discountForm = new \Rebilly\Entities\Coupons\Discounts\Fixed($discountArray); $couponForm->setDiscount($discountForm); // Coupon can be used right now $couponForm->setIssuedTime(date('Y-m-d H:i:s')); $restrictionArray = [ 'quantity' => 2, ]; $restrictionForm = new Rebilly\Entities\Coupons\Restrictions\DiscountsPerRedemption($restrictionArray); $couponForm->setRestrictions([$restrictionForm]); try { $coupon = $client->coupons()->create($couponForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/coupons/{redemptionCode}': parameters: - name: redemptionCode in: path description: The Coupon's redemption code required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Coupons summary: Retrieve a coupon operationId: GetCoupon description: | Retrieve a coupon with specified redemption code string responses: '200': description: Coupon was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $coupon = $client->coupons()->load('redemptionCode'); put: tags: - Coupons summary: Create or update a coupon with predefined redemption code operationId: PutCoupon description: | Create or update a coupon with predefined redemption code requestBody: $ref: '#/components/requestBodies/Coupon' responses: '200': description: Coupon was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Coupon' '201': description: Coupon was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $couponForm = new Rebilly\Entities\Coupons\Coupon(); $discountArray = [ 'type' => Rebilly\Entities\Coupons\Discount::TYPE_FIXED, 'currency' => 'USD', 'amount' => 1.99, ]; $discountForm = new Rebilly\Entities\Coupons\Discount($discountArray); $couponForm->setDiscount($discountForm); $restrictionArray = [ 'type' => Rebilly\Entities\Coupons\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION, 'quantity' => 2, ]; $restrictionForm = new Rebilly\Entities\Coupons\Restriction([ $restrictionArray, ]); $couponForm->setRestrictions($restrictionForm); try { $coupon = $client->coupons()->create($couponForm, 'redemptionCode'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/coupons/{redemptionCode}/expiration': parameters: - name: redemptionCode in: path description: The coupon's redemption code required: true schema: type: string - $ref: '#/components/parameters/organizationId' post: tags: - Coupons summary: Set a coupon's expiration time. operationId: PostCouponExpiration description: | Set a coupon's expiry time with the specified redemption code. The expiredTime of a coupon must be greater than its issuedTime. This cannot be performed on expired coupons. requestBody: content: application/json: schema: $ref: '#/components/schemas/CouponExpiration' description: Coupon resource responses: '201': description: Coupon expiration was successfully set headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Coupon' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: >- The coupon is already expired and has been redeemed, unable to reschedule expiration content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' /credentials: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Retrieve a list of credentials operationId: GetCredentialCollection description: | Retrieve a list of credentials parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Credentials was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $customerCredentials = $client->customerCredentials()->search([ 'filter' => 'customerId:testCustomer', ]); post: tags: - Customer Authentication summary: Create a credential operationId: PostCredential description: | Create a credential requestBody: $ref: '#/components/requestBodies/Credential' responses: '201': description: Credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $customerCredentialForm = new Rebilly\Entities\CustomerCredential(); $customerCredentialForm->setCustomerId('customerId'); $customerCredentialForm->setUsername('test'); $customerCredentialForm->setPassword('1234'); try { $customerCredential = $client->customerCredentials()->create($customerCredentialForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/credentials/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Retrieve a credential operationId: GetCredential description: | Retrieve a credential with specified identifier string responses: '200': description: Credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: > $customerCredential = $client->customerCredentials()->load('credentialId'); put: tags: - Customer Authentication summary: Create or update a credential with predefined ID operationId: PutCredential description: | Create or update a credential with predefined identifier string requestBody: $ref: '#/components/requestBodies/Credential' responses: '200': description: Credential was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Credential' '201': description: Credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $customerCredentialForm = new Rebilly\Entities\CustomerCredential(); $customerCredentialForm->setCustomerId('customerId'); $customerCredentialForm->setUsername('test'); $customerCredentialForm->setPassword('1234'); try { $customerCredential = $client->customerCredentials()->update('credentialId', $customerCredentialForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Customer Authentication summary: Delete a credential operationId: DeleteCredential description: | Delete a credential with predefined identifier string responses: '204': headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' description: Credential was deleted '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->customerCredentials()->delete('credentialId'); '/custom-fields/{resource}': parameters: - $ref: '#/components/parameters/customFieldResource' - $ref: '#/components/parameters/organizationId' get: tags: - Custom Fields summary: Retrieve Custom Fields operationId: GetCustomFieldCollection description: | Retrieve a schema of Custom Fields for the given resource type responses: '200': description: A schema of Custom Fields was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: description: The list of custom fields type: array items: $ref: '#/components/schemas/CustomField' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $customFields = $client->customFields()->search('customers', [ 'filter' => 'type:boolean', ]); '/custom-fields/{resource}/{name}': parameters: - $ref: '#/components/parameters/customFieldResource' - name: name in: path description: The custom field's identifier string required: true schema: type: string maxLength: 60 pattern: '^[\w-]+$' - $ref: '#/components/parameters/organizationId' get: tags: - Custom Fields summary: Retrieve a Custom Field operationId: GetCustomField description: | Retrieve a schema of the given Custom Field for the given resource type responses: '200': description: A schema of the Custom Field was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomField' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: > $customField = $client->customFields()->load('customers', 'testFieldName'); put: tags: - Custom Fields summary: Create or alter a Custom Field operationId: PutCustomField description: > Create or alter a schema of the given Custom Field for the given resource type. requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomField' description: Custom Fields schema of the given resource type required: true responses: '200': description: The Custom Field was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomField' '201': description: The Custom Fields was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomField' '401': $ref: '#/components/responses/Unauthorized' '409': description: > The schema is in use: remove all the associated data in order to remove or alter the schema content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $customFieldForm = new Rebilly\Entities\CustomField(); $customFieldForm->setType($customFieldForm::TYPE_BOOLEAN); try { $customField = $client->customFields()->update('customers', 'testFieldName', $customFieldForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /customers: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customers summary: Retrieve a list of customers operationId: GetCustomerCollection description: | Retrieve a list of customers parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionExpand' - $ref: '#/components/parameters/collectionFields' - name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string enum: - id - '-id' - email - '-email' - averageValue - '-averageValue' - paymentCount - '-paymentCount' - lastPaymentTime - '-lastPaymentTime' - lifetimeRevenue - '-lifetimeRevenue' - invoiceCount - '-invoiceCount' - createdTime - '-createdTime' - updatedTime - '-updatedTime' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: A list of Customers was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Customer' text/csv: schema: type: array items: $ref: '#/components/schemas/Customer' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $customers = $client->customers()->search([ 'filter' => 'firstName:John', ]); post: tags: - Customers summary: Create a customer (without an ID) operationId: PostCustomer description: > Create a customer without a predefined ID. The customer's primary address will be used as the default address for payment instruments, subscriptions and invoices if none are provided. If you wish to create the customer with a predefined ID (which we recommend to prevent duplication), you may use our `PUT` request described below. Read our guide to [preventing duplicates](https://api-guides.rebilly.com/core-concepts/preventing-duplicates) to understand more. requestBody: $ref: '#/components/requestBodies/Customer' responses: '201': $ref: '#/components/responses/Customer' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $customerForm = new Rebilly\Entities\Customer(); $customerForm->setPrimaryAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $customer = $client->customers()->create($customerForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/customers/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customers summary: Retrieve a customer operationId: GetCustomer description: | Retrieve a customer with specified identifier string responses: '200': description: Customer was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Customer' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $customers = $client->customers()->load('myCustomerId'); put: tags: - Customers summary: Upsert a customer with predefined ID operationId: PutCustomer description: > Create or update (upsert) a customer with predefined identifier string. Read our guide to [preventing duplicates](https://api-guides.rebilly.com/core-concepts/preventing-duplicates) to understand more. requestBody: $ref: '#/components/requestBodies/Customer' responses: '200': $ref: '#/components/responses/Customer' '201': $ref: '#/components/responses/Customer' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $customerForm = new Rebilly\Entities\Customer(); $customerForm->setPrimaryAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $customer = $client->customers()->update('myCustomerId', $customerForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: parameters: - in: query name: targetCustomerId required: true schema: type: string description: >- The customer idendifier to get the data of the deleted duplicate customer tags: - Customers summary: Merge and delete a customer operationId: DeleteCustomer description: >- Merge one duplicate customer to another target customer and delete the former. responses: '204': description: Customer has been merged and removed headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /customer-timeline-custom-events: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customers Timeline summary: Retrieve a list of customer timeline custom event types operationId: GetCustomerTimelineCustomEventTypeCollection description: | Retrieve a list of customer timeline custom event types parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: >- A list of customer timeline custom event types was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerTimelineCustomEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Customers summary: Create Customer Timeline custom event type operationId: PostCustomerTimelineCustomEventType description: | Create Customer Timeline custom event type requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerTimelineCustomEvent' description: Customer Timeline Custom Event Type resource required: true responses: '201': description: Customer Timeline Custom Event Type was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomerTimelineCustomEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/customer-timeline-custom-events/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customers Timeline summary: >- Retrieve customer timeline custom event type with specified identifier string operationId: GetCustomerTimelineCustomEventType description: | Retrieve customer timeline custom event type responses: '200': description: Customer Timeline custom event type was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/CustomerTimelineCustomEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /customer-timeline-events: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customers Timeline summary: Retrieve a list of customer timeline messages for all customers operationId: GetCustomerTimelineEventCollection description: | Retrieve a list of customer timeline messages for all customers parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of customer timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/customers/{id}/lead-source': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customers summary: Retrieve a customer's Lead Source operationId: GetCustomerLeadSource description: | Retrieve a Lead Source of given customer responses: '200': description: Lead Source was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/LeadSource' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $customer = $client->customers()->load('myCustomerId'); $leadSource = $customer->getLeadSource(); put: tags: - Customers summary: Create a Lead Source for a customer operationId: PutCustomerLeadSource description: | Create a Lead Source for a customer requestBody: content: application/json: schema: $ref: '#/components/schemas/LeadSource' description: Lead Source resource required: true responses: '201': description: Lead Source was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/LeadSource' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $leadSourceForm = new Rebilly\Entities\LeadSource(); $leadSourceForm->setSource('TestSource'); $leadSourceForm->setCampaign('TestCampaign'); try { $customer = $client->customers()->updateLeadSource('myCustomerId', $leadSourceForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Customers summary: Delete a Lead Source for a customer operationId: DeleteCustomerLeadSource description: | Delete a Lead Source that belongs to a certain customer responses: '204': description: Lead Source was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | $customer = $client->customers()->deleteLeadSource('myCustomerId'); '/customers/{id}/timeline': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customers Timeline summary: Retrieve a list of customer timeline messages operationId: GetCustomerTimelineCollection description: | Retrieve a list of customer timeline messages parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of customer timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Customers Timeline summary: Create a customer Timeline comment or custom defined event operationId: PostCustomerTimeline description: | Create a customer Timeline comment or custom defined event requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerTimeline' description: Customer Timeline resource required: true responses: '201': description: Customer Timeline comment or custom defined event was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomerTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/customers/{id}/timeline/{messageId}': parameters: - $ref: '#/components/parameters/resourceId' - name: messageId in: path description: The Customer Timeline message ID required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Customers Timeline summary: Retrieve a customer Timeline message operationId: GetCustomerTimeline description: | Retrieve a customer message with specified identifier string responses: '200': description: Customer message was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomerTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Customers Timeline summary: Delete a Customer Timeline message operationId: DeleteCustomerTimeline description: | Delete a Customer Timeline message with predefined identifier string responses: '204': description: Customer Timeline message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/customers/{id}/upcoming-invoices': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve customer's upcoming invoices operationId: GetCustomerUpcomingInvoiceCollection description: > Retrieve a list of upcoming invoices from the subscriptions which belong to the given customer. The endpoint is temporary before upcoming invoices get a complete integration. parameters: - $ref: '#/components/parameters/collectionExpand' responses: '200': description: Upcoming invoices are retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /disputes: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Disputes summary: Retrieve a list of disputes operationId: GetDisputeCollection description: | Retrieve a list of disputes parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of disputes was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Dispute' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $disputes = $client->disputes()->search([ 'filter' => 'transactionId:testId', ]); post: tags: - Disputes summary: Create a dispute operationId: PostDispute description: | Create a dispute requestBody: $ref: '#/components/requestBodies/Dispute' responses: '201': description: Dispute was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Dispute' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $disputeForm = new Rebilly\Entities\Dispute(); $disputeForm->setTransactionId('transactionId'); $disputeForm->setCurrency('USD'); $disputeForm->setAmount(10); $disputeForm->setReasonCode(1000); $disputeForm->setType($disputeForm::TYPE_1CB); $disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED); $disputeForm->setPostedTime('2025-01-01 05:00:00'); try { $dispute = $client->disputes()->create($disputeForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/disputes/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Disputes summary: Retrieve a dispute operationId: GetDispute description: | Retrieve a dispute with specified identifier string responses: '200': description: Dispute was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Dispute' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $dispute = $client->disputes()->load('disputeId'); put: tags: - Disputes summary: Create or update a Dispute with predefined ID operationId: PutDispute description: | Create or update a Dispute with predefined identifier string requestBody: $ref: '#/components/requestBodies/Dispute' responses: '200': description: Dispute was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Dispute' '201': description: Dispute was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Dispute' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $disputeForm = new Rebilly\Entities\Dispute(); $disputeForm->setTransactionId('transactionId'); $disputeForm->setCurrency('USD'); $disputeForm->setAmount(10); $disputeForm->setReasonCode(1000); $disputeForm->setType($disputeForm::TYPE_1CB); $disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED); $disputeForm->setPostedTime('2025-01-01 05:00:00'); try { $dispute = $client->disputes()->update('disputeId', $dispute); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/disputes/{id}/matched-rules': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Disputes summary: Get matched rules for the dispute operationId: GetDisputeMatchedRuleCollection description: Get matched rules for the dispute responses: '200': description: List of matched rules was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/MatchedRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /files: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Retrieve a list of files operationId: GetFileCollection description: | Retrieve a list of files parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionExpand' - $ref: '#/components/parameters/collectionFields' - name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string enum: - id - '-id' - name - '-name' - extension - '-extension' - size - '-size' - width - '-width' - height - '-height' - createdTime - '-createdTime' - updatedTime - '-updatedTime' responses: '200': description: A list of Files was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/File' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $files = $client->files()->search([ 'filter' => 'name:TestFile', ]); post: tags: - Files summary: Create a file operationId: PostFile security: - SecretApiKey: [] - JWT: [] - PublishableApiKey: [] description: > Additionally, a file can be sent with: - multipart/form-data POST request: in this case all property names are the same as the JSON ones (`file` is an uploaded file) - file body request: the file body is sent as the request body, with the appropriate `Content-Type`. No additional properties can be set along the request data The following file types only are allowed: - jpg - png - gif - pdf - mp3 If using a Publishable Api Key, only private files can be created. The files can later on be modified or used using a secret API key. requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/FileCreateFromInline' - $ref: '#/components/schemas/FileCreateFromUrl' required: true responses: '201': description: File was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/File' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $fileForm = new Rebilly\Entities\File(); $fileForm->setUrl('http://test.com/somefile.jpg'); try { $file = $client->files()->create($fileForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/files/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Retrieve a File Record operationId: GetFile description: | Retrieve a File with specified identifier string responses: '200': description: File was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/File' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $file = $client->files()->load('fileId'); put: tags: - Files summary: Update the File with predefined ID operationId: PutFile description: > Update the File with predefined ID. Note that file can be uploaded with POST only. requestBody: content: application/json: schema: $ref: '#/components/schemas/File' description: File resource required: true responses: '200': description: File was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/File' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $fileForm = new Rebilly\Entities\File(); $fileForm->setDescription('This is a test file'); try { $file = $client->files()->update('fileId', $fileForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Files summary: Delete a File operationId: DeleteFile description: | Delete the File with predefined identifier string responses: '204': description: File was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->files()->delete('fileId'); '/files/{id}/download': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Download a file operationId: GetFileDownload description: | Download a file responses: '200': description: The file was retrieved successfully headers: Content-Length: description: The number of bytes in the file schema: type: integer Content-Type: description: The MIME type of the file schema: type: string content: application/json: schema: type: string readOnly: true '302': $ref: '#/components/responses/Found' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/files/{id}/download{extension}': parameters: - $ref: '#/components/parameters/resourceId' - name: extension in: path description: File extension which also indicates the desired file format required: true schema: type: string enum: - .png - .jpg - .gif - $ref: '#/components/parameters/organizationId' get: tags: - Files summary: Download image in specific format operationId: GetFileDownloadExtension description: | Download image in specific format. Images are converted server-side responses: '200': description: The file was retrieved successfully headers: Content-Length: description: The number of bytes in the file schema: type: integer Content-Type: description: The MIME type of the file schema: type: string content: application/json: schema: type: string readOnly: true '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /invoices: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve a list of invoices operationId: GetInvoiceCollection description: | Retrieve a list of invoices parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: A list of invoices was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Invoices_Invoice' text/csv: schema: type: array items: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $invoices = $client->invoices()->search([ 'filter' => 'customerId:testCustomerId', ]); post: tags: - Invoices summary: Create an invoice operationId: PostInvoice description: | Create an invoice requestBody: $ref: '#/components/requestBodies/Invoice' responses: '201': description: Invoice was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | setCustomerId('customerId'); $invoiceForm->setWebsiteId('websiteId'); $invoiceForm->setCurrency('USD'); $invoiceForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $invoice = $client->invoices()->create($invoiceForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/invoices/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve an invoice operationId: GetInvoice description: | Retrieve an invoice with specified identifier string parameters: - name: Accept in: header description: The response media type schema: type: string enum: - application/json - application/pdf default: application/json responses: '200': description: Invoice was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' application/pdf: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $invoice = $client->invoices()->load('invoiceId'); put: tags: - Invoices summary: Create or update an invoice with predefined ID operationId: PutInvoice description: | Create or update an invoice with predefined identifier string requestBody: $ref: '#/components/requestBodies/Invoice' responses: '200': description: Invoice was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '201': description: Invoice was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | setCustomerId('customerId'); $invoiceForm->setWebsiteId('websiteId'); $invoiceForm->setCurrency('USD'); $invoiceForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $invoice = $client->invoices()->update('invoiceId', $invoiceForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/invoices/{id}/abandon': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Invoices summary: Abandon an invoice operationId: PostInvoiceAbandonment description: | Abandon an invoice with specified identifier string responses: '201': description: Invoice was abandoned successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $invoice = $client->invoices()->abandon('invoiceId'); '/invoices/{id}/issue': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Invoices summary: Issue an invoice operationId: PostInvoiceIssuance description: > Issue an invoice with specified identifier string. It must be in `draft` status. requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceIssue' description: InvoiceIssue resource required: true responses: '201': description: Invoice was issued successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: > $invoice = $client->invoices()->issue('invoiceId', '2025-01-01 05:00:00'); '/invoices/{id}/items': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve invoice items operationId: GetInvoiceItemCollection description: | Retrieve an invoice items with specified invoice identifier string parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Invoice items were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $invoiceItems = $client->invoiceItems()->search('invoiceId', [ 'filter' => 'quantity:5', ]); post: tags: - Invoices summary: Create an invoice item operationId: PostInvoiceItem description: | Create an invoice item requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceItem' description: InvoiceItem resource required: true responses: '201': description: InvoiceItem was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/InvoiceItem' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $invoiceItemForm = new Rebilly\Entities\InvoiceItem(); $invoiceItemForm->setType($invoiceItemForm::TYPE_DEBIT); $invoiceItemForm->setUnitPrice(0.99); $invoiceItemForm->setQuantity(5); try { $invoiceItem = $client->invoiceItems()->create($invoiceItemForm, 'invoiceId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/invoices/{id}/matched-rules': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Get matched rules for the invoice operationId: GetInvoiceMatchedRuleCollection description: Get matched rules for the invoice responses: '200': description: List of matched rules was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/MatchedRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/invoices/{id}/recalculate': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Invoices summary: Recalculate an invoice operationId: PostInvoiceRecalculation description: > Recalculate an invoice with specified identifier string. It will recalculate shipping rates, taxes, discounts. It is useful when coupon was revoked or customer redeemed coupon after invoice was issued and you want to apply it to this invoice. responses: '201': description: Invoice was recalculated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/invoices/{id}/reissue': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Invoices summary: Reissue an invoice operationId: PostInvoiceReissuance description: > Reissue an invoice with specified identifier string. It must be issued (status must be `unpaid` or `past-due`). requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceReissue' description: InvoiceReissue resource required: true responses: '201': description: Invoice was reissued successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/invoices/{id}/timeline': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve a list of invoice timeline messages operationId: GetInvoiceTimelineCollection description: | Retrieve a list of invoice timeline messages parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of invoice timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Invoices summary: Create an invoice Timeline comment operationId: PostInvoiceTimeline description: | Create an invoice Timeline comment requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceTimeline' description: Invoice Timeline resource required: true responses: '201': description: Invoice Timeline comment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/InvoiceTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/invoices/{id}/timeline/{messageId}': parameters: - $ref: '#/components/parameters/resourceId' - name: messageId in: path description: The Invoice Timeline message ID required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve an Invoice Timeline message operationId: GetInvoiceTimeline description: | Retrieve a invoice message with specified identifier string responses: '200': description: Invoice message was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/InvoiceTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Invoices summary: Delete an Invoice Timeline message operationId: DeleteInvoiceTimeline description: | Delete an Invoice Timeline message with predefined identifier string responses: '204': description: Invoice Timeline message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/invoices/{id}/transaction-allocations': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Get transaction amounts allocated to an invoice operationId: GetInvoiceTransactionAllocationCollection description: Get the precise amounts from a transaction allocated as invoice payments responses: '200': description: List of allocations was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoiceTransactionAllocation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/invoices/{id}/void': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Invoices summary: Void an invoice operationId: PostInvoiceVoid description: | Void an invoice with specified identifier string responses: '201': description: Invoice was voided successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $invoice = $client->invoices()->void('invoiceId'); /kyc-documents: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - KYC Documents summary: Retrieve a list of KYC documents operationId: GetKycDocumentCollection description: | Retrieve a list of KYC documents parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string enum: - id - '-id' - createdTime - '-createdTime' - updatedTime - '-updatedTime' - name: Accept in: header description: The response media type schema: type: string enum: - application/json default: application/json responses: '200': description: A list of KYC documents was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - KYC Documents summary: Create a KYC Document operationId: PostKycDocument description: | Create a KYC Document requestBody: content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' description: Kyc document resource required: true responses: '201': description: Kyc document was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/kyc-documents/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - KYC Documents summary: Retrieve a KYC Document operationId: GetKycDocument description: Retrieve a KYC document with specified identifier string. parameters: - name: Accept in: header description: The response media type schema: type: string enum: - application/json default: application/json responses: '200': description: KYC document was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - KYC Documents summary: Create or update a KYC document with predefined ID operationId: PutKycDocument description: Create or update a KYC document with predefined identifier string. requestBody: content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' description: KYC document resource. required: true responses: '200': description: KYC document was updated. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '201': description: KYC document was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' '/kyc-documents/{id}/acceptance': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - KYC Documents summary: Accept a KYC document operationId: PostKycDocumentAcceptance description: > Marks that status of the document as `accepted`. Updates the review time and reviewer information. Intended to be used for manual overrides. responses: '201': description: KYC document acceptance was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/kyc-documents/{id}/rejection': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - KYC Documents summary: Reject a KYC document operationId: PostKycDocumentRejection description: > Marks that status of the document as `rejected`. Updates the review time and reviewer information. Intended to be used for manual overrides. requestBody: content: application/json: schema: $ref: '#/components/schemas/KycDocumentRejection' description: KYC document resource required: true responses: '201': description: KYC document rejection was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' '/kyc-documents/{id}/review': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - KYC Documents summary: Review a KYC document operationId: PostKycDocumentReview description: >- Mark the KYC document as reviewed. Updates the review time and reviewer information. responses: '201': description: KYC document was reviewed. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/KycDocument_KycDocument' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /password-tokens: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Retrieve a list of tokens operationId: GetPasswordTokenCollection description: | Retrieve a list of tokens parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Reset Password Tokens was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/ResetPasswordToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Customer Authentication summary: Create a Reset Password Token operationId: PostPasswordToken description: | Create a Reset Password Token requestBody: content: application/json: schema: $ref: '#/components/schemas/ResetPasswordToken' description: ResetPasswordToken resource required: true responses: '201': description: Reset Password Token was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ResetPasswordToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/password-tokens/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Customer Authentication summary: Retrieve a Reset Password Token operationId: GetPasswordToken description: | Retrieve a Reset Password Token with specified identifier string responses: '200': description: ResetPasswordToken was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ResetPasswordToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Customer Authentication summary: Delete a Reset Password Token operationId: DeletePasswordToken description: | Delete a Reset Password Token with predefined identifier string responses: '204': description: ResetPasswordToken was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /payment-cards: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Payment Cards summary: Retrieve a list of Payment Cards operationId: GetPaymentCardCollection description: | Retrieve a list of Payments Cards parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Payment Card was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $paymentCards = $client->paymentCards()->search([ 'filter' => 'status:active', ]); post: tags: - Payment Cards summary: Create a Payment Card operationId: PostPaymentCard description: | Create a Payment Card requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/PaymentCardCreateToken' - $ref: '#/components/schemas/PaymentCardCreatePlain' description: PaymentCard resource required: true responses: '200': description: Payment Card was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '201': description: Payment Card was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $paymentCardForm = new Rebilly\Entities\PaymentCard(); $paymentCardForm->setCustomerId('customerId'); $paymentCardForm->setPan('4111111111111111'); $paymentCardForm->setExpYear(2025); $paymentCardForm->setExpMonth(8); $paymentCardForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $paymentCard = $client->paymentCards()->create($paymentCardForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/payment-cards/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Payment Cards summary: Retrieve a Payment Card operationId: GetPaymentCard description: | Retrieve a Payment Card with specified identifier string responses: '200': description: Payment card was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $paymentCard = $client->paymentCards()->load('paymentCardId'); patch: tags: - Payment Cards summary: Update a payment card's values operationId: PatchPaymentCard description: | Update any of the payment card's values except for the pan requestBody: content: application/json: schema: type: object properties: cvv: description: Card's cvv (card verification value). type: string expMonth: description: Card's expiry month type: integer expYear: description: Card's expiry year type: integer billingAddress: description: Card's billing address allOf: - $ref: '#/components/schemas/ContactObject' stickyGatewayAccountId: description: Sticky Gateway Account ID allOf: - $ref: '#/components/schemas/ResourceId' customFields: $ref: '#/components/schemas/ResourceCustomFields' description: Payment card responses: '200': description: Payment card was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' put: tags: - Payment Cards summary: Create a payment card with predefined ID operationId: PutPaymentCard requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/PaymentCardCreateToken' - $ref: '#/components/schemas/PaymentCardCreatePlain' description: Payment card responses: '200': description: Payment card was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '201': description: Payment card was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: Payment card already exists and cannot be updated content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $paymentCardForm = new Rebilly\Entities\PaymentCard(); $paymentCardForm->setCustomerId('customerId'); $paymentCardForm->setPan('4111111111111111'); $paymentCardForm->setExpYear(2025); $paymentCardForm->setExpMonth(8); $paymentCardForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $paymentCard = $client->paymentCards()->create($paymentCardForm, 'paymentCardId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/payment-cards/{id}/authorization': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Payment Cards summary: Authorize a Payment Card operationId: PostPaymentCardAuthorization description: | Authorize a Payment Card Instead of using this endpoint a Payment Card will be authorized on first usage (new transaction or order). deprecated: true requestBody: content: application/json: schema: type: object required: - websiteId - currency properties: websiteId: description: The Website ID type: string currency: allOf: - $ref: '#/components/schemas/CurrencyCode' gatewayAccountId: description: The Gateway account ID type: string amount: description: Amount type: number format: double redirectUrl: description: Redirect URL type: string description: Payment Card resource required: true responses: '201': description: Payment Card was authorized headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $paymentCardAuthorizationForm = new Rebilly\Entities\PaymentCardAuthorization(); $paymentCardAuthorizationForm->setWebsiteId('websiteId'); $paymentCardAuthorizationForm->setCurrency('USD'); $paymentCardAuthorizationForm->setGatewayAccountId('gatewayAccountId'); try { $paymentCard = $client->paymentCards()->authorize('paymentCardId', $paymentCardAuthorizationForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/payment-cards/{id}/deactivation': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Payment Cards summary: Deactivate a Payment Card operationId: PostPaymentCardDeactivation description: | Deactivate a Payment Card responses: '201': description: Payment Card was deactivated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentCard' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | $client->paymentCards()->deactivate('paymentCardId'); '/payment-cards/{id}/matched-rules': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Payment Cards summary: Get matched rules for the payment card operationId: GetPaymentCardMatchedRuleCollection description: Get matched rules for the payment card responses: '200': description: List of matched rules was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/MatchedRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /payment-instrument-validation: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Payment Instrument Validation summary: Retrieve a Payment Instrument validation operationId: GetPaymentInstrumentValidationCollection description: > Retrieve a Payment Instrument validation with specified identifier string responses: '200': description: Successfully retrieved a payment instrument validation headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentInstrumentValidation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Payment Instrument Validation summary: Validate a payment instrument operationId: PostPaymentInstrumentValidation description: | Validate a payment instrument requestBody: content: application/json: schema: type: object required: - method - paymentInstrumentId properties: method: description: Payment method type: string paymentInstrumentId: description: Payment instrument ID type: string description: Payment instrument responses: '201': description: Validation successful headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentInstrumentValidation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/payment-instrument-validation/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Payment Instrument Validation summary: Retrieve a list of validated payment instruments operationId: GetPaymentInstrumentValidation description: | Retrieve a list of validated payment instruments parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of validated payment instrument was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/PaymentInstrumentValidation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /paypal-accounts: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - PayPal Accounts summary: Retrieve a list of PayPal accounts operationId: GetPayPalAccountCollection description: | Retrieve a list of PayPal Accounts parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of PayPal Accounts was retrieved successfully content: application/json: schema: type: array items: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $payPalAccounts = $client->payPalAccounts()->search([ 'filter' => 'status:active', ]); post: tags: - PayPal Accounts summary: Create a PayPal Account operationId: PostPayPalAccount description: | Create a PayPal Account requestBody: content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' description: PayPalAccount resource required: true responses: '201': description: PayPal Account was created content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $payPalForm = new Rebilly\Entities\PayPalAccount(); $payPalForm->setCustomerId('customerId'); $payPalForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $payPalAccount = $client->payPalAccounts()->create($payPalForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/paypal-accounts/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - PayPal Accounts summary: Retrieve a PayPal Account operationId: GetPayPalAccount description: | Retrieve a PayPal Account with specified identifier string responses: '200': description: PayPal Account was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $payPalAccount = $client->payPalAccounts()->load('payPalAccountId'); put: tags: - PayPal Accounts summary: Create a PayPal account with predefined ID operationId: PutPayPalAccount requestBody: content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' description: PayPal Account required: true responses: '201': description: PayPal Account was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: PayPal Account exist and cannot be updated content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $payPalForm = new Rebilly\Entities\PayPalAccount(); $payPalForm->setCustomerId('customerId'); $payPalForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $payPalAccount = $client->payPalAccounts()->create($payPalForm, 'payPalAccountId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/paypal-accounts/{id}/activation': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - PayPal Accounts summary: Activate a PayPal Account operationId: PostPayPalAccountActivation description: | Activate a PayPal Account Instead of using this endpoint a PayPal Account will be authorized on first usage (new transaction or order). deprecated: true requestBody: content: application/json: schema: $ref: '#/components/schemas/PayPalAccountAuthorization' description: PayPal Account resource required: true responses: '201': description: PayPal Account was activated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $activationData = [ 'websiteId' => 'testWebsiteId', 'currency' => 'USD', ]; try { $client->payPalAccounts()->activate($activationData, 'payPalAccountId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/paypal-accounts/{id}/deactivation': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - PayPal Accounts summary: Deactivate a PayPal Account operationId: PostPayPalAccountDeactivation description: | Deactivate a PayPal Account responses: '201': description: PayPal Account was deactivated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PayPalAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | $client->payPalAccounts()->deactivate('payPalAccountId'); /plans: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Plans summary: Retrieve a list of plans operationId: GetPlanCollection description: | Retrieve a list of plans parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Plans was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Plans_Plan' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $plans = $client->plans()->search([ 'filter' => 'name:TestPlan', ]); post: tags: - Plans summary: Create a plan operationId: PostPlan description: | Create a plan requestBody: $ref: '#/components/requestBodies/Plan' responses: '201': description: Plan was created content: application/json: schema: $ref: '#/components/schemas/Plans_Plan' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $planForm = new Rebilly\Entities\Plan(); $planForm->setName('TestPlan'); $planForm->setCurrency('USD'); $planForm->setTrialAmount(1); $planForm->setTrialPeriodUnit('day'); $planForm->setTrialPeriodLength(1); $planForm->setProductId('test-product'); try { $plan = $client->plans()->create($planForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/plans/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Plans summary: Retrieve a plan operationId: GetPlan description: | Retrieve a plan with specified identifier string responses: '200': description: Plan was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Plans_Plan' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $plan = $client->plans()->load('planId'); put: tags: - Plans summary: Create or update a Plan with predefined ID operationId: PutPlan description: | Create or update a Plan with predefined identifier string requestBody: $ref: '#/components/requestBodies/Plan' responses: '200': description: Plan was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Plans_Plan' '201': description: Plan was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Plans_Plan' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $planForm = new Rebilly\Entities\Plan(); $planForm->setName('TestPlan'); $planForm->setCurrency('USD'); $planForm->setTrialAmount(1); $planForm->setTrialPeriodUnit('day'); $planForm->setTrialPeriodLength(1); try { $plan = $client->plans()->update('planId', $planForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Plans summary: Delete a Plan operationId: DeletePlan description: | Delete a Plan with predefined identifier string responses: '204': description: Plan was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | $client->plans()->delete('planId'); /products: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Products summary: Retrieve a list of products operationId: GetProductCollection description: | Retrieve a list of products parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of products was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/schemas_Product' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Products summary: Create a Product operationId: PostProduct description: | Create a Product requestBody: $ref: '#/components/requestBodies/Product' responses: '201': description: Product was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/schemas_Product' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/products/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Products summary: Retrieve a product operationId: GetProduct description: | Retrieve a product with specified identifier string responses: '200': description: Product was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/schemas_Product' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Products summary: Create a product with predefined ID operationId: PutProduct description: | Create a product with predefined identifier string requestBody: $ref: '#/components/requestBodies/Product' responses: '200': description: Product was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/schemas_Product' '201': description: Product was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/schemas_Product' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' delete: tags: - Products summary: Delete a product operationId: DeleteProduct description: | Delete a product with predefined identifier string responses: '204': description: Product was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /search: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Search summary: Search merchant data operationId: GetSearch description: > Search merchant's data to return resources such as customers, invoices, orders, transactions parameters: - name: q in: query description: > The default or "global" search. It will search all searchable resources across as many fields as possible. schema: type: string - name: filter in: query description: > The collection items filter requires a special format. Use "," for multiple allowed values. Use ";" for multiple fields. Use one or more of the listed filter fields. i.e. `is:customer email:bob@test.com`. The `date` value can be surrounded with quotes. Examples: `>2019-01-01`, `last month`, `yesterday`, `<=2019-04-30`. schema: type: string enum: - is - amount - bin - coupon - currency - date - email - last4 - name - paypalUsername - plan - product - tag responses: '200': description: Results keyed by resource headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Search' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /shipping-zones: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Shipping Zones summary: Retrieve a list of shipping zones operationId: GetShippingZoneCollection description: | Retrieve a list of shipping zones parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of shipping zones was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/ShippingZone' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Shipping Zones summary: Create a Shipping Zone operationId: PostShippingZone description: | Create a Shipping Zone requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingZone' description: Shipping Zone resource required: true responses: '201': description: Shipping Zone was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/shipping-zones/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Shipping Zones summary: Retrieve a shipping zone operationId: GetShippingZone description: | Retrieve a shipping zone with specified identifier string responses: '200': description: Shipping zone was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Shipping Zones summary: Create a shipping zone with predefined ID operationId: PutShippingZone description: | Create a shipping zone with predefined identifier string responses: '200': description: Shipping zone was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '201': description: Shipping zone was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ShippingZone' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingZone' description: Shipping zone resource required: true delete: tags: - Shipping Zones summary: Delete a shipping zone operationId: DeleteShippingZone description: | Delete a shipping zone with predefined identifier string responses: '204': description: Shipping zone was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /subscription-cancellations: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a list of cancellations operationId: GetSubscriptionCancellationCollection description: Retrieve a list of cancellations for all subscriptions parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of cancellations was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionCancellation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Subscriptions summary: Cancel a subscription operationId: PostSubscriptionCancellation description: Cancel a subscription or preview the cancellation parameters before that requestBody: $ref: '#/components/requestBodies/SubscriptionCancellation' responses: '201': description: 'Cancellation was created, subscription is or will be deactivated' headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $subscriptionCancelForm = new Rebilly\Entities\SubscriptionCancel(); $subscriptionCancelForm->setEffectiveTime(new DateTime()); try { $subscription = $client->subscriptions()->cancel('subscriptionId', $subscriptionCancelForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/subscription-cancellations/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a subscription сancellation operationId: GetSubscriptionCancellation description: Retrieve a subscription сancellation with specified identifier string responses: '200': description: Cancellation was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Subscriptions summary: Cancel a subscription operationId: PutSubscriptionCancellation description: Cancel a subscription requestBody: $ref: '#/components/requestBodies/SubscriptionCancellation' responses: '200': description: 'Cancellation was updated, subscription is or will be deactivated' headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellation' '201': description: 'Cancellation was created, subscription is or will be deactivated' headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' delete: tags: - Subscriptions summary: Delete a cancellation operationId: DeleteSubscriptionCancellation description: Delete a subscription's cancellation. Only draft can be deleted. responses: '204': description: Cancellaton was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /subscription-reactivations: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a list of reactivations operationId: GetSubscriptionReactivationCollection description: Retrieve a list of reactivations for all subscriptions parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of reactivations was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/SubscriptionReactivation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Subscriptions summary: Reactivate a subscription operationId: PostSubscriptionReactivation description: Reactivate a subscription requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionReactivation' description: Reactivation resource required: true responses: '201': description: > Reactivation was created, subscription is active and won't be deactivated. If there was a cancellation with status "confirmed", it is revoked. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionReactivation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/subscription-reactivations/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a subscription reactivation operationId: GetSubscriptionReactivation description: Retrieve a subscription reactivation with specified identifier string responses: '200': description: Reactivation was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionReactivation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /subscriptions: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a list of subscriptions operationId: GetSubscriptionCollection description: | Retrieve a list of subscriptions parameters: - $ref: '#/components/parameters/subscriptionExpand' - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: A list of subscriptions was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Subscription' text/csv: schema: type: array items: $ref: '#/components/schemas/Subscription' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $subscriptions = $client->subscriptions()->search([ 'filter' => 'customerId:testCustomerId', ]); post: tags: - Subscriptions summary: Create a subscription operationId: PostSubscription description: | Create a subscription. Consider using the upsert operation to accomplish this task. parameters: - $ref: '#/components/parameters/subscriptionExpand' requestBody: $ref: '#/components/requestBodies/Subscription' responses: '201': description: Subscription was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Subscription' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $subscriptionForm = new Rebilly\Entities\Subscription(); $subscriptionForm->setCustomerId('customerId'); $subscriptionForm->setWebsiteId('websiteId'); $subscriptionForm->setItems([ [ 'planId' => 'my-plan', 'quantity' => 1, ], ]); $subscriptionForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $subscription = $client->subscriptions()->create($subscriptionForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/subscriptions/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a subscription operationId: GetSubscription parameters: - $ref: '#/components/parameters/subscriptionExpand' description: | Retrieve a subscription with specified identifier string responses: '200': description: Subscription was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Subscription' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $subscription = $client->subscriptions()->load('subscriptionId'); put: tags: - Subscriptions summary: Upsert a subscription with predefined ID operationId: PutSubscription description: | Create or update a subscription with predefined identifier string parameters: - $ref: '#/components/parameters/subscriptionExpand' requestBody: $ref: '#/components/requestBodies/Subscription' responses: '200': description: Subscription was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Subscription' '201': description: Subscription was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Subscription' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $subscriptionForm = new Rebilly\Entities\Subscription(); $subscriptionForm->setCustomerId('customerId'); $subscriptionForm->setWebsiteId('websiteId'); $subscriptionForm->setItems($subscriptionForm->createItems([ 'planId' => 'my-plan', 'quantity' => 1, ])); $subscriptionForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); try { $subscription = $client->subscriptions()->update('subscriptionId', $subscriptionForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/subscriptions/{id}/change-plan': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Subscriptions summary: Change a subscription's plan operationId: PostSubscriptionPlanChange description: > Change a subscription's plan and designate when and if there should be pro rata credits given. Only active subscriptions with a single plan can be changed. Edit pending unpaid subscriptions directly regardless the number of plans. requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionChange' description: Change the plan required: true responses: '201': description: Subscription was changed headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Subscription' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $subscriptionChangePlanForm = new Rebilly\Entities\SubscriptionChangePlan(); $subscriptionChangePlanForm->setPlanId('newPlanId'); $subscriptionChangePlanForm->setRenewalPolicy('retain'); $subscriptionChangePlanForm->setPreview(true); $subscriptionChangePlanForm->setProrated(true); $subscriptionChangePlanForm->setEffectiveTime('2018-02-02 00:00:00'); try { $subscription = $client->subscriptions()->changePlan('subscriptionId', $subscriptionChangePlanForm); echo $subscription->getLineItemSubtotal(); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/subscriptions/{id}/interim-invoice': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Subscriptions summary: Issue an interim invoice for a subscription operationId: PostSubscriptionInterimInvoice description: > Issue an interim invoice for a subscription, typically used in conjunction with plan changes and pro rata adjustments. This process creates an invoice, adds the subscription's line items to the invoice, and issues the invoice, and applies payment to it if a transaction id is supplied. requestBody: content: application/json: schema: $ref: '#/components/schemas/SubscriptionInvoice' description: Issue an interim invoice required: true responses: '201': description: Invoice was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/subscriptions/{id}/matched-rules': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Get matched rules for the subscription operationId: GetSubscriptionMatchedRuleCollection description: Get matched rules for the subscription responses: '200': description: List of matched rules was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/MatchedRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/subscriptions/{id}/timeline': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve a list of order timeline messages operationId: GetSubscriptionTimelineCollection description: | Retrieve a list of order timeline messages parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of order timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/OrderTimeline' '401': $ref: '#/components/responses/Unauthorized' post: tags: - Subscriptions summary: Create an order Timeline comment operationId: PostSubscriptionTimeline description: | Create an order Timeline comment requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderTimeline' description: Order Timeline resource required: true responses: '201': description: Order Timeline comment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/OrderTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/subscriptions/{id}/timeline/{messageId}': parameters: - $ref: '#/components/parameters/resourceId' - name: messageId in: path description: The Order Timeline message ID required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve an Order Timeline message operationId: GetSubscriptionTimeline description: | Retrieve a order message with specified identifier string responses: '200': description: Order message was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/OrderTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Subscriptions summary: Delete an Order Timeline message operationId: DeleteSubscriptionTimeline description: | Delete an Order Timeline message with predefined identifier string responses: '204': description: Order Timeline message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/subscriptions/{id}/upcoming-invoices': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Invoices summary: Retrieve subscription's upcoming invoice operationId: GetSubscriptionUpcomingInvoiceCollection description: > Retrieve an upcoming invoice from the specified subscription. The endpoint is temporary before upcoming invoices get a complete integration. parameters: - $ref: '#/components/parameters/collectionExpand' responses: '200': description: Upcoming invoices are retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/subscriptions/{id}/upcoming-invoices/{invoiceId}/issue': parameters: - $ref: '#/components/parameters/resourceId' - name: invoiceId in: path description: The Upcoming Invoice ID required: true schema: type: string - $ref: '#/components/parameters/organizationId' post: tags: - Subscriptions summary: Issue an upcoming invoice for early pay operationId: PostUpcomingInvoiceIssuance description: > Issue an upcoming invoice with specified identifier string for early pay. requestBody: content: application/json: schema: $ref: '#/components/schemas/InvoiceIssue' description: InvoiceIssue resource required: true responses: '201': description: Upcoming Invoice was issued successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Invoices_Invoice' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /tags: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Tags summary: Retrieve a list of tags operationId: GetTagCollection description: | Retrieve a list of tags parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - name: sort in: query description: >- The collection items sort field and order (prefix with "-" for descending sort). style: form explode: false schema: type: array items: type: string enum: - id - '-id' - name - '-name' - createdTime - '-createdTime' - updatedTime - '-updatedTime' responses: '200': description: A list of tags was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Tags summary: Create a tag operationId: PostTag description: | Create a tag requestBody: $ref: '#/components/requestBodies/Tag' responses: '201': description: Tag was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Tag' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' '/tags/{tag}': parameters: - $ref: '#/components/parameters/tag' - $ref: '#/components/parameters/organizationId' get: tags: - Tags summary: Retrieve a tag operationId: GetTag description: | Retrieve a tag responses: '200': description: Tag with specified name was retrieved successfully content: application/json: schema: $ref: '#/components/schemas/Tag' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Tags summary: Update a tag operationId: PatchTag description: | Update a tag requestBody: $ref: '#/components/requestBodies/Tag' responses: '200': description: Tag was updated content: application/json: schema: $ref: '#/components/schemas/Tag' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' delete: tags: - Tags summary: Delete a tag operationId: DeleteTag description: | Delete a tag. It's an asynchronous operation. responses: '204': description: Tag was deleted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/tags/{tag}/customers': parameters: - $ref: '#/components/parameters/tag' - $ref: '#/components/parameters/organizationId' post: tags: - Tags summary: Tag a list of customers operationId: PostTagCustomerCollection description: | Tag a list of customers. If the customer from the list is already tagged it will be ignored. It's an asynchronous operation. requestBody: required: true content: application/json: schema: type: object required: - customerIds properties: customerIds: description: The list of customer IDs type: array minItems: 1 maxItems: 1000 items: type: string responses: '204': description: Customers was tagged '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' delete: tags: - Tags summary: Untag a list of customers operationId: DeleteTagCustomerCollection description: | Untag a list of customers. If the customer from the list is already untagged it will be ignored. It's an asynchronous operation. requestBody: required: true content: application/json: schema: type: object required: - customerIds properties: customerIds: description: The list of customer IDs type: array minItems: 1 maxItems: 1000 items: type: string responses: '204': description: Customers was untagged '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/tags/{tag}/customers/{customerId}': parameters: - $ref: '#/components/parameters/tag' - $ref: '#/components/parameters/customerId' - $ref: '#/components/parameters/organizationId' post: tags: - Tags summary: Tag a customer operationId: PostTagCustomer description: | Tag a customer responses: '204': description: Customer was tagged '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Tags summary: Untag a customer operationId: DeleteTagCustomer description: | Untag a customer responses: '204': description: Customer was untagged '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /tokens: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Payment Tokens summary: Create a payment token operationId: PostToken description: | [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) is the recommended way to create a payment token because it minimizes PCI DSS compliance. Once a payment token is created, it can only be used once. A payment token expires upon first use or within 30 minutes of the token creation (whichever comes first). requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/PaymentCardToken' - $ref: '#/components/schemas/BankAccountToken' - $ref: '#/components/schemas/PaymentToken' description: PaymentToken resource required: true security: - PublishableApiKey: [] - SecretApiKey: [] - JWT: [] responses: '201': description: Token was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: oneOf: - $ref: '#/components/schemas/PaymentCardToken' - $ref: '#/components/schemas/BankAccountToken' - $ref: '#/components/schemas/PaymentToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: > $paymentCardTokenForm = new Rebilly\Entities\PaymentCardToken(); $paymentCardTokenForm->setBillingAddress([ 'firstName' => 'John', 'lastName' => 'Doe', 'organization' => 'Test LTD', 'address' => 'Test street 5', 'address2' => 'Test house 5', 'city' => 'New York', 'region' => 'Long Island', 'country' => 'US', 'postalCode' => '123456', 'emails' => [ [ 'label' => 'main', 'value' => 'johndoe@testemail.com', 'primary' => true, ], [ 'label' => 'secondary', 'value' => 'otheremail@testemail.com', ], ], 'phoneNumbers' => [ [ 'label' => 'work', 'value' => '+123456789', 'primary' => true, ], [ 'label' => 'home', 'value' => '+9874654321', ], ], ]); $paymentInstrumentForm = new Entities\PaymentInstruments\PaymentCardPaymentInstrument(); $paymentInstrumentForm->setPan('4111111111111111'); $paymentInstrumentForm->setExpYear(2025); $paymentInstrumentForm->setExpMonth(8); $paymentInstrumentForm->setCvv(123); $paymentCardTokenForm->setPaymentInstrument($paymentInstrumentForm); try { $paymentCardToken = $client->paymentCardTokens()->create($paymentCardTokenForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } get: tags: - Payment Tokens summary: Retrieve a list of tokens operationId: GetTokenCollection description: | Retrieve a list of tokens parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of tokens was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/PaymentToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $paymentCardTokens = $client->paymentCardTokens()->search([ 'filter' => 'token:string', ]); '/tokens/{token}': parameters: - name: token in: path description: The token identifier string required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Payment Tokens summary: Retrieve a token operationId: GetToken description: | Retrieve a token with specified identifier string security: - PublishableApiKey: [] responses: '200': description: Token was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PaymentToken' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $paymentCardToken = $client->paymentCardTokens()->load('tokenId'); /transactions: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Transactions summary: Create a transaction operationId: PostTransaction description: | Create a transactions of type `sale`, `authorize`, or `credit`. This endpoint supports two main styles of transactions: 1. A real-time decision and response. 2. User approval/interaction is required. A real-time decision is very familiar. You send a request, and inspect the `result` of the response for `approved` or `declined`. However, many transactions, especially those for alternative methods, require the user to interact with a 3rd party. You may be able to envision PayPal, for example, the user must give permission to complete the payment (or accept the billing agreement). Even payment cards may require user approval in the case of 3D secure authentication. In the event that approval is required, you will receive a response back and notice that the `result` is `unknown`. You will find that the `status` is `waiting-approval`. And you will find in the `_links` section of the response a link for the `approvalUrl`. In this case you would either open the `approvalUrl` in an iframe or in a pop (better workflow for mobile). requestBody: $ref: '#/components/requestBodies/TransactionRequest' responses: '201': description: Transaction was created content: application/json: schema: $ref: '#/components/schemas/Transactions_Transaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' get: tags: - Transactions summary: Retrieve a list of transactions operationId: GetTransactionCollection description: | Retrieve a list of transactions parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionSort' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: A list of transactions was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Transactions_Transaction' text/csv: schema: type: array items: $ref: '#/components/schemas/Transactions_Transaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $transactions = $client->transactions()->search([ 'filter' => 'result:approved', ]); '/transactions/{id}': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Transactions summary: Retrieve a Transaction operationId: GetTransaction description: | Retrieve a Transaction with specified identifier string responses: '200': description: Transaction was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Transactions_Transaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $transaction = $client->transactions()->load('transactionId'); '/transactions/{id}/cancel': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Transactions summary: Cancel a pending or suspended transaction operationId: PostTransactionCancellation description: >- Cancel a scheduled transaction. Once handled a transaction cannot be canceled responses: '201': description: Successful cancel the payment headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Transactions_Transaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | try { $payment = $client->transactions()->cancel('transactionId'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/transactions/{id}/gateway-logs': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Transactions summary: Retrieve a Transaction Gateway Logs operationId: GetTransactionGatewayLogCollection description: >- Retrieve Gateway communication Logs for Transaction with specified identifier string responses: '200': description: Logs were retrieved successfully content: application/json: schema: $ref: '#/components/schemas/TransactionGatewayLog' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/transactions/{id}/matched-rules': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Transactions summary: Get matched rules for the transaction operationId: GetTransactionMatchedRuleCollection description: Get matched rules for the transaction responses: '200': description: List of matched rules was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/MatchedRule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/transactions/{id}/refund': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' post: tags: - Transactions summary: Refund a Transaction operationId: PostTransactionRefund description: > Refund a Transaction with specified identifier string. Note that the refund will be in the same currency as the original transaction. requestBody: content: application/json: schema: $ref: '#/components/schemas/TransactionRefund' description: Transaction resource required: true responses: '201': description: Transaction was refunded successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Transactions_Transaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: > $transaction = $client->transactions()->refund('transactionId', 1.99); '/transactions/{id}/timeline': parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Transactions summary: Retrieve a list of transaction timeline messages operationId: GetTransactionTimelineCollection description: | Retrieve a list of transaction timeline messages parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of transaction timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/TransactionTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Transactions summary: Create a transaction Timeline comment operationId: PostTransactionTimeline description: | Create a transaction Timeline comment requestBody: content: application/json: schema: $ref: '#/components/schemas/TransactionTimeline' description: Transaction Timeline resource required: true responses: '201': description: Transaction Timeline comment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/TransactionTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/transactions/{id}/timeline/{messageId}': parameters: - $ref: '#/components/parameters/resourceId' - name: messageId in: path description: The Transaction Timeline message ID required: true schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Transactions summary: Retrieve a transaction Timeline message operationId: GetTransactionTimeline description: | Retrieve a timeline message with specified identifier string responses: '200': description: Timeline message was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/TransactionTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Transactions summary: Delete a Transaction Timeline message operationId: DeleteTransactionTimeline description: | Delete a Transaction Timeline message with predefined identifier string responses: '204': description: Transaction Timeline message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '/activation/{token}': parameters: - name: token in: path description: The token string required: true schema: type: string post: tags: - Profile summary: Activate operationId: PostActivation description: | Sends a token to activate user account security: [] responses: '204': description: User account was activated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '422': description: Invalid token was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | try { $client->users()->activate('token'); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /api-keys: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - API Keys summary: Retrieve a list of api keys operationId: GetApiKeyCollection description: | Retrieve a list of api keys parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of api keys was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $apiKeys = $client->apiKeys()->search([ 'filter' => 'description:Test', ]); post: tags: - API Keys summary: Create an api key operationId: PostApiKey description: | Create an api key requestBody: $ref: '#/components/requestBodies/ApiKey' responses: '201': description: Api Key was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $apiKeyForm = new Rebilly\Entities\ApiKey(); $apiKeyForm->setDescription('Test'); $apiKeyForm->setDatetimeFormat($apiKeyForm::DATETIME_FORMAT_MYSQL); try { $apiKey = $client->apiKeys()->create($apiKeyForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/api-keys/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - API Keys summary: Retrieve api key operationId: GetApiKey description: | Retrieve api key with specified identifier string responses: '200': description: Api key was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $apiKeys = $client->apiKeys()->load('apiKeyID'); put: tags: - API Keys summary: Create or update api key with predefined ID operationId: PutApiKey description: | Create or update api key with predefined identifier string responses: '200': description: ApiKey was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ApiKey' '201': description: ApiKey was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ApiKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' requestBody: $ref: '#/components/requestBodies/ApiKey' x-code-samples: - lang: PHP source: | $apiKeyForm = new Rebilly\Entities\ApiKey(); $apiKeyForm->setDescription('TestPut'); $apiKeyForm->setDatetimeFormat($apiKeyForm::DATETIME_FORMAT_MYSQL); try { $apiKey = $client->apiKeys()->update('apiKeyID', $apiKeyForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - API Keys summary: Delete api key operationId: DeleteApiKey description: | Delete api key with predefined identifier string responses: '204': description: ApiKey was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: ApiKey has related resources and cannot be deleted content: application/json: schema: $ref: '#/components/schemas/Error' x-code-samples: - lang: PHP source: | $client->apiKeys()->delete('apiKeyID'); /broadcast-messages: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Broadcast Messages summary: Retrieve a list of broadcast messages operationId: GetBroadcastMessageCollection description: | Retrieve a list of broadcast messages responses: '200': description: A list of broadcast messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/BroadcastMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Broadcast Messages summary: Create a broadcast message operationId: PostBroadcastMessage description: | Create a broadcast message responses: '201': description: Broadcast message was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BroadcastMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/BroadcastMessage' description: Broadcast message resource required: true '/broadcast-messages/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Broadcast Messages summary: Retrieve a broadcast message operationId: GetBroadcastMessage description: | Retrieve a broadcast message responses: '200': description: >- Broadcast message with specified identifier was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BroadcastMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Broadcast Messages summary: Delete a broadcast message operationId: DeleteBroadcastMessage description: | Delete a broadcast message responses: '204': description: Broadcast message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' patch: tags: - Broadcast Messages summary: Update a broadcast message operationId: PatchBroadcastMessage description: | Update a broadcast message responses: '200': description: Broadcast message was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/BroadcastMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/BroadcastMessage' description: Broadcast message resource required: true /checkout-pages: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Checkout Pages summary: Browse a list of checkout pages operationId: GetCheckoutPageCollection description: | Browse a list of checkout pages responses: '200': description: A list of checkout pages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/CheckoutPage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $checkoutPages = $client->checkoutPages()->search([ 'filter' => 'name:testCheckoutPage', ]); post: tags: - Checkout Pages summary: Add a Checkout Page operationId: PostCheckoutPage description: | Add a Checkout Page responses: '201': description: Checkout Page was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CheckoutPage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/CheckoutPage' x-code-samples: - lang: PHP source: | $checkoutPageForm = new Rebilly\Entities\CheckoutPage(); $checkoutPageForm->setPlanId('planId'); $checkoutPageForm->setWebsiteId('websiteId'); $checkoutPageForm->setName('TestCheckoutPage'); $checkoutPageForm->setUrlPathSegment('test-checkout-page'); try { $checkoutPage = $client->checkoutPages()->create($checkoutPageForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/checkout-pages/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Checkout Pages summary: Read a Checkout Page operationId: GetCheckoutPage description: | Retrieve a Checkout Page with specified identifier string responses: '200': description: Checkout Page was retrieved successfully content: application/json: schema: $ref: '#/components/schemas/CheckoutPage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $checkoutPage = $client->checkoutPages()->load('checkoutPageId'); put: tags: - Checkout Pages summary: Edit a Checkout Page operationId: PutCheckoutPage description: | Create or update a Checkout Page with predefined identifier string responses: '200': description: Checkout Page was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CheckoutPage' '201': description: Checkout Page was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CheckoutPage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/CheckoutPage' x-code-samples: - lang: PHP source: | $checkoutPageForm = new Rebilly\Entities\CheckoutPage(); $checkoutPageForm->setPlanId('planId'); $checkoutPageForm->setWebsiteId('websiteId'); $checkoutPageForm->setName('TestCheckoutPage'); $checkoutPageForm->setUrlPathSegment('test-checkout-page'); try { $checkoutPage = $client->checkoutPages()->update('checkoutPageId', $checkoutPageForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Checkout Pages summary: Delete a Checkout Page operationId: DeleteCheckoutPage description: | Delete a Checkout Page with predefined identifier string responses: '204': headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' description: Checkout Page was deleted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Checkout page cannot be deleted x-code-samples: - lang: PHP source: | $client->checkoutPages()->delete('checkoutPageId'); /credential-hashes/aws-ses: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Email Credentials summary: Create an AWS SES credential operationId: PostAwsSesCredentialHash description: | Create an AWS SES credential responses: '201': description: AWS SES credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SESCredential' '303': description: An existent AWS SES credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/SESCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/SESCredential' description: AWS SES credential resource required: true '/credential-hashes/aws-ses/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Email Credentials summary: Retrieve an AWS SES credential operationId: GetAwsSesCredentialHash description: | Retrieve an AWS SES credential with specified token identifier string responses: '200': description: AWS SES credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SESCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Email Credentials summary: Update an AWS SES credential operationId: PatchAwsSesCredentialHash description: | Update an AWS SES credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: AWS SES credential resource required: true responses: '200': description: AWS SES credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SESCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /credential-hashes/emails: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Email Credentials summary: Create an email credential operationId: PostEmailCredentialHash description: | Create an email credential requestBody: content: application/json: schema: $ref: '#/components/schemas/SmtpCredential' description: SMTP credential resource required: true responses: '201': description: SMTP credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SmtpCredential' '303': description: An existent SMTP credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/SmtpCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/emails/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Email Credentials summary: Retrieve an email credential operationId: GetEmailCredentialHash description: | Retrieve an email credential with specified token identifier string responses: '200': description: Email credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SmtpCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Email Credentials summary: Update an email credential operationId: PatchEmailCredentialHash description: | Update an email credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: Email credential resource required: true responses: '200': description: Email credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SmtpCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /credential-hashes/mailgun: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Email Credentials summary: Create a mailgun credential operationId: PostMailgunCredentialHash description: | Create a mailgun credential requestBody: content: application/json: schema: $ref: '#/components/schemas/MailgunCredential' description: Mailgun credential resource required: true responses: '201': description: Mailgun credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/MailgunCredential' '303': description: An existent Mailgun credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/MailgunCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/mailgun/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Email Credentials summary: Retrieve a mailgun credential operationId: GetMailgunCredentialHash description: | Retrieve a mailgun credential with specified token identifier string responses: '200': description: Mailgun credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/MailgunCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Email Credentials summary: Update a mailgun credential operationId: PatchMailgunCredentialHash description: | Update a mailgun credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: Mailgun credential resource required: true responses: '200': description: Mailgun credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/MailgunCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /credential-hashes/oauth2: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Webhook Credentials summary: Retrieve a list of OAuth2 credentials operationId: GetOauth2CredentialHashCollection description: | Retrieve a list of OAuth2 credentials responses: '200': description: A list of OAuth2 credentials was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/OAuth2Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Webhook Credentials summary: Create OAuth2 credential operationId: PostOauth2CredentialHash description: | Begins the creation of an OAuth2 credential that can be re-used within webhooks. The result will be a `RedirectUrl` that the user must authenticate and authorize Rebilly to receive the credentials. requestBody: $ref: '#/components/requestBodies/OAuth2Credential' responses: '201': description: OAuth2 credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/OAuth2Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/oauth2/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Webhook Credentials summary: Retrieve an OAuth2 credential operationId: GetOauth2CredentialHash description: | Retrieve an OAuth2 credential with specified token identifier string responses: '200': description: OAuth2 credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/OAuth2Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Webhook Credentials summary: Update an OAuth2 credential with specified token identifier string operationId: PatchOauth2CredentialHash description: | Update an OAuth2 credential with specified token identifier string requestBody: $ref: '#/components/requestBodies/OAuth2Credential' responses: '200': description: OAuth2 credential was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/OAuth2Credential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/oauth2/{hash}/items': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Webhook Credentials summary: Retrieve a list of root items available for specified credential operationId: GetOauth2CredentialHashItemCollection description: | Retrieve a list of root items available for specified credential responses: '200': description: >- A list of root items available for specified credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GoogleSpreadsheet' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /credential-hashes/postmark: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Email Credentials summary: Create a Postmark credential operationId: PostPostmarkCredentialHash description: | Create a Postmark credential requestBody: content: application/json: schema: $ref: '#/components/schemas/PostmarkCredential' description: Postmark credential resource required: true responses: '201': description: Postmark credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PostmarkCredential' '303': description: An existent Postmark credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/PostmarkCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/postmark/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Email Credentials summary: Retrieve a Postmark credential operationId: GetPostmarkCredentialHash description: | Retrieve a Postmark credential with specified token identifier string responses: '200': description: Postmark credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PostmarkCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Email Credentials summary: Update a Postmark credential operationId: PatchPostmarkCredentialHash description: | Update a Postmark credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: Postmark credential resource required: true responses: '200': description: Postmark credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/PostmarkCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /credential-hashes/sendgrid: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Email Credentials summary: Create a SendGrid credential operationId: PostSendGridCredentialHash description: | Create a SendGrid credential requestBody: content: application/json: schema: $ref: '#/components/schemas/SendGridCredential' description: SendGrid credential resource required: true responses: '201': description: SendGrid credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SendGridCredential' '303': description: An existent SendGrid credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/SendGridCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/sendgrid/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Email Credentials summary: Retrieve a SendGrid credential operationId: GetSendGridCredentialHash description: | Retrieve a SendGrid credential with specified token identifier string responses: '200': description: SendGrid credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SendGridCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Email Credentials summary: Update a SendGrid credential operationId: PatchSendGridCredentialHash description: | Update a SendGrid credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: SendGrid credential resource required: true responses: '200': description: SendGrid credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SendGridCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /credential-hashes/webhooks: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Webhook Credentials summary: Create a webhook credential operationId: PostWebhookCredentialHash description: | Create a webhook credential requestBody: content: application/json: schema: $ref: '#/components/schemas/WebhookCredential' description: Credential resource required: true responses: '201': description: Webhook credential was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/WebhookCredential' '303': description: An existent Webhook credential was retrieved headers: Location: description: The location of the related resource schema: type: string format: url Rate-Limit-Limit: description: The number of allowed requests in the current period schema: type: integer Rate-Limit-Remaining: description: The number of remaining requests in the current period schema: type: integer Rate-Limit-Reset: description: > The date in format defined by [RFC 822](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1) when the current period will reset schema: type: string content: application/json: schema: $ref: '#/components/schemas/WebhookCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/credential-hashes/webhooks/{hash}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/hash' get: tags: - Webhook Credentials summary: Retrieve a webhook credential operationId: GetWebhookCredentialHash description: | Retrieve a webhook credential with specified token identifier string responses: '200': description: Webhook credential was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/WebhookCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Webhook Credentials summary: Update a webhook credential operationId: PatchWebhookCredentialHash description: | Update a webhook credential with specified token identifier string requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchCredential' description: Webhook credential resource required: true responses: '200': description: Webhook credential was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/WebhookCredential' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' '/email-delivery-setting-verifications/{token}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/token' put: tags: - Email Delivery Settings summary: Verify an email delivery setting operationId: VerifyEmailDeliverySettings description: | Verify an email delivery setting responses: '200': description: Email delivery setting was verified successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /email-delivery-settings: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Email Delivery Settings summary: Retrieve a list of email delivery settings operationId: GetEmailDeliverySettingCollection responses: '200': description: A list of email delivery settings was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Email Delivery Settings summary: Create an email delivery setting operationId: PostEmailDeliverySetting description: > Create an email delivery setting. The email delivery setting is used in conjunction with email messages or templates to send emails. responses: '201': description: Email delivery setting was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' description: Email delivery setting resource required: true '/email-delivery-settings/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Email Delivery Settings summary: Retrieve an email delivery setting operationId: GetEmailDeliverySetting description: | Retrieve an email delivery setting responses: '200': description: >- Email delivery setting with specified identifier was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Email Delivery Settings summary: Delete an email delivery setting operationId: DeleteEmailDeliverySetting description: | Delete an email delivery setting responses: '204': description: Email delivery setting was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '409': $ref: '#/components/responses/Conflict' patch: tags: - Email Delivery Settings summary: Update an email delivery setting operationId: PatchEmailDeliverySettings description: | Update an email delivery setting requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' description: Email delivery setting resource required: true responses: '200': description: Email delivery setting was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' '/email-delivery-settings/{id}/resend-email-verification': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' post: tags: - Email Delivery Settings summary: Resend verification email for an email delivery setting. operationId: ResendEmailDeliverySettingVerification description: | Resend verification email for an email delivery setting. responses: '200': description: Verification email was sent successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailDeliverySetting' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /email-messages: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Email Messages summary: Retrieve a list of email messages operationId: GetEmailMessageCollection description: | Retrieve a list of email messages responses: '200': description: A list of email messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/EmailMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Email Messages summary: Create an email message operationId: PostEmailMessage description: | Create an email message responses: '201': description: Email message was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailMessage' description: Email message resource required: true '/email-messages/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Email Messages summary: Retrieve an email message operationId: GetEmailMessage description: | Retrieve an email message responses: '200': description: Email message with specified identifier was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Email Messages summary: Delete an email message operationId: DeleteEmailMessage description: | Delete an email message responses: '204': description: Email message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '409': $ref: '#/components/responses/Conflict' patch: tags: - Email Messages summary: Send an email message operationId: PatchEmailMessage description: | Send an email message responses: '200': description: Email message was accepted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/EmailMessage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: type: object required: - status properties: status: description: The email message's status type: string enum: - outbox description: Email message status required: true /email-notifications: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Email Notifications summary: Retrieve a list of email notification events operationId: GetEmailNotificationCollection responses: '200': description: A list of email notification events was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/EmailNotification' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /events: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Rules summary: Retrieve a list of existing events operationId: GetEventCollection responses: '200': description: A list of System Events was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/SystemEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/events/{eventType}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/systemEventType' get: tags: - Rules summary: Retrieve the event information operationId: GetEvent responses: '200': description: Rules were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SystemEvent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/events/{eventType}/rules': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/systemEventType' get: tags: - Rules summary: Retrieve a list of rules for event operationId: GetEventRuleCollection responses: '200': description: Rules were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/RuleSet' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Rules summary: Update the rules for event operationId: PutEventRuleCollection responses: '200': description: Rules were updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/RuleSet' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/RuleSet' '/events/{eventType}/rules/history': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/systemEventType' get: tags: - Rules summary: Retrieve the change history of the set of rules operationId: GetEventRuleHistoryCollection description: | Retrieve the change history of the selected set of rules. The history is updated each time you change the rules. parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionQuery' - $ref: '#/components/parameters/collectionSort' - $ref: '#/components/parameters/collectionFields' - $ref: '#/components/parameters/collectionExpand' responses: '200': description: History was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/RuleSetHistoryItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/events/{eventType}/rules/history/{version}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/systemEventType' - $ref: '#/components/parameters/rulesVersion' get: tags: - Rules summary: Retrieve the record from the change history of the set of rules operationId: GetEventRuleHistoryVersion description: > Retrieve the record from the change history of the selected set of rules. A history record is created each time you change the rules. parameters: - $ref: '#/components/parameters/collectionFields' - $ref: '#/components/parameters/collectionExpand' responses: '200': description: History record was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/RuleSetHistoryItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/events/{eventType}/rules/versions/{version}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/systemEventType' - $ref: '#/components/parameters/rulesVersion' get: tags: - Rules summary: Retrieve the version of the set of rules operationId: GetEventRuleVersion description: | Retrieve the version of the selected set of rules. The versions are created each time you change the rules. parameters: - $ref: '#/components/parameters/collectionFields' - $ref: '#/components/parameters/collectionExpand' responses: '200': description: Rules version was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/RuleSetVersion' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /forgot-password: post: tags: - Reset password summary: Request password reset operationId: PostForgotPasswordRequest description: | Sends an email with a link containing a token to reset user password responses: '204': description: Email sent successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: content: application/json: schema: $ref: '#/components/schemas/ForgotPassword' description: Forgot password resource required: true x-code-samples: - lang: PHP source: | $forgotPasswordForm = new Rebilly\Entities\ForgotPassword(); $forgotPasswordForm->setEmail('johndoe@test.com'); try { $client->users()->forgotPassword($forgotPasswordForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /gateway-accounts: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Gateway Accounts summary: Retrieve a list of gateway accounts operationId: GetGatewayAccountCollection description: | Retrieve a list of gateway accounts parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Gateway Accounts was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $gatewayAccounts = $client->$gatewayAccounts()->search([ 'filter' => 'currency:USD', ]); post: tags: - Gateway Accounts summary: Create a Gateway Account operationId: PostGatewayAccount description: | Create a Gateway Account requestBody: $ref: '#/components/requestBodies/GatewayAccount' responses: '201': description: Gateway Account was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: > $gatewayAccountForm = new Rebilly\Entities\GatewayAccount(); $gatewayAccountForm->setGatewayName('A1Gateway'); $gatewayAccountForm->setAcquirerName('Bank of Rebilly'); $gatewayAccountForm->setOrganizationId('organizationId'); $gatewayAccountForm->setMerchantCategoryCode(5734); $gatewayAccountForm->setWebsites([ 'websiteId1', 'websiteId2', ]); $gatewayAccountForm->setPaymentCardSchemes([ Rebilly\Entities\PaymentCardScheme::SCHEME_VISA, Rebilly\Entities\PaymentCardScheme::SCHEME_MASTERCARD, ]); $gatewayAccountForm->setMethod(Rebilly\Entities\PaymentMethod::METHOD_CASH); $gatewayConfig = [ 'accountId' => 'test', 'password' => '123', ]; $gatewayAccountForm->setGatewayConfig($gatewayConfig); try { $gatewayAccount = $client->gatewayAccounts()->create($gatewayAccountForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/gateway-accounts/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Gateway Accounts summary: Retrieve a Gateway Account operationId: GetGatewayAccount description: | Retrieve a Gateway Account with specified identifier string responses: '200': description: Gateway Account was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: > $gatewayAccount = $client->gatewayAccounts()->load('gatewayAccountId'); put: tags: - Gateway Accounts summary: Create or update a Gateway Account with predefined ID operationId: PutGatewayAccount description: | Create or update a GatewayAccount with predefined identifier string requestBody: $ref: '#/components/requestBodies/GatewayAccount' responses: '200': description: Gateway Account was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '201': description: Gateway Account was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: > $gatewayAccountForm = new Rebilly\Entities\GatewayAccount(); $gatewayAccountForm->setGatewayName('A1Gateway'); $gatewayAccountForm->setAcquirerName('Bank of Rebilly'); $gatewayAccountForm->setOrganizationId('organizationId'); $gatewayAccountForm->setMerchantCategoryCode(5734); $gatewayAccountForm->setWebsites([ 'websiteId1', 'websiteId2', ]); $gatewayAccountForm->setPaymentCardSchemes([ Rebilly\Entities\PaymentCardScheme::SCHEME_VISA, Rebilly\Entities\PaymentCardScheme::SCHEME_MASTERCARD, ]); $gatewayAccountForm->setMethod(Rebilly\Entities\PaymentMethod::METHOD_CASH); $gatewayConfig = [ 'accountId' => 'test', 'password' => '123', ]; $gatewayAccountForm->setGatewayConfig($gatewayConfig); try { $gatewayAccount = $client->gatewayAccounts()->update('gatewayAccountId', $gatewayAccountForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } patch: tags: - Gateway Accounts summary: Update a Gateway Account with predefined ID operationId: PatchGatewayAccount description: | Update a GatewayAccount with predefined identifier string requestBody: $ref: '#/components/requestBodies/GatewayAccount' responses: '200': description: Gateway Account was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' delete: tags: - Gateway Accounts summary: Delete a Gateway Account operationId: DeleteGatewayAccount description: | Delete a Gateway Account with predefined identifier string responses: '204': description: Gateway Account was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' x-code-samples: - lang: PHP source: | try { $client->gatewayAccounts()->delete('gatewayAccountId'); } catch (ServerException $e) { echo $e->getMessage(); } '/gateway-accounts/{id}/close': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' post: tags: - Gateway Accounts summary: Close a Gateway Account operationId: PostGatewayAccountClosure description: > Close a gateway account with specified identifier string. Also known as archiving. Closing a Gateway Account cannot be undone, so use with caution. It will no longer be able to process transactions. The "status" attribute will be set to "closed". responses: '201': description: Closed successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/gateway-accounts/{id}/disable': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' post: tags: - Gateway Accounts summary: Disable a Gateway Account operationId: PostGatewayAccountDisablement description: > Disable a gateway account with specified identifier string. Disabled gateway accounts have their "status" attribute set to "inactive" and cannot process transactions. responses: '201': description: Disabled successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Gateway account is pending activation and cannot be disabled. '/gateway-accounts/{id}/downtime-schedules': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Gateway Accounts summary: Retrieve a list of gateway account downtime schedules operationId: GetGatewayAccountDowntimeScheduleCollection description: | Retrieve a list of gateway account downtime schedules parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: >- A list of Gateway Account downtime schedules was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GatewayAccountDowntimeSchedule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Gateway Accounts summary: Create a Gateway Account downtime schedule. operationId: PostGatewayAccountDowntimeSchedule description: | Create a Gateway Account downtime schedule responses: '201': description: Gateway Account downtime schedule was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountDowntimeSchedule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/GatewayAccountDowntimeSchedule' '/gateway-accounts/{id}/downtime-schedules/{downtimeId}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' - name: downtimeId in: path description: The Gateway Account downtime schedule ID required: true schema: type: string get: tags: - Gateway Accounts summary: Retrieve a Gateway Downtime schedule operationId: GetGatewayAccountDowntimeSchedule description: | Retrieve a Gateway Downtime schedule with specified identifier string responses: '200': description: Gateway Downtime schedule was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountDowntimeSchedule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Gateway Accounts summary: Update a Gateway Account downtime schedule operationId: PutGatewayAccountDowntimeSchedule description: > Update a Gateway Account downtime schedule with predefined identifier string responses: '200': description: Gateway Account downtime schedule was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountDowntimeSchedule' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/GatewayAccountDowntimeSchedule' delete: tags: - Gateway Accounts summary: Delete a Gateway Account downtime schedule operationId: DeleteGatewayAccountDowntimeSchedule description: | Delete a Gateway Account downtime schedule responses: '204': description: Gateway Account downtime schedule was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/gateway-accounts/{id}/enable': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' post: tags: - Gateway Accounts summary: Enable a Gateway Account operationId: PostGatewayAccountEnablement description: > Enable a gateway account with specified identifier string. Enabled gateway accounts have their "status" attribute set to "active" and can process transactions. responses: '201': description: Enabled successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccount' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Gateway account is pending activation and cannot be enabled. '/gateway-accounts/{id}/limits': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Gateway Accounts summary: Retrieve a list of gateway account limits operationId: GetGatewayAccountLimitCollection description: | Retrieve a list of gateway account limits. parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of gateway account limits was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GatewayAccountLimit' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/gateway-accounts/{id}/limits/{limitId}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' - name: limitId in: path description: The gateway account limit ID required: true schema: type: string enum: - daily-money - monthly-money - daily-count - monthly-count get: tags: - Gateway Accounts summary: Retrieve a gateway account limit operationId: GetGatewayAccountLimit description: | Retrieve a gateway account limit with specified identifier string. responses: '200': description: Gateway account limit was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountLimit' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Gateway Accounts summary: Update a gateway account limit operationId: PutGatewayAccountLimit description: | Update a gateway account limit with predefined identifier string. responses: '200': description: Gateway account limit was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountLimit' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayAccountLimit' delete: tags: - Gateway Accounts summary: Delete a gateway account limit operationId: DeleteGatewayAccountLimit description: | Delete a gateway account limit. responses: '204': description: Gateway account limit was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/gateway-accounts/{id}/timeline': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Gateway Accounts summary: Retrieve a list of gateway account timeline messages operationId: GetGatewayAccountTimelineCollection description: | Retrieve a list of gateway account timeline messages parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: >- A list of Gateway Account timeline messages was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GatewayAccountTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Gateway Accounts summary: Create a Gateway Account Timeline comment operationId: PostGatewayAccountTimeline description: | Create a Gateway Account Timeline comment requestBody: content: application/json: schema: $ref: '#/components/schemas/GatewayAccountTimeline' description: Gateway Account Timeline resource required: true responses: '201': description: Gateway Account Timeline comment was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' '/gateway-accounts/{id}/timeline/{messageId}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' - name: messageId in: path description: The Gateway Account Timeline message ID required: true schema: type: string get: tags: - Gateway Accounts summary: Retrieve a Gateway Timeline message operationId: GetGatewayAccountTimeline description: | Retrieve a Gateway Timeline message with specified identifier string responses: '200': description: Gateway Timeline message was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GatewayAccountTimeline' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Gateway Accounts summary: Delete a Gateway Timeline message operationId: DeleteGatewayAccountTimeline description: | Delete a Gateway Timeline message with predefined identifier string responses: '204': description: Gateway Account Timeline message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /grid-segments: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Segments summary: Retrieve a user's Segments operationId: GetGridSegmentCollection description: | Retrieve a user's UI Segments parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Segments were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Segment' '403': $ref: '#/components/responses/Forbidden' post: tags: - Segments summary: Create a new UI Segment operationId: PostGridSegment description: | Create a new Segment for oneself or to share with others within the organization responses: '201': description: Segment was created successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Segment' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' requestBody: $ref: '#/components/requestBodies/Segment' '/grid-segments/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Segments summary: Retrieve a specific Segment operationId: GetGridSegment description: | Retrieve a specific UI Segment responses: '200': description: Segment was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/Segment' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Segments summary: Update a Segment operationId: PutGridSegment description: | Update a Segment responses: '200': description: Segment was updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Segment' '403': description: | This will be sent if the user is not the owner. content: application/json: schema: $ref: '#/components/schemas/Error' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' requestBody: content: application/json: schema: $ref: '#/components/schemas/Segment' delete: tags: - Segments summary: Delete a Segment operationId: DeleteGridSegment description: > Delete a Segment. This will also remove all shares. Only the owner may perform this. responses: '204': description: Segment was deleted successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '403': description: | This will be sent if the user is not the owner. content: application/json: schema: $ref: '#/components/schemas/Error' '404': $ref: '#/components/responses/NotFound' /integrations: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Integrations summary: Retrieve a list of integrations operationId: GetIntegrationCollection description: | Retrieve a list of integrations responses: '200': description: A list of integrations was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Integration' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/integrations/{label}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/integrationLabel' get: tags: - Integrations summary: Retrieve an integration for specific label operationId: GetIntegration description: | Retrieve an integration for specific label responses: '200': description: An integration with specific label was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Integration' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /layouts: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Layouts summary: Retrieve a layout list operationId: GetLayoutCollection description: | Retrieve a layout list parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Layout list was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Layout' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $layouts = $client->layouts()->search([ 'filter' => 'name:TestLayout', ]); post: tags: - Layouts summary: Create a layout operationId: PostLayout description: | Create a layout requestBody: $ref: '#/components/requestBodies/Layout' responses: '201': description: Layout was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Layout' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $layoutForm = new Rebilly\Entities\Layout(); $layoutItemForm = new Rebilly\Entities\LayoutItem(); $layoutItemForm->setPlanId('planId'); $layoutItemForm->setStarred(false); $layoutForm->setName('TestLayout'); $layoutForm->setLayoutItems([ $layoutItemForm, ]); try { $layout = $client->layouts()->create($layoutForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/layouts/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Layouts summary: Retrieve a layout operationId: GetLayout description: | Retrieve a layout with specified identifier string responses: '200': description: Layout was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Layout' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $layout = $client->layouts()->load('layoutId'); put: tags: - Layouts summary: Create or update a layout with predefined ID operationId: PutLayout description: | Create or update a layout with predefined identifier string requestBody: $ref: '#/components/requestBodies/Layout' responses: '200': description: Layout was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Layout' '201': description: Layout was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Layout' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $layoutForm = new Rebilly\Entities\Layout(); $layoutItemForm = new Rebilly\Entities\LayoutItem(); $layoutItemForm->setPlanId('planId'); $layoutItemForm->setStarred(false); $layoutForm->setName('TestLayout'); $layoutForm->setLayoutItems([ $layoutItemForm, ]); try { $layout = $client->layouts()->update('layoutId', $layoutForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Layouts summary: Delete a layout operationId: DeleteLayout description: | Delete a layout with predefined identifier string responses: '204': description: Layout was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $client->layouts()->delete('layoutId'); /lists: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Lists summary: Retrieve a collection of Lists (latest version of each List) operationId: GetListCollection description: | Retrieve a collection of Lists parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - $ref: '#/components/parameters/collectionSort' responses: '200': description: A collection of Lists was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Lists summary: Create a List operationId: PostList description: | Create a List responses: '201': description: List was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' requestBody: $ref: '#/components/requestBodies/List' '/lists/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Lists summary: Retrieve list's latest version operationId: GetList description: | Retrieve latest version of List with specified identifier string responses: '200': description: List was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Lists summary: Create or update a list with predefined ID operationId: PutList description: | Create or update a list with predefined identifier string requestBody: $ref: '#/components/requestBodies/List' responses: '200': description: List was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/List' '201': description: List was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' delete: tags: - Lists summary: Delete a list operationId: DeleteList description: | Delete a list with predefined identifier string responses: '204': description: List was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: List is used in Rules and cannot be deleted '/lists/{id}/{version}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' - name: version in: path required: true description: List version schema: type: integer minimum: 1 get: tags: - Lists summary: Retrieve List's exact version operationId: GetListVersion responses: '200': description: List's exact version was retrieved successfully content: application/json: schema: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /logout: post: tags: - JWT Session summary: Destroys the user's current session operationId: PostLogoutRequest description: > Destroys the user's current session. Endpoint must be accessed with valid JWT Authorization header. responses: '204': description: Session was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /memberships: get: tags: - Memberships summary: Retrieve a list of memberships operationId: GetMembershipCollection description: | Retrieve a list of memberships parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: A list of memberships was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Membership' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/memberships/{organizationId}/{userId}': parameters: - name: organizationId in: path required: true description: Organization identifier schema: $ref: '#/components/schemas/ResourceId' - name: userId in: path required: true description: User identifier schema: $ref: '#/components/schemas/ResourceId' get: tags: - Memberships summary: Retrieve the membership operationId: GetMembership description: | Retrieve the membership using organization and user identifiers responses: '200': description: Membership was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Membership' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Memberships summary: Create or update membership operationId: PutMembership description: | Create or update membership using organization and user identifiers. Only membership's owner can add other users in the membership. requestBody: content: application/json: schema: properties: isOwner: type: boolean permissions: description: >- The memberships's permissions. See the format in example. Use wildcard `*` for full access. allOf: - $ref: '#/components/schemas/AclPermissions' required: true responses: '200': description: Membership was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Membership' '201': description: Membership was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Membership' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' delete: tags: - Memberships summary: Delete the membership operationId: DeleteMembership description: | Delete the membership using organization and user identifiers responses: '204': description: Membership message was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' /organizations: get: tags: - Organizations summary: Retrieve a list of organizations operationId: GetOrganizationCollection description: | Retrieve a list of organizations parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of organizations was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $organizations = $client->organizations()->search([ 'filter' => 'city:Test', ]); post: tags: - Organizations summary: Create a organization operationId: PostOrganization description: | Create a organization requestBody: $ref: '#/components/requestBodies/Organization' responses: '201': description: Organization was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: The similar organization already exists content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $organizationForm = new Rebilly\Entities\Organization(); $organizationForm->setName('Test Organization'); $organizationForm->setCountry('US'); try { $organization = $client->organizations()->create($organizationForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/organizations/{id}': parameters: - $ref: '#/components/parameters/resourceId' get: tags: - Organizations summary: Retrieve a organization operationId: GetOrganization description: | Retrieve a organization with specified identifier string responses: '200': description: Organization was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $organization = $client->organizations()->load('organizationId'); put: tags: - Organizations summary: Create or update a organization with predefined ID operationId: PutOrganization description: | Create or update a organization with predefined identifier string requestBody: $ref: '#/components/requestBodies/Organization' responses: '200': description: Organization was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '201': description: Organization was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': description: The similar organization already exists content: application/json: schema: $ref: '#/components/schemas/Error' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $organizationForm = new Rebilly\Entities\Organization(); $organizationForm->setName('Test Organization'); $organizationForm->setCountry('US'); try { $organization = $client->organizations()->update('organizationId', $organizationForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Organizations summary: Delete a organization operationId: DeleteOrganization description: | Delete a organization with predefined identifier string responses: '204': description: Organization was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Organization has related resources and cannot be deleted content: application/json: schema: $ref: '#/components/schemas/Error' /payment-cards-bank-names: get: tags: - Payment Cards summary: Retrieve a list of payment card issuing bank names operationId: GetPaymentCardBankNameCollection description: | Retrieve a list of payment card issuing bank names parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionQuery' responses: '200': description: A list of payment card issuing bank names was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: type: object properties: name: description: Bank Name type: string '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /previews/rule-actions/send-email: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Rules summary: Send a test email operationId: PostPreviewRuleActionEmailSending description: | Send a test email requestBody: content: application/json: schema: $ref: '#/components/schemas/SendTestEmail' description: Test email resource required: true responses: '200': description: Test email was sent headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SendTestEmail' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' /previews/rule-actions/trigger-webhook: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Rules summary: Trigger a test webhook operationId: PostPreviewRuleActionWebhookTrigger description: | Trigger a test webhook requestBody: content: application/json: schema: $ref: '#/components/schemas/SendPreviewWebhook' description: Test webhook resource required: true responses: '200': description: Test webhook was triggered headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SendPreviewWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' /previews/webhooks: parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Webhooks summary: Trigger a test webhook operationId: PostPreviewWebhook description: | Trigger a test webhook requestBody: $ref: '#/components/requestBodies/GlobalWebhook' responses: '204': description: Test webhook was triggered headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' /profile: get: tags: - Profile summary: Retrieve user's profile operationId: GetProfile description: | Retrieve user's profile responses: '200': description: Profile was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Profile' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Profile summary: Update user's profile operationId: PutProfile description: | Update user's profile requestBody: content: application/json: schema: $ref: '#/components/schemas/Profile' description: Profile resource required: true responses: '200': description: Profile was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Profile' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /profile/password: post: tags: - Profile summary: Change password operationId: PostProfilePasswordChange description: > Updates user's password with the specified newPassword. And checks if currentPassword matches the actual one. requestBody: $ref: '#/components/requestBodies/UpdatePassword' responses: '201': description: Password updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Profile' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' /profile/totp-reset: post: tags: - Profile summary: Reset (renew) totpSecret operationId: PostProfileTotpReset description: | Reset (renew) totpSecret responses: '201': description: totpSecret reset (renewed) successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Profile' '404': $ref: '#/components/responses/NotFound' '/reset-password/{token}': parameters: - name: token in: path description: The token string required: true schema: type: string get: tags: - Reset password summary: Read token information operationId: GetPasswordResetToken responses: '200': description: Token was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ResetPasswordTokenInfo' '404': $ref: '#/components/responses/NotFound' post: tags: - Reset password summary: Finish password reset operationId: PostPasswordReset description: | Reset user password requestBody: content: application/json: schema: $ref: '#/components/schemas/ResetPassword' description: ResetPassword resource required: true responses: '201': description: Password was reseted successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $resetPasswordForm = new Rebilly\Entities\ResetPassword(); $resetPasswordForm->setNewPassword('1234'); try { $user = $client->users()->resetPassword('token', $resetPasswordForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/send-through-attribution/{eventType}': parameters: - $ref: '#/components/parameters/systemEventType' - $ref: '#/components/parameters/organizationId' get: tags: - Email Notifications summary: Retrieve a list of email notification send through attributions operationId: GetSendThroughAttributionCollection responses: '200': description: >- A list of email notification send through attributions was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/SendThroughAttribution' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /signin: post: tags: - JWT Session summary: Create a session with email and password operationId: PostSigninRequest description: | Create a session with email and password security: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/Signin' description: Signin resource required: true responses: '201': description: Session was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Session' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $loginForm = new Rebilly\Entities\Login(); $loginForm->setEmail('test@test.com'); $loginForm->setPassword('1234'); try { $user = $client->users()->signin($loginForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /signup: post: tags: - Profile summary: Register and create new profile operationId: PostSignupRequest description: | Creates a new user and sends an email confirmation requestBody: content: application/json: schema: $ref: '#/components/schemas/Signup' description: Signup resource required: true responses: '201': description: User was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $signupForm = new Rebilly\Entities\Signup(); $signupForm->setFirstName('John'); $signupForm->setLastName('Doe'); $signupForm->setEmail('johndoe@test.com'); $signupForm->setBusinessPhone('+123456789'); $signupForm->setPassword('1234'); try { $client->users()->signup($signupForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } /status: get: tags: - Status summary: Retrieve API current status operationId: GetStatus description: | Retrieve API current status security: [] responses: '200': description: Status was received headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Status' /tracking/api: get: tags: - Tracking summary: Retrieve a list of tracking API logs operationId: GetTrackingApiCollection parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: Tracking API logs was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/ApiTracking' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $apiTrackingLog = $client->apiTracking()->search([ 'filter' => 'status:200', ]); '/tracking/api/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Tracking summary: Retrieve a tracking API log with specified identifier string operationId: GetTrackingApi responses: '200': description: Tracking API log was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ApiTracking' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $apiTrackingLog = $client->apiTracking()->load('apiLogId'); /tracking/lists: get: tags: - Tracking summary: Retrieve Lists changes history operationId: GetTrackingListCollection parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Lists changes history was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/List' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /tracking/webhooks: get: tags: - Tracking summary: Retrieve a list of tracking webhook notifications operationId: GetTrackingWebhookCollection parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Tracking webhook notifications were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/WebhookTracking' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/tracking/webhooks/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Tracking summary: >- Retrieve a tracking webhook notification with specified identifier string operationId: GetTrackingWebhook responses: '200': description: Tracking webhook notification was retrieved successfully content: application/json: schema: $ref: '#/components/schemas/WebhookTracking' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/tracking/webhooks/{id}/history': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Tracking summary: Retrieve related webhook attempts for specified webhook tracking. operationId: GetTrackingWebhookHistoryCollection responses: '200': description: Webhook tracking related attempts were retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: type: array items: $ref: '#/components/schemas/WebhookTracking' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/tracking/webhooks/{id}/resend': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' post: tags: - Tracking summary: Schedules webhook resend attempt for specified webhook tracking. operationId: PostTrackingWebhookResendRequest responses: '204': description: Webhook resend attempt was scheduled headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /users: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Users summary: Retrieve a list of users operationId: GetUserCollection description: | Retrieve a list of users parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of users was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $users = $client->users()->search([ 'filter' => 'firstName:John', ]); post: tags: - Users summary: Create an user operationId: PostUser description: | Create an user requestBody: $ref: '#/components/requestBodies/User' responses: '201': description: User was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $userForm = new Rebilly\Entities\User(); $userForm->setFirstName('John'); $userForm->setLastName('Doe'); $userForm->setEmail('johndoe@test.com'); try { $user = $client->users()->create($userForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/users/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Users summary: Retrieve user operationId: GetUser description: | Retrieve user with specified identifier string responses: '200': description: User was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $user = $client->users()->load('userId'); put: tags: - Users summary: Create or update user with predefined ID operationId: PutUser description: | Create or update user with predefined identifier string requestBody: $ref: '#/components/requestBodies/User' responses: '200': description: User was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '201': description: User was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $userForm = new Rebilly\Entities\User(); $userForm->setFirstName('John'); $userForm->setLastName('Doe'); $userForm->setEmail('johndoe@test.com'); try { $user = $client->users()->update('userId', $userForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Users summary: Delete user operationId: DeleteUser description: | Delete user with predefined identifier string responses: '204': description: User was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: User has related resources and cannot be deleted content: application/json: schema: $ref: '#/components/schemas/Error' x-code-samples: - lang: PHP source: | try { $client->users()->delete('userId'); } catch (ServerException $e) { echo $e->getMessage(); } '/users/{id}/password': parameters: - $ref: '#/components/parameters/resourceId' post: tags: - Users summary: Change a user's password operationId: PostUserPasswordChange description: > Updates user's password with the specified newPassword. And checks if currentPassword matches the actual one. requestBody: $ref: '#/components/requestBodies/UpdatePassword' responses: '201': description: Password updated successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' x-code-samples: - lang: PHP source: | $updatePasswordForm = new Rebilly\Entities\UpdatePassword(); $updatePasswordForm->setCurrentPassword('1234'); $updatePasswordForm->setNewPassword('5678'); try { $user = $client->users()->updatePassword('userId', $updatePasswordForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/users/{id}/totp-reset': parameters: - $ref: '#/components/parameters/resourceId' post: tags: - Users summary: Reset (renew) totpSecret operationId: PostUserTotpReset description: | Reset (renew) totpSecret responses: '201': description: totpSecret reset (renewed) successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/User' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $user = $client->users()->resetTotp('userId'); /webhooks: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Webhooks summary: Retrieve a list of webhooks operationId: GetWebhookCollection description: | Retrieve a list of webhooks parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: A list of Webhooks was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/GlobalWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' post: tags: - Webhooks summary: Create a webhook operationId: PostWebhook description: | Create a webhook requestBody: $ref: '#/components/requestBodies/GlobalWebhook' responses: '201': description: Webhook was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GlobalWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' '/webhooks/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Webhooks summary: Retrieve a webhook operationId: GetWebhook description: | Retrieve a webhook with specified identifier string responses: '200': description: Webhook was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GlobalWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Webhooks summary: Create or update a webhook with predefined ID operationId: PutWebhook description: | Create or update a webhook with predefined identifier string requestBody: $ref: '#/components/requestBodies/GlobalWebhook' responses: '200': description: Webhook was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GlobalWebhook' '201': description: Webhook was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/GlobalWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' /websites: parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Websites summary: Retrieve a list of websites operationId: GetWebsiteCollection description: | Retrieve a list of websites parameters: - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: A list of Websites was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/Website' text/csv: schema: type: array items: $ref: '#/components/schemas/Website' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' x-code-samples: - lang: PHP source: | $websites = $client->websites()->search([ 'filter' => 'name:TestWebsite', ]); post: tags: - Websites summary: Create a website operationId: PostWebsite description: | Create a website requestBody: $ref: '#/components/requestBodies/Website' responses: '201': description: Website was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Website' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $websiteForm = new Rebilly\Entities\Website(); $websiteForm->setName('TestWebsite'); $websiteForm->setUrl('http://testwebsite.com'); $websiteForm->setServicePhone('+0123456789'); $websiteForm->setServiceEmail('test@testwebsite.com'); try { $website = $client->websites()->create($websiteForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } '/websites/{id}': parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/resourceId' get: tags: - Websites summary: Retrieve a website operationId: GetWebsite description: | Retrieve a website with specified identifier string responses: '200': description: Website was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Website' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' x-code-samples: - lang: PHP source: | $website = $client->websites()->load('websiteId'); put: tags: - Websites summary: Create or update a website with predefined ID operationId: PutWebsite description: | Create or update a website with predefined identifier string requestBody: $ref: '#/components/requestBodies/Website' responses: '200': description: Website was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Website' '201': description: Website was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Website' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' x-code-samples: - lang: PHP source: | $websiteForm = new Rebilly\Entities\Website(); $websiteForm->setName('TestWebsite'); $websiteForm->setUrl('http://testwebsite.com'); $websiteForm->setServicePhone('+0123456789'); $websiteForm->setServiceEmail('test@testwebsite.com'); try { $website = $client->websites()->update('websiteId', $websiteForm); } catch (UnprocessableEntityException $e) { echo $e->getMessage(); } delete: tags: - Websites summary: Delete a website operationId: DeleteWebsite description: | Delete a website with predefined identifier string responses: '204': description: Website was deleted headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': description: Website has related resources and cannot be deleted x-code-samples: - lang: PHP source: | try { $client->websites()->delete('websiteId'); } catch (ServerException $e) { echo $e->getMessage(); } '/customers/{customerId}/summary-metrics': servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - name: customerId in: path required: true description: Customer's ID schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Customers summary: Retrieve customer lifetime summary metrics operationId: GetCustomerSummaryMetricReport description: | Retrieve customer lifetime summary metrics responses: '200': description: Metrics were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CustomerInformation' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /data-exports: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' post: tags: - Data Exports summary: Request a data export of selected resource operationId: PostDataExport description: | Request a data export of selected resource requestBody: $ref: '#/components/requestBodies/DataExport' responses: '201': description: Data export request received headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/DataExport' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' get: tags: - Data Exports summary: Retrieve a list of data export requests operationId: GetDataExportCollection description: | Retrieve a list of data export requests responses: '200': description: A list of data export requests was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: type: array items: $ref: '#/components/schemas/DataExport' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '/data-exports/{id}': servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/resourceId' - $ref: '#/components/parameters/organizationId' get: tags: - Data Exports summary: Retrieve a data export request operationId: GetDataExport description: | Retrieve a data export request responses: '200': description: Data Export request headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/DataExport' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' put: tags: - Data Exports summary: Modify a data export operationId: PutDataExport description: | A data export may be changed as long as it is still pending requestBody: $ref: '#/components/requestBodies/DataExport' responses: '200': description: Data Export was modified headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/DataExport' '201': description: Data Export was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/DataExport' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': description: Invalid data was sent content: application/json: schema: $ref: '#/components/schemas/InvalidError' delete: tags: - Data Exports summary: Delete a data export operationId: DeleteDataExport description: | Delete an existing data export responses: '204': $ref: '#/components/responses/NoContent' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /histograms/transactions: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Histograms summary: Get Transaction histogram report data operationId: GetHistogramTransactionReport description: | Get Transaction histogram report data. parameters: - name: periodStart in: query description: Report start day required: true schema: type: string format: date-time - name: periodEnd in: query description: Report end day required: true schema: type: string format: date-time - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - website - currency - bin - rebillNumber - transactionResult - transactionType - gatewayAccount - leadsAffiliate - leadsCampaign - leadsContent - leadsMedium - leadsSalesAgent - leadsSource - leadsSubAffiliate - leadsTerm - name: aggregationPeriod in: query description: Report aggregation period required: true schema: type: string enum: - hour - day - month - name: metric in: query description: Report metric required: true schema: type: string enum: - ApprovalThroughput - AuthApprovalThroughput - AvgSalesPrice - Refunds - RefundCount - Sales - SalesCount responses: '200': description: Transaction report was retrieved successfully. headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/HistogramData' '403': $ref: '#/components/responses/Forbidden' /experimental/organizations: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' post: deprecated: true tags: - Organizations summary: Create an organization operationId: ExperimentalPostOrganization description: | Create an organization security: - JWT: [] requestBody: $ref: '#/components/requestBodies/PostOrganization' responses: '201': description: Organization was created headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' '/experimental/organizations/{id}': servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/resourceId' patch: deprecated: true tags: - Organizations summary: Update an organization operationId: PatchOrganization description: | Update an organization with predefined identifier string security: - JWT: [] requestBody: $ref: '#/components/requestBodies/PatchOrganization' responses: '200': description: Organization was updated headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/Organization' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '422': $ref: '#/components/responses/ValidationError' /reports/payments-success-by-decline-reason: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a report of payments successful retries throughput operationId: GetPaymentSuccessByDeclineReasonReport description: Retrieve a report of payments successful retries throughput parameters: - name: periodStart in: query description: Report start day required: true schema: type: string format: date-time - name: periodEnd in: query description: Report end day required: true schema: type: string format: date-time - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportPaymentsSuccessfulRetries' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/api-log-summary: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a API Log Summary Report operationId: GetApiLogSummaryReport description: Retrieve a API Log Summary Report parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/APILogSummary' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/cumulative-subscriptions-plans: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a cumulative subscriptions plans report operationId: GetCumulativeSubscriptionPlanReport description: Retrieve a cumulative subscriptions report aggregated by day and plans parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/CumulativeSubscriptionsPlans' text/csv: schema: $ref: '#/components/schemas/CumulativeSubscriptionsPlans' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/cumulative-subscriptions: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a cumulative subscriptions report operationId: GetCumulativeSubscriptionReport description: Retrieve a cumulative subscriptions report parameters: - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - day - month - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/CumulativeSubscriptions' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/dashboard: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve dashboard data operationId: GetDashboardReport description: Retrieve dashboard data parameters: - name: periodStart in: query description: Report start day required: true schema: type: string format: date-time - name: periodEnd in: query description: Report end day required: true schema: type: string format: date-time - name: metrics in: query description: Comma-separated list of metrics schema: type: string format: date-time - name: segments in: query description: Dashboard report segments as a JSON array schema: type: string - $ref: '#/components/parameters/reportTimezone' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/dcc-markup: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a DCC markup report operationId: GetDccMarkupReport description: Retrieve a DCC markup report parameters: - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - day - month - bin - country - baseCurrency - quoteCurrency - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/DccMarkup' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/disputes: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a disputes report operationId: GetDisputeReport description: | Retrieve a disputes report parameters: - name: aggregationField in: query description: Report will be aggregated by this field required: true schema: type: string enum: - website - gatewayAcquirer - currency - bin - country - rebillNumber - retryNumber - gatewayAccount - transactionAmount - name: periodMonth in: query description: Report month in format YYYY-MM required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportDisputes' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/events-triggered: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a events triggered summary report operationId: GetTriggeredEventReport description: | Retrieve a events triggered summary report. parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportEventsTriggeredSummary' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/reports/events-triggered/{eventType}/rules': servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - name: eventType in: path required: true description: The system event type schema: $ref: '#/components/schemas/EventType' - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a rules matched summary report operationId: GetTriggeredEventRuleReport description: | Retrieve a rules matched summary report by events triggered. parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportRulesMatchedSummary' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/future-renewals: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a future renewals report operationId: GetFutureRenewalReport description: Retrieve a future renewals report parameters: - name: periodStart in: query description: Report start date. It should be in the future required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/FutureRenewals' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/renewal-sales: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a renewal sales report operationId: GetRenewalSaleReport description: | Retrieve a renewal sales report parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/RenewalSales' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/retention-percentage: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a retention percentage report operationId: GetRetentionPercentageReport description: | Retrieve a retention percentage report parameters: - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - day - month - quarter - year - name: aggregationPeriod in: query description: Report aggregation period required: true schema: type: string enum: - day - month - quarter - year - cycle - name: includeSwitchedSubscriptions in: query description: If to include switched subscriptions schema: type: string enum: - 'true' - 'false' - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportRetentionPercentage' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/retention-value: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a retention value report operationId: GetRetentionValueReport description: > The retention value report shows the count of new customers per aggregation bucket and the corresponding per customer value over time. parameters: - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - day - month - quarter - year - leadsSource - leadsMedium - leadsCampaign - leadsContent - leadsTerm - leadsAffiliate - leadsSubAffiliate - leadsSalesAgent - name: aggregationPeriod in: query description: Report aggregation period required: true schema: type: string enum: - day - month - quarter - year - name: includeRefunds in: query description: If to include refunds schema: type: string enum: - 'true' - 'false' - name: includeDisputes in: query description: If to include disputes schema: type: string enum: - 'true' - 'false' - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportRetentionValue' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/retry-transaction: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a payment retry report operationId: GetTransactionRetryReport description: | Retrieve a payment retry report parameters: - name: periodStart in: query description: Report start date required: true schema: type: string format: date-time - name: periodEnd in: query description: Report end date required: true schema: type: string format: date-time - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ReportPaymentRetry' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/statistics: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a statistics report operationId: GetStatisticReport description: | Retrieve a statistics report responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/ReportStatistics' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/subscription-cancellation: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve transactions with their plan data operationId: GetSubscriptionCancellationReport description: Retrieve transactions with their plan data parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - planId - websiteId - canceledBy - cancelCategory - leadSource.source - leadSource.medium - leadSource.campaign - leadSource.content - leadSource.term - leadSource.affiliate - leadSource.subAffiliate - leadSource.salesAgent - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' - name: Accept in: header description: The response media type schema: type: string enum: - application/json default: application/json responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionCancellationReport' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/subscription-renewal: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a subscription renewal report operationId: GetSubscriptionRenewalReport description: Retrieve a subscription renewal report parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionRenewal' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/time-series-transaction: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a time series transactions report operationId: GetTimeSeriesTransactionReport description: Retrieve a transactions report aggregated by time periods parameters: - name: type in: query description: Report aggregation type required: true schema: type: string enum: - count - amount - approval-rate - incomplete-rate - name: subaggregate in: query description: Report subaggregate required: true schema: type: string enum: - website - gateway-account - currency - plan - leads.source - leads.medium - leads.campaign - leads.content - leads.term - leads.affiliate - leads.subaffiliate - leads.sales-agent - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/TimeSeriesTransaction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/transactions-plan: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve transactions with their plan data operationId: GetTransactionPlanReport description: Retrieve transactions with their plan data parameters: - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - name: Accept in: header description: The response media type schema: type: string enum: - application/json - text/csv default: application/json responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/TransactionsPlan' text/csv: schema: $ref: '#/components/schemas/TransactionsPlan' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/transactions-time-dispute: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a dispute delays in days report operationId: GetTransactionTimeDisputeReport description: > Retrieve a dispute delays in days report, how much time between a transaction and a dispute. parameters: - name: aggregationField in: query description: Report will be aggregated by this field required: true schema: type: string enum: - website - processor - currency - bin - country - rebillNumber - retryNumber - gatewayAccount - transactionAmount - name: periodStart in: query description: Report start date required: true schema: type: string - name: periodEnd in: query description: Report end date required: true schema: type: string - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportDisputeDelays' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /reports/transactions: servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - $ref: '#/components/parameters/organizationId' get: tags: - Reports summary: Retrieve a transactions report operationId: GetTransactionReport description: Retrieve a transactions report parameters: - name: periodStart in: query description: Report start day required: true schema: type: string format: date-time - name: periodEnd in: query description: Report end day required: true schema: type: string format: date-time - name: aggregationField in: query description: Report aggregation field required: true schema: type: string enum: - website - currency - bin - rebillNumber - transactionResult - transactionType - gatewayAccount - gateway - retryNumber - plan - leadSource.source - leadSource.medium - leadSource.campaign - leadSource.content - leadSource.term - leadSource.affiliate - leadSource.subAffiliate - leadSource.salesAgent - $ref: '#/components/parameters/collectionLimit' - $ref: '#/components/parameters/collectionOffset' - $ref: '#/components/parameters/collectionFilter' responses: '200': description: Report was retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' Pagination-Total: $ref: '#/components/headers/Pagination-Total' Pagination-Limit: $ref: '#/components/headers/Pagination-Limit' Pagination-Offset: $ref: '#/components/headers/Pagination-Offset' content: application/json: schema: $ref: '#/components/schemas/ReportTransactions' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '/subscriptions/{subscriptionId}/summary-metrics': servers: - url: 'https://api.rebilly.com/experimental' - url: 'https://api-sandbox.rebilly.com/experimental' parameters: - name: subscriptionId in: path required: true description: Subscription's ID schema: type: string - $ref: '#/components/parameters/organizationId' get: tags: - Subscriptions summary: Retrieve subscription summary metrics operationId: GetSubscriptionSummaryMetricReport description: | Retrieve subscription summary metrics responses: '200': description: Metrics were retrieved successfully headers: Rate-Limit-Limit: $ref: '#/components/headers/Rate-Limit-Limit' Rate-Limit-Remaining: $ref: '#/components/headers/Rate-Limit-Remaining' Rate-Limit-Reset: $ref: '#/components/headers/Rate-Limit-Reset' content: application/json: schema: $ref: '#/components/schemas/SubscriptionSummaryMetrics' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden'