{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"webhook-configuration","__idx":0},"children":["Webhook configuration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This topic describes how to use webhooks with the Rebilly API."," ","For information on how to configure webhooks in the Rebilly UI, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/automations/webhooks"},"children":["Webhooks"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use webhooks to notify your systems when certain events occur and to collect event information."," ","Rebilly sends notifications through HTTP and HTTPS methods to a URL of your choice."," ","To view webhooks operations, see the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/catalog/all/webhooks"},"children":["Webhooks API docs"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each website that you add to Rebilly can have its own webhook configuration."," ","This includes the URI to which you want to send the webhook, along with optional HTTP basic access authentication details."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["One organization can have up to 25 active webhooks."," ","Disable or remove one or more webhooks to create new ones when the limit is reached."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Webhooks may be delayed or delivered multiple times."," ","Keep this in mind if you intend to use webhooks to make actionable decisions."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#data-validity"},"children":["Data validity"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"define-events","__idx":1},"children":["Define events"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To restrict a webhook to a specific event or event types, use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eventsFilter"]}," field."," ","To add more than one event type, set an array of system event types as follows:",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[\"gateway-account-requested\", \"subscription-canceled\"]"]},"."," ","If you leave the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eventsFilter"]}," field empty blank all events are active for the webhook."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a complete list of event types, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/catalog/all/webhooks/postwebhook#!t=request&path=eventsFilter"},"children":["Global event types"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"security","__idx":2},"children":["Security"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/catalog/all/service-credentials/postservicecredential"},"children":["Create webhook service credentials"]}," for your webhook host."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["HTTP basic access authentication through HTTPS is highly recommended."," ","This adds an extra layer of security for your webhook endpoint that can prevent undesired data injection by third parties."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rebilly webhooks may be sent from ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/ip-addresses"},"children":["these IP addresses"]},"."," ","If you use HTTP basic access authentication, Rebilly also sends an authorization header along with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE"]}," request."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following is an example of a header with HTTP basic access authentication enabled that uses ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["username = rebilly, password = superman"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"POST /odt4xsod HTTP/1.1\nUser-Agent: Rebilly/20e49c5\nHost: example.com\nContent-Type: application/json; charset=utf-8\nContent-Length: 478\nConnection: close\nAuthorization: Basic cmViaWxseTpzdXBlcm1hbgo=\nAccept-Encoding: gzip, deflate\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you use base64 to decode the value ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["decode(cmViaWxseTpzdXBlcm1hbgo=)"]}," you receive ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rebilly:superman"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"responses","__idx":3},"children":["Responses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rebilly expects a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTP 200 OK"]}," response after a successful webhook transmission to your systems."," ","If no response is received within 20 seconds, or the HTTP response code is not 200, the request is considered not sent and be marked for retry."," ","The webhook is sent again automatically after approximately 5 minutes."," ","If no response is received, the webhook is sent again with an exponential back-off at approximately 1, 2, 4, 8, and 16 hours."," ","In total, the webhook is retried up to 6 times."," ","If still unsuccessful, it is not attempted again."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"user-agent","__idx":4},"children":["User agent"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Rebilly, all outgoing webhooks contain a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["User-Agent"]}," header."," ","The header value changes frequently."," ","The value format is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Rebilly/%release%"]},", where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["%release%"]}," is a 7 character long alphanumeric string which matches the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/^[a-z0-9]{7}$/"]}," regular expression pattern."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"data-validity","__idx":5},"children":["Data validity"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a notification is triggered, Rebilly sends all available information to your endpoint at the time of the event."," ","The data contained in the webhook reflects the state of Rebilly records at the time of the event."," ","If there is a delay, your records might be more up to date than the data that is sent by the webhook."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following example describes a scenario where a delay occurs in recording of data between systems."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A transaction triggers a webhook, and some relating customer information was not supplied at the time when the transaction occurred."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The notification transmission is delayed for a short period."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your system modifies or adds this information before a notification is received."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The notification for the transaction is received by your systems, but the customer information does not match your records."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"data-authenticity","__idx":6},"children":["Data authenticity"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In Rebilly, all outgoing webhooks contain a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Security-Signature"]}," header."," ","Use this header to ensure data authenticity."," ","Signature verification is optional and is not required for your integration to work, but it is recommended."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The authenticity check uses JSON Web Tokens (JWTs) and JSON Web Keys (JWKs) to verify webhooks."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To authenticate webhook data:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate, load, and cache Rebilly JWKs from the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://api.rebilly.com/.well-known/keys"},"children":["live"]}," or ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://api-sandbox.rebilly.com/.well-known/keys"},"children":["sandbox"]}," environments. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"To ensure proper key rotation, Rebilly recommends a cache Time to Live (TTL) of no greater than 1 hour."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Extract the JWT from the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Security-Signature"]}," header of the webhook."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Validate the JWT against your preferred JWT and JWK library for your chosen programming language."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Decode the payload (second) segment of the JWT and verify the following checks:"]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a webhook fails any of the following checks, consider the webhook invalid and discard it."]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iss"]}," value is equal to the Rebilly API URL where you expect to receive webhooks."," ","For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.rebilly.com/"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api-sandbox.rebilly.com/"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aud"]}," value is equal to your organization ID within Rebilly."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iat"]}," value is less than or equal to the current Unix timestamp."," ","Rebilly recommends a leeway of no greater than 10 seconds."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," value is greater than the current Unix timestamp."," ","This is an optional check to prevent replay attacks."," ","Rebilly accepts webhooks that are received within a 5-minute timeframe between the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iat"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," values."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestBodyHash"]}," is equal to the SHA256 hash of the raw webhook body."," ","Hash the request body bytes exactly as received."," ","Do not parse and re-serialize the JSON first, because that changes escaping and produces a different hash."]}]},{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"Authenticity check example","expanded":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The following example is of a webhook that is received at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:45:00 UTC"]},"."," ","Formatting and spaces are preserved in the webhook body."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"POST /odt4xsod HTTP/1.1\nUser-Agent: Rebilly/20e49c5\nHost: example.com\nContent-Type: application/json; charset=utf-8\nContent-Length: 478\nConnection: close\nSecurity-Signature: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImI2MDNmMWY4Y2U0Y2RlMzc2NjExNzlkNGRmODNlYjZlODc0ZTRjZjRjNWNmNWRhMGIxYTY0NDUyMDJmNmJlNGIifQ.eyJpc3MiOiJodHRwczovL2FwaS1zYW5kYm94LnJlYmlsbHkuY29tLyIsImF1ZCI6ImE5ZjY4ZTZlLWUyZTYtNDNkZC1hMjdmLTgxMjAxMjFkNzQyOCIsImlhdCI6MTY3NjIzMDk3MiwiZXhwIjoxNjc2MjMxMjcyLCJyZXF1ZXN0Qm9keUhhc2giOiIyMjA1YThkMjU0M2M5N2E5YThkYzI5YTRmOWZkZjcxN2ZkOTQ3OGI5ODkxYWRmNTJhYmQ5YzA5ZjdhZmRlMDk0In0.ChVc_NAWxfZVEl4g7QhFFO8c5ZtUuTWlP60qQ7gEKtUQdWY70WyzYOREbGPodTbraSNggh1M98gaYSqcQM6vAk3op_9HQpeMtQEIGUOjNDMe2_BmwyeGtcc3_c3Ft0gsARUYatZcVCeeYi7i8Xwekj2xQKkxbkLYEkHHj3f_o2dHXdXaFVvgU2fNN9pmfq1iI2ROM_UXrpGDfsm1nfvZsFLk9cdCum3bBMpTeqelm02ojk6yHES9otoMTYqwGJ5ovyOKaPzMAUJT1tNv1xzf5YxxyBMj6CRqTMPkItrgU3nX6pPMdS5cbEWzhTUcm29WeWrXf90PqLUJTvSxIuMhUA\nAccept-Encoding: gzip, deflate\n\n{\"dataExportId\":\"d9dd134f-0bee-46b1-bec0-992da3173336\",\"fileId\":\"d348968b-41ed-4d7d-b534-02e5265c8912\",\"eventType\":\"data-export-completed\",\"_embedded\":{\"dataExport\":{\"id\":\"d9dd134f-0bee-46b1-bec0-992da3173336\",\"name\":\"Preview\",\"resource\":\"customers\",\"format\":\"csv\",\"arguments\":null,\"dateRange\":null,\"emailNotification\":[],\"fields\":[],\"recurring\":null,\"status\":\"pending\",\"userId\":\"3d08e3f3-fa38-4731-9761-8a04400e05d3\",\"recordCount\":null,\"scheduledTime\":\"2023-02-12T19:42:52+00:00\",\"expiredTime\":\"2023-03-12T19:42:52+00:00\",\"purgedTime\":\"2024-06-12T19:42:52+00:00\",\"createdTime\":\"2023-02-12T19:42:52+00:00\",\"updatedTime\":\"2023-02-12T19:42:52+00:00\",\"_links\":[{\"rel\":\"self\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/experimental\\/data-exports\\/d9dd134f-0bee-46b1-bec0-992da3173336\"},{\"rel\":\"user\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/users\\/3d08e3f3-fa38-4731-9761-8a04400e05d3\"}]}},\"_links\":[{\"rel\":\"dataExport\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/experimental\\/data-exports\\/d9dd134f-0bee-46b1-bec0-992da3173336\"},{\"rel\":\"download\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/files\\/d348968b-41ed-4d7d-b534-02e5265c8912\\/download\"}]}\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["At ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:45:00 UTC"]}," the JWKs located at ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://api-sandbox.rebilly.com/.well-known/keys"},"children":["https://api-sandbox.rebilly.com/.well-known/keys"]}," contain the following key:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"[\n  {\n    \"kty\": \"RSA\",\n    \"n\": \"sT66o-HJLpVt5qifPS6MsFpu8dj-NZJWWJnoJMohCBHhGNL8v6EJm_kCNY43Czi0Bt5dbrFovPgcjdR1yq938hQ9Hi2SjNoddqcsvOUtThztsXitTKSutBKjVcInN_At_DxCpO8pardiR3aLR-bCClz8iSutmRaTenee6cMUkkZZRs0XRqI_gDPfAoN_f5HWZBXnu-VSUrBpT-PnzA4ICvR9ZaeU3EK3T64QhLnxuGa_o561__CR5oD79sEXILqJoD47uE22FydAvHvrgWqk0RMkBFtSdgmFkhylpAVgnGWAJqB2FLy-yLh5QMS02SxKtz89KRVRe0V4BVx5x3bTbw\",\n    \"e\": \"AQAB\",\n    \"alg\": \"RS256\",\n    \"kid\": \"b603f1f8ce4cde37661179d4df83eb6e874e4cf4c5cf5da0b1a6445202f6be4b\",\n    \"use\": \"sig\"\n  }\n]\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The JWT signature could be verified with the key whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kid"]}," value is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["b603f1f8ce4cde37661179d4df83eb6e874e4cf4c5cf5da0b1a6445202f6be4b"]}," as expected."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The decoded JWT payload segment provides:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"iss\": \"https://api-sandbox.rebilly.com/\",\n  \"aud\": \"a9f68e6e-e2e6-43dd-a27f-8120121d7428\",\n  \"iat\": 1676230972,\n  \"exp\": 1676231272,\n  \"requestBodyHash\": \"2205a8d2543c97a9a8dc29a4f9fdf717fd9478b9891adf52abd9c09f7afde094\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Results of the verification checks:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iss"]}," value is equal to the sandbox API URL."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["aud"]}," value is equal to the organization ID ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["a9f68e6e-e2e6-43dd-a27f-8120121d7428"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["iat"]}," value is equal to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:42:52 UTC"]},", which is less than the reception time of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:45:00 UTC"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exp"]}," value is equal to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:47:52 UTC"]},", which is greater than the reception time of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2023-02-12 19:45:00 UTC"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestBodyHash"]}," value is equal to the SHA256 hash of the raw webhook body:"]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"sha256('{\"dataExportId\":\"d9dd134f-0bee-46b1-bec0-992da3173336\",\"fileId\":\"d348968b-41ed-4d7d-b534-02e5265c8912\",\"eventType\":\"data-export-completed\",\"_embedded\":{\"dataExport\":{\"id\":\"d9dd134f-0bee-46b1-bec0-992da3173336\",\"name\":\"Preview\",\"resource\":\"customers\",\"format\":\"csv\",\"arguments\":null,\"dateRange\":null,\"emailNotification\":[],\"fields\":[],\"recurring\":null,\"status\":\"pending\",\"userId\":\"3d08e3f3-fa38-4731-9761-8a04400e05d3\",\"recordCount\":null,\"scheduledTime\":\"2023-02-12T19:42:52+00:00\",\"expiredTime\":\"2023-03-12T19:42:52+00:00\",\"purgedTime\":\"2024-06-12T19:42:52+00:00\",\"createdTime\":\"2023-02-12T19:42:52+00:00\",\"updatedTime\":\"2023-02-12T19:42:52+00:00\",\"_links\":[{\"rel\":\"self\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/experimental\\/data-exports\\/d9dd134f-0bee-46b1-bec0-992da3173336\"},{\"rel\":\"user\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/users\\/3d08e3f3-fa38-4731-9761-8a04400e05d3\"}]}},\"_links\":[{\"rel\":\"dataExport\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/experimental\\/data-exports\\/d9dd134f-0bee-46b1-bec0-992da3173336\"},{\"rel\":\"download\",\"href\":\"https:\\/\\/api-sandbox.rebilly.com\\/organizations\\/a9f68e6e-e2e6-43dd-a27f-8120121d7428\\/files\\/d348968b-41ed-4d7d-b534-02e5265c8912\\/download\"}]}');\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"standard-webhooks-signature","__idx":7},"children":["Standard Webhooks signature"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rebilly also signs each webhook in the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md"},"children":["Standard Webhooks"]}," format."," ","The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Security-Signature"]}," header described in ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"#data-authenticity"},"children":["Data authenticity"]}," does not change."," ","Use either check."," ","Rebilly recommends that new integrations use the Standard Webhooks check, because it verifies against a fixed public key and does not require fetching or caching signing keys."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each webhook carries these headers:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Header"},"children":["Header"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The unique ID of the webhook. Rebilly sends the same ID on every retry of the same webhook. Use it as an idempotency key."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-timestamp"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Unix timestamp, in seconds, of the delivery attempt."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-signature"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One or more signatures, separated by spaces. Each value is a version prefix, a comma, and a base64 signature. Rebilly sends ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1a"]}," signatures."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1a"]}," scheme is an asymmetric Ed25519 signature."," ","The signed content is the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-id"]}," value, a period, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-timestamp"]}," value, a period, and the raw webhook body."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Public keys, in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["whpk_"]}," format the specification defines:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Environment"},"children":["Environment"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Public key"},"children":["Public key"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Live, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.rebilly.com/"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["whpk_lr2xkGO1EEdyZxVx4DKQ5XfmSjxOmwv9UcwNPbn9fFI="]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sandbox, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api-sandbox.rebilly.com/"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["whpk_qism49rHt4dOh6txzL3dfnMTmhQiITY1A86Y9BJGEZM="]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To verify a webhook:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Read the three headers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reject the webhook if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-timestamp"]}," is more than 5 minutes from the current time."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Build the signed content from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook-timestamp"]},", and the raw body."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify one of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1a"]}," signatures against the public key of the environment that sent the webhook."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Reject the webhook if no signature verifies."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Standard Webhooks reference libraries verify only symmetric ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1"]}," signatures, so they do not verify the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v1a"]}," signatures that Rebilly sends."," ","The following examples verify a webhook without a library."," ","Each one takes the three request headers, the raw request body exactly as received, and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["whpk_"]}," public key of the environment."," ","Each one returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}," for a missing header, a malformed value, or a signature that does not verify."]},{"$$mdtype":"Tag","name":"CodeGroup","attributes":{"mode":"tabs"},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","data-title":"Node.js","header":{"title":"Node.js","controls":{"copy":{}}},"source":"import { createPublicKey, verify } from 'node:crypto';\n\n// headers: the request headers, lower-case names. rawBody: the request body as a string or Buffer.\nexport function verifyWebhook(headers, rawBody, publicKey) {\n  const raw = Buffer.from(publicKey.replace(/^whpk_/, ''), 'base64');\n  const key = createPublicKey({\n    key: { kty: 'OKP', crv: 'Ed25519', x: raw.toString('base64url') },\n    format: 'jwk',\n  });\n  const timestamp = Number(headers['webhook-timestamp']);\n  if (!Number.isFinite(timestamp) || Math.abs(Date.now() / 1000 - timestamp) > 300) {\n    return false;\n  }\n  const signed = Buffer.concat([\n    Buffer.from(`${headers['webhook-id']}.${headers['webhook-timestamp']}.`),\n    Buffer.from(rawBody),\n  ]);\n  return (headers['webhook-signature'] ?? '')\n    .split(' ')\n    .filter((value) => value.startsWith('v1a,'))\n    .some((value) => verify(null, signed, key, Buffer.from(value.slice(4), 'base64')));\n}\n","lang":"js"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"php","data-title":"PHP","header":{"title":"PHP","controls":{"copy":{}}},"source":"<?php // PHP 8.0 or later, with the sodium extension.\n\n// $headers: the request headers, lower-case names. $rawBody: the request body as received.\nfunction verifyWebhook(array $headers, string $rawBody, string $publicKey): bool\n{\n    $raw = base64_decode(substr($publicKey, strlen('whpk_')), true);\n    if ($raw === false || strlen($raw) !== SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES) {\n        return false;\n    }\n    if (!isset($headers['webhook-id'], $headers['webhook-timestamp'], $headers['webhook-signature'])) {\n        return false;\n    }\n    if (!ctype_digit($headers['webhook-timestamp']) || abs(time() - (int) $headers['webhook-timestamp']) > 300) {\n        return false;\n    }\n    $signed = $headers['webhook-id'] . '.' . $headers['webhook-timestamp'] . '.' . $rawBody;\n    foreach (explode(' ', $headers['webhook-signature']) as $value) {\n        if (!str_starts_with($value, 'v1a,')) {\n            continue;\n        }\n        $signature = base64_decode(substr($value, 4), true);\n        if ($signature === false || strlen($signature) !== SODIUM_CRYPTO_SIGN_BYTES) {\n            continue;\n        }\n        if (sodium_crypto_sign_verify_detached($signature, $signed, $raw)) {\n            return true;\n        }\n    }\n\n    return false;\n}\n","lang":"php"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ruby","data-title":"Ruby","header":{"title":"Ruby","controls":{"copy":{}}},"source":"require \"ed25519\" # gem install ed25519 (Ruby 3.0 or later)\n\n# headers: the request headers, lower-case names. raw_body: the request body as received.\ndef verify_webhook(headers, raw_body, public_key)\n  key = Ed25519::VerifyKey.new(public_key.delete_prefix(\"whpk_\").unpack1(\"m0\"))\n  timestamp = headers[\"webhook-timestamp\"].to_s\n  return false unless timestamp.match?(/\\A\\d+\\z/) && (Time.now.to_i - timestamp.to_i).abs <= 300\n\n  signed = \"#{headers[\"webhook-id\"]}.#{timestamp}.#{raw_body}\"\n  headers[\"webhook-signature\"].to_s.split(\" \").any? do |value|\n    next false unless value.start_with?(\"v1a,\")\n\n    key.verify(value.delete_prefix(\"v1a,\").unpack1(\"m0\"), signed)\n  rescue ArgumentError, Ed25519::VerifyError\n    false\n  end\nend\n","lang":"ruby"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","data-title":"C#","header":{"title":"C#","controls":{"copy":{}}},"source":"using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing NSec.Cryptography; // dotnet add package NSec.Cryptography\n\npublic static class WebhookVerifier\n{\n    // headers: the request headers, lower-case names. rawBody: the request body bytes as received.\n    public static bool Verify(IDictionary<string, string> headers, byte[] rawBody, string publicKey)\n    {\n        var raw = Convert.FromBase64String(publicKey[\"whpk_\".Length..]);\n        var key = PublicKey.Import(SignatureAlgorithm.Ed25519, raw, KeyBlobFormat.RawPublicKey);\n        if (!headers.TryGetValue(\"webhook-id\", out var id)\n            || !headers.TryGetValue(\"webhook-timestamp\", out var timestampText)\n            || !headers.TryGetValue(\"webhook-signature\", out var signatures)\n            || !long.TryParse(timestampText, out var timestamp)\n            || Math.Abs(DateTimeOffset.UtcNow.ToUnixTimeSeconds() - timestamp) > 300)\n        {\n            return false;\n        }\n        var prefix = Encoding.UTF8.GetBytes($\"{id}.{timestampText}.\");\n        var signed = prefix.Concat(rawBody).ToArray();\n        return signatures\n            .Split(' ')\n            .Where(value => value.StartsWith(\"v1a,\"))\n            .Any(value =>\n            {\n                try\n                {\n                    return SignatureAlgorithm.Ed25519.Verify(key, signed, Convert.FromBase64String(value[4..]));\n                }\n                catch (FormatException)\n                {\n                    return false;\n                }\n            });\n    }\n}\n","lang":"csharp"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"go","data-title":"Go","header":{"title":"Go","controls":{"copy":{}}},"source":"package webhooks\n\nimport (\n    \"crypto/ed25519\"\n    \"encoding/base64\"\n    \"math\"\n    \"strconv\"\n    \"strings\"\n    \"time\"\n)\n\n// headers: the request headers, lower-case names. rawBody: the request body bytes as received.\nfunc VerifyWebhook(headers map[string]string, rawBody []byte, publicKey string) bool {\n    raw, err := base64.StdEncoding.DecodeString(strings.TrimPrefix(publicKey, \"whpk_\"))\n    if err != nil || len(raw) != ed25519.PublicKeySize {\n        return false\n    }\n    timestamp, err := strconv.ParseInt(headers[\"webhook-timestamp\"], 10, 64)\n    if err != nil || math.Abs(float64(time.Now().Unix()-timestamp)) > 300 {\n        return false\n    }\n    signed := []byte(headers[\"webhook-id\"] + \".\" + headers[\"webhook-timestamp\"] + \".\" + string(rawBody))\n    for _, value := range strings.Split(headers[\"webhook-signature\"], \" \") {\n        if !strings.HasPrefix(value, \"v1a,\") {\n            continue\n        }\n        signature, err := base64.StdEncoding.DecodeString(value[4:])\n        if err == nil && ed25519.Verify(ed25519.PublicKey(raw), signed, signature) {\n            return true\n        }\n    }\n    return false\n}\n","lang":"go"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"test-webhooks","__idx":8},"children":["Test webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This process describes how to test webhooks in the sandbox environment using the Rebilly API."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"Obtain IDs and a secret API key","expanded":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step describes how to obtain your website ID, organization ID, and secret API key from your Rebilly sandbox account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you first log in to Rebilly, you create an organization as part of the setup process."," ","A default website is created when a new organization is created."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/settings/organizations-and-websites"},"children":["Organizations and websites"]},"."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://app-sandbox.rebilly.com/"},"children":["Log in or sign up to Rebilly"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Obtain your organization ID and website ID:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the left navigation bar, press ",{"$$mdtype":"Tag","name":"UiIcon","attributes":{"type":"settings","displayText":"true"},"children":[]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Management"]}," section, press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["My organization & websites"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization details"]}," section, note the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ID"]}," value."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Website"]}," section, note the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ID"]}," value."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/settings/organizations-and-websites"},"children":["Organizations and websites"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Obtain your secret API key:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the left navigation bar, press ",{"$$mdtype":"Tag","name":"UiIcon","attributes":{"type":"automations","displayText":"true"},"children":[]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Development"]}," section, press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API keys"]},". ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"If you do not have any secret keys, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/api-keys#create-an-api-key"},"children":["Create an API key"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select a secret key and copy the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key"]}," value."]}]}]}]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"Create webhook credentials","expanded":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step describes uses an interactive component to create webhook credentials in the sandbox environment."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/catalog/all/service-credentials/postservicecredential"},"children":["Create a service credential"]},"."]},{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"How to use the interactive example","expanded":false},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your organization ID:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate and press ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["server /"]},", then in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Server variables"]}," section, press ",{"$$mdtype":"Tag","name":"UiIcon","attributes":{"type":"edit-s"},"children":[]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," field, enter your organization ID and press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Specify that you want to create a service credential of type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook"]},":",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate and press ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{type}"]},", then press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit in path"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," field, enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["webhook"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your secret API key:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API key"]}," field, enter your secret Rebilly sandbox API key. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/set-up-environment#obtain-ids-and-api-keys"},"children":["Obtain IDs and API keys"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Send"]},". ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"In the response, take note of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["hash"]}," value."," ","You will use this value in the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/webhooks-configuration#trigger-a-webhook"},"children":["next step"]},"."]}]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../catalog/all.yaml","operationId":"PostServiceCredential","parameters":{},"requestBody":{"status":"active","host":"example.com","port":25,"encryption":"none","auth":{"type":"none"}},"options":{},"environments":{},"environment":"Sandbox server","replayResolved":{"apiStore":{"schemaStore":{"components/schemas/CreatedTime":{"id":"components/schemas/CreatedTime","kind":"json-schema","title":"CreatedTime","data":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Creation Time"}},"components/schemas/UpdatedTime":{"id":"components/schemas/UpdatedTime","kind":"json-schema","title":"UpdatedTime","data":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Update Time"}},"components/schemas/ResourceId":{"id":"components/schemas/ResourceId","kind":"json-schema","title":"ResourceId","data":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"}},"components/schemas/SelfLink":{"id":"components/schemas/SelfLink","kind":"json-schema","title":"SelfLink","data":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}},"components/schemas/AML":{"id":"components/schemas/AML","kind":"json-schema","title":"AML","data":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the individual, or name of entity.","readOnly":true,"example":"Benjamin"},"lastName":{"type":["string","null"],"description":"Last name of the individual.\nThis field returns a `null` value for single-named entities.","readOnly":true,"example":"Franklin"},"source":{"type":"string","readOnly":true,"description":"Describes which list the result is from."},"sourceType":{"readOnly":true,"description":"Describes the categories of the individual or entity.","type":"array","example":["sanctions","enforcements"],"items":{"type":"string","enum":["pep","sanctions","adverse-media","enforcements","state-owned-enterprise"]}},"gender":{"type":["string","null"],"readOnly":true,"description":"If `type`=`individual`, this field describes the gender of the individual."},"title":{"type":["array","null"],"readOnly":true,"description":"Individual's job title.","example":["Postmaster General","Ambassador to France","Ambassador to Sweden","Supreme Executive Council of Commonwealth of Pennsylvania"],"items":{"type":"string"}},"type":{"type":"string","readOnly":true,"description":"Describes whether the source is an individual or an entity.","enum":["individual","entity"]},"legalBasis":{"type":"array","readOnly":true,"description":"List of references to legal documents, if they exist.","items":{"type":"string"}},"regime":{"type":["string","null"],"readOnly":true,"description":"Describes the government, administration, or political entity.","example":"United States Government"},"confidence":{"type":"string","description":"Degree of confidence in the source list information.","readOnly":true,"enum":["weak","medium","strong","very-strong"]},"nationality":{"type":"string","readOnly":true,"description":"Nationality of the individual or entity."},"address":{"type":"array","readOnly":true,"description":"Addresses associated with the individual or entity.","items":{"type":"object","properties":{"address":{"type":["string","null"],"readOnly":true,"description":"Street address line 1."},"address2":{"type":["string","null"],"readOnly":true,"description":"Street address line 2."},"city":{"type":["string","null"],"readOnly":true,"description":"City."},"region":{"type":["string","null"],"readOnly":true,"description":"State, province, or region."},"country":{"type":["string","null"],"readOnly":true,"description":"Country."},"birthplace":{"type":"boolean","default":false,"readOnly":true,"description":"Individual's place of birth."}}}},"dob":{"type":"array","readOnly":true,"description":"One or more possible dates of birth.","items":{"type":"string","readOnly":true,"description":"Date of birth.","format":"date","example":"1706-01-17"}},"aliases":{"type":"array","readOnly":true,"description":"List of aliases, if any.","items":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of alias.","readOnly":true},"lastName":{"type":"string","description":"Last name of alias.","readOnly":true},"authenticity":{"type":"string","description":"Degree of confidence in the alias.","readOnly":true,"enum":["strong","weak","unknown"]}}}},"passport":{"type":"array","readOnly":true,"description":"Individual's passport information.","items":{"type":"object","properties":{"number":{"type":"string","readOnly":true,"description":"Passport number."},"registrationDate":{"type":"string","format":"date","readOnly":true,"description":"Passport registration date."}}}},"comments":{"type":["string","null"],"readOnly":true,"description":"Additional information.\nThis content varies per list."},"metadata":{"type":["object","null"],"readOnly":true,"description":"Additional metadata on AML sources, when available.","properties":{"lookupId":{"type":"string","readOnly":true,"description":"Direct lookup identifier for the LexisNexis WorldCompliance Online Search Tool.","example":"1E66DAD6-A2E2-4DCB-BCAF-8CC92CD1DDEC"}}},"matchDetails":{"type":["object","null"],"description":"Details of the matching logic and confidence scoring.","properties":{"confidenceFactors":{"type":"array","readOnly":true,"description":"List of factors that contributed to the confidence score calculation.","items":{"type":"string","enum":["confidence_exact_country","confidence_mismatch_country","confidence_missing_country","confidence_exact_dob","confidence_mismatch_dob","confidence_missing_dob","confidence_exact_yob","confidence_inexact_yob","confidence_strong_hit_relevance","confidence_weak_hit_relevance","confidence_exact_full_name","confidence_fuzzy_full_name"]}},"matchCriteria":{"type":"array","readOnly":true,"description":"List of specific criteria that matched against the watchlist.","items":{"type":"string","enum":["match_exact_name","match_phonetic_first_name","match_phonetic_last_name","match_exact_full_name","match_aka_exact_name","match_aka_phonetic_first_name","match_aka_phonetic_last_name","match_aka_exact_full_name","match_fuzzy_nationality","match_exact_address","match_exact_city","match_exact_region","match_exact_country","match_exact_post_code"]}}}},"decision":{"type":["string","null"],"readOnly":true,"description":"Reviewer decision for this hit.\nThis value is `null` if the hit has not been decided yet.","enum":["confirmed-match","false-positive",null],"example":"false-positive"},"decisionInherited":{"type":"boolean","readOnly":true,"default":false,"description":"Specifies if the decision is copied from an earlier AML check instead of recorded by a reviewer.\nThe decision is copied from a matching hit on the previous AML check of the same customer or of a related customer,\nor from the `false-positive` status of an earlier AML check of the same customer or a related customer.","example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Tag":{"id":"components/schemas/Tag","kind":"json-schema","title":"Tag","data":{"type":"object","description":"Use tags to organise and categorize customers or KYC documents based on keywords.\nFor more information, see [Tags](https://www.rebilly.com/docs/dev-docs/api/tags/).","required":["name","type"],"properties":{"id":{"description":"ID of the tag.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"name":{"description":"Unique name for the tag.\nTag names are not case-sensitive.","type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w\\s+]+$","example":"New"},"type":{"description":"Type of tag.\nTags of a specific type can only be assigned to corresponding entity types.\nFor example, you can only use customer tags on customers.","type":"string","enum":["customer","kyc-document","aml-check"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AmlCheck":{"id":"components/schemas/AmlCheck","kind":"json-schema","title":"AmlCheck","data":{"type":"object","readOnly":true,"description":"AML check result.","properties":{"id":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"websiteId":{"type":"string","description":"Website ID associated with the customer.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"reviewerId":{"type":["string","null"],"maxLength":50,"description":"User ID of the person who reviewed the AML check.","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerType":{"type":["string","null"],"readOnly":true,"description":"Type of reviewer for the current review outcome.","enum":["human","bot"],"example":"bot"},"reviewerName":{"type":["string","null"],"description":"First and last name of the person who reviewed the AML check.\nIf the result is inherited, this field is set to \"bot\"."},"reviewStartTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is started."},"reviewTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is completed."},"priority":{"type":["string","null"],"default":null,"description":"Highest matched priority of all hits within an AML check."},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"status":{"type":"string","description":"Status of the AML check.","readOnly":true,"enum":["pending-review","in-review","no-match","confirmed-match","false-positive"],"x-enumDescriptions":{"pending-review":"Possible AML match detected and waiting to be manually reviewed.","in-review":"A manual AML match review is in progress, or at least one hit has no decision yet.","no-match":"No possible AML match detected.","confirmed-match":"Possible AML match manually reviewed and marked as confirmed.","false-positive":"Possible AML match manually reviewed and marked as false positive."}},"customer":{"type":"object","properties":{"id":{"description":"ID of the customer.","$ref":"#/components/schemas/ResourceId"},"primaryAddress":{"type":"object","description":"Customer's data at the time of the AML check.","properties":{"firstName":{"type":"string","maxLength":45,"description":"Customer's first name at the time of the AML check."},"lastName":{"type":"string","maxLength":45,"description":"Customer's last name at the time of the AML check."},"dob":{"type":["string","null"],"format":"date","description":"Customer's date of birth.","example":"1971-02-14"},"address":{"description":"First line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Customer's city of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Customer's region of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"type":["string","null"],"description":"Customer's country of residence at the time of the AML check."},"postalCode":{"description":"Customer's postal code at the time of the AML check.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"}}},"organizationId":{"type":"string","description":"ID of the customer's organization.","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}}},"hits":{"description":"List of hits returned during the AML check.","type":"array","items":{"$ref":"#/components/schemas/AML"}},"tags":{"description":"List of AML check tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"provenance":{"type":["object","null"],"readOnly":true,"description":"Origin of the AML check result.","properties":{"inherited":{"type":"boolean","description":"Specifies if the result is inherited from a previous AML check.","example":true},"inheritedFromAmlCheckId":{"type":"string","description":"ID of the AML check from which the check inherits its result.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"scope":{"type":"array","description":"Scope of what is inherited from the source AML check.","items":{"type":"string","enum":["status-only"]},"example":["status-only"]},"reasons":{"type":"array","description":"Reasons that triggered the inheritance of the result.","items":{"type":"string","enum":["customer_duplicated_by_person_exact_match","customer_duplicated_by_primary_phone_number_exact_match","customer_previous_check_exact_match"],"x-enumDescriptions":{"customer_duplicated_by_person_exact_match":"Customer identity exactly matched a check on another customer","customer_duplicated_by_primary_phone_number_exact_match":"Customer primary phone number exactly matched a check on another customer","customer_previous_check_exact_match":"Customer data exactly matched a previous check on the same customer"}},"example":["customer_duplicated_by_person_exact_match"]}}},"noMatchReason":{"readOnly":true,"description":"Reason for the no-match result.","type":["string","null"],"enum":["no_hits_found","mismatched_hits","hits_are_below_relevance_score_threshold","internal_system_error"],"example":"no_hits_found"},"noMatchDetails":{"readOnly":true,"description":"List of codes that explain the no-match result.","type":"array","items":{"type":"string"},"example":["top_hit_not_eligible_for_matching","search_shard_failures"]},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/BaseProblem":{"id":"components/schemas/BaseProblem","kind":"json-schema","title":"BaseProblem","data":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem."},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem."},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}}},"components/schemas/Unauthorized":{"id":"components/schemas/Unauthorized","kind":"json-schema","title":"Unauthorized","data":{"allOf":[{"title":"Unauthorized"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":401,"maximum":401}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/Forbidden":{"id":"components/schemas/Forbidden","kind":"json-schema","title":"Forbidden","data":{"allOf":[{"title":"Forbidden"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":403,"maximum":403},"error":{"type":"string","description":"Message that describes why the request is forbidden.\nMost responses use a descriptive message, such as `Not allowed to change security settings`.\nIf the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.\nIf the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`."}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/NotFound":{"id":"components/schemas/NotFound","kind":"json-schema","title":"NotFound","data":{"allOf":[{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":404,"maximum":404}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/InvalidFields":{"id":"components/schemas/InvalidFields","kind":"json-schema","title":"InvalidFields","data":{"type":"array","description":"Invalid field details.","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}},"components/schemas/ValidationError":{"id":"components/schemas/ValidationError","kind":"json-schema","title":"ValidationError","data":{"allOf":[{"title":"Validation error"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/BaseProblem"},{"type":"object","properties":{"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}}]}},"components/schemas/TooManyRequests":{"id":"components/schemas/TooManyRequests","kind":"json-schema","title":"TooManyRequests","data":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"about:blank"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem.","example":"Rate Limit Exceeded"},"status":{"type":"integer","description":"HTTP status code.","minimum":429,"maximum":429},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem.","example":"A request cannot be executed because the user has sent too many requests within a certain period of time"},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}}},"components/schemas/AmlHitDecision":{"id":"components/schemas/AmlHitDecision","kind":"json-schema","title":"AmlHitDecision","data":{"type":"object","description":"Decision for one hit of an AML check.","required":["index","decision"],"properties":{"index":{"type":"integer","minimum":0,"description":"Zero-based position of the hit in the `hits` array of the AML check.","example":0},"decision":{"type":"string","description":"Outcome of the review of the hit.","enum":["confirmed-match","false-positive"],"x-enumDescriptions":{"confirmed-match":"The hit is the customer.","false-positive":"The hit is not the customer."},"example":"false-positive"}}}},"components/schemas/AmlCheckReview":{"id":"components/schemas/AmlCheckReview","kind":"json-schema","title":"AmlCheckReview","data":{"type":"object","description":"AML check review.\nProvide a status, a list of hit decisions, or both.\nThe status of the AML check is calculated from the hit decisions.","anyOf":[{"required":["status"]},{"required":["hits"]}],"properties":{"status":{"type":"string","description":"Decision applied to every hit that has no decision yet.\nIf `hits` is also provided, those decisions apply first.\nIf every hit already has a decision and this value differs from the status those decisions give, it replaces the decision on every hit that is not listed in `hits`.\nIf it equals that status, the decided hits are left as they are.\nIf the AML check has no hits, this value becomes the status of the AML check.","enum":["confirmed-match","false-positive"]},"hits":{"type":"array","description":"Decisions for individual hits.","minItems":1,"items":{"$ref":"#/components/schemas/AmlHitDecision"}}}}},"components/schemas/AmlConfidence":{"id":"components/schemas/AmlConfidence","kind":"json-schema","title":"AmlConfidence","data":{"type":["string","null"],"description":"Degree of confidence to assign.","enum":["weak","medium","strong","very-strong"]}},"components/schemas/AmlCompoundConfidence":{"id":"components/schemas/AmlCompoundConfidence","kind":"json-schema","title":"AmlCompoundConfidence","data":{"type":"object","properties":{"addressMatch":{"type":"object","description":"Match for the customer's city or region, or both, is found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"addressMismatch":{"type":"object","description":"Match for the customer's city or region, or both, is not found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"noAddress":{"type":"object","description":"No city and no region is available to match against.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}}}}},"components/schemas/AmlPriority":{"id":"components/schemas/AmlPriority","kind":"json-schema","title":"AmlPriority","data":{"type":["string","null"],"description":"Priority level of matched AML customer information.","default":null,"enum":["p0","p1","p2","p3"]}},"components/schemas/AmlSettings":{"id":"components/schemas/AmlSettings","kind":"json-schema","title":"AmlSettings","data":{"type":"object","description":"Settings for AML checking.","properties":{"confidence":{"type":"object","description":"Confidence level settings for AML matches.","properties":{"dob":{"type":"object","description":"Confidence level settings for AML matches based on date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's date of birth and name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's date of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"noDob":{"type":"object","description":"Confidence level settings for AML matches based on a missing date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Fuzzy, or inexact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"weakMatch":{"description":"Weak match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"yob":{"type":"object","description":"Confidence level settings for AML matches based on year of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's year of birth and exact name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"inexactYob":{"type":"object","description":"Confidence level settings for AML matches based on a near match of year of birth.","properties":{"exactMatch":{"description":"Near match of the customer's year of birth and an exact name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Near match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}}}},"priority":{"type":"object","description":"Priority level settings for AML source matches. \\\n`p0` is critical priority level, and `p3` is low priority level.","properties":{"pep":{"type":"object","description":"Priorities for the `pep` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"enforcements":{"type":"object","description":"Priorities for the `enforcement` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"stateOwnedEnterprise":{"type":"object","description":"Priorities for the `state-owned-enterprise` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"sanctions":{"type":"object","description":"Priorities for the `sanctions` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"adverseMedia":{"type":"object","description":"Priorities for the `adverse-media` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}}}}}}},"components/schemas/Attachment":{"id":"components/schemas/Attachment","kind":"json-schema","title":"Attachment","data":{"type":"object","required":["fileId","relatedId","relatedType"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the attachment.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"},"fileId":{"type":"string","description":"ID of the linked file object.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"relatedType":{"description":"Linked object type.","type":"string","enum":["credit-memo-timeline-comment","customer","customer-timeline-comment","dispute","gateway-timeline-comment","invoice","invoice-timeline-comment","order-timeline-comment","organization","payment","payout-request-timeline-comment","plan","product","quote-timeline-comment","subscription","transaction","transaction-timeline-comment"]},"relatedId":{"description":"ID of the linked object.","type":"string"},"name":{"description":"Name of original attachment.","type":"string"},"description":{"description":"Description of the attachment.","type":"string"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","file"]}}}}}}},"components/schemas/Conflict":{"id":"components/schemas/Conflict","kind":"json-schema","title":"Conflict","data":{"allOf":[{"title":"Conflict"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":409,"maximum":409}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/AuthenticationOptions":{"id":"components/schemas/AuthenticationOptions","kind":"json-schema","title":"AuthenticationOptions","data":{"type":"object","properties":{"passwordPattern":{"description":"Allowed password pattern.","type":["string","null"],"example":"/^[0-9]+$/"},"credentialTtl":{"description":"Default credential lifetime, in seconds.","type":"integer"},"authTokenTtl":{"description":"Default auth-token lifetime, in seconds.","type":"integer"},"resetTokenTtl":{"description":"Default reset-token lifetime, in seconds.","type":"integer"},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange a token.","type":"boolean"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerId":{"id":"components/schemas/CustomerId","kind":"json-schema","title":"CustomerId","data":{"type":"string","description":"ID of the customer resource.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","x-basic":true}},"components/schemas/AuthenticationTokenResponse":{"id":"components/schemas/AuthenticationTokenResponse","kind":"json-schema","title":"Authentication token","data":{"type":"object","title":"Authentication token","required":["username"],"properties":{"username":{"description":"Username of the customer who is associated with the authentication token.","type":"string"},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationTokenPasswordMode":{"id":"components/schemas/AuthenticationTokenPasswordMode","kind":"json-schema","title":"AuthenticationTokenPasswordMode","data":{"type":"object","required":["username","password"],"properties":{"username":{"description":"Username associated with the authentication token.","type":"string"},"password":{"description":"Password associated with the authentication token.","type":"string","format":"password","writeOnly":true},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["password"]},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationTokenPasswordlessMode":{"id":"components/schemas/AuthenticationTokenPasswordlessMode","kind":"json-schema","title":"AuthenticationTokenPasswordlessMode","data":{"type":"object","required":["customerId"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["passwordless"]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationToken":{"id":"components/schemas/AuthenticationToken","kind":"json-schema","title":"AuthenticationToken","data":{"type":"object","discriminator":{"propertyName":"mode","mapping":{"password":"#/components/schemas/AuthenticationTokenPasswordMode","passwordless":"#/components/schemas/AuthenticationTokenPasswordlessMode"}},"oneOf":[{"$ref":"#/components/schemas/AuthenticationTokenPasswordMode"},{"$ref":"#/components/schemas/AuthenticationTokenPasswordlessMode"}]}},"components/schemas/ApiKeyScope":{"id":"components/schemas/ApiKeyScope","kind":"json-schema","title":"ApiKeyScope","data":{"type":"object","properties":{"organizationId":{"description":"Array of account IDs.","type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"productId":{"description":"Array of product IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"planId":{"description":"Array of plan IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}},"customFieldName":{"description":"Array of custom field names.","type":"array","items":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}},"example":{"organizationId":["organizationId-id-1"]}}},"components/schemas/AclPermissions":{"id":"components/schemas/AclPermissions","kind":"json-schema","title":"AclPermissions","data":{"type":"array","items":{"type":"string","format":"operationId"},"example":["PostFile","StorefrontGetAccount","StorefrontGetWebsite","StorefrontGetKycDocument","StorefrontPostKycDocument"]}},"components/schemas/Acl":{"id":"components/schemas/Acl","kind":"json-schema","title":"Acl","data":{"type":"array","description":"Access Control List (ACL) information.","items":{"type":"object","required":["scope","permissions"],"properties":{"scope":{"description":"Scope of the API key.","$ref":"#/components/schemas/ApiKeyScope"},"permissions":{"description":"If you are creating a restricted API key, use this field to specify individual permissions.\nUse the wildcard character `*` to provide full access.","$ref":"#/components/schemas/AclPermissions"}}}}},"components/schemas/CustomerJWT":{"id":"components/schemas/CustomerJWT","kind":"json-schema","title":"CustomerJWT","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the session.","maxLength":50,"example":"jwt_0YV7DEJX80CDRAKVTV478ZNJDR","readOnly":true},"type":{"description":"Type of session.","type":"string","readOnly":true,"enum":["customer"]},"token":{"description":"Token used for authentication.","type":"string","readOnly":true},"invalidate":{"description":"Specifies if the token must be invalidated after the exchange is performed.","type":"boolean","default":true,"example":true,"writeOnly":true},"oneTimePassword":{"description":"One-time password that is sent by email.\nThis value must contain digits only.","type":"string","pattern":"^[0-9]{6}$","example":"123456","writeOnly":true},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"acl":{"$ref":"#/components/schemas/Acl"},"customClaims":{"type":"object","additionalProperties":true,"example":{"documents":["identity-proof","address-proof"],"redirectUrl":"https://mywebsite.com"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"expiredTime":{"description":"Date and time when the session expires.\nThe default value is one hour after the `createdTime` value.","type":"string","format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["customer"]}}}}}}},"components/schemas/Blocklist":{"id":"components/schemas/Blocklist","kind":"json-schema","title":"Blocklist","data":{"type":"object","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the blocklist.","readOnly":true,"maxLength":50,"example":"blkl_0YV8XTSH9MD578386XQDWSEBNF"},"type":{"description":"Type of blocklist.","type":"string","enum":["payment-card","bank-account","customer-id","email","email-domain","ip-address","country","fingerprint","bin","address"]},"value":{"description":"Value of the blocklist.","type":"string"},"expirationTime":{"description":"Date and time when the blocklist expires.","type":["string","null"],"format":"date-time"},"source":{"description":"Source that triggered the creation of the blocklist.","type":["string","null"],"readOnly":true,"enum":["automated-blocklists","manual-blocklists","risk-score-rules"],"example":"manual-blocklists"},"entityId":{"type":["string","null"],"readOnly":true,"description":"ID of the user, transaction or dispute that triggered the creation of the blocklist.","example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CouponRestrictionDiscountPerRedemption":{"id":"components/schemas/CouponRestrictionDiscountPerRedemption","kind":"json-schema","title":"CouponRestrictionDiscountPerRedemption","data":{"type":"object","description":"Restricts the number of times that the coupon can be applied by one\nredemption. For example, use this restriction to configure a coupon\nthat can only be applied to the first subscription renewal of a\nparticular product.","required":["type","quantity"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["discounts-per-redemption"]},"quantity":{"type":"integer","description":"Permitted number of discounts per redemption."}}}},"components/schemas/CurrencyCode":{"id":"components/schemas/CurrencyCode","kind":"json-schema","title":"CurrencyCode","data":{"type":"string","description":"Currency code in ISO 4217 format.","minLength":3,"maxLength":3,"example":"USD","x-label":"Currency"}},"components/schemas/CouponRestrictionMaximumOrderAmount":{"id":"components/schemas/CouponRestrictionMaximumOrderAmount","kind":"json-schema","title":"CouponRestrictionMaximumOrderAmount","data":{"type":"object","description":"Specifies a maximum order amount for a coupon application.\nFor example, if the restriction amount is $20, \nthe coupon is only applied to invoices with a total amount of $20 or less.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["maximum-order-amount"]},"amount":{"type":"number","format":"double","description":"Maximum order amount that is allowed to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/CouponRestrictionMinimumOrderAmount":{"id":"components/schemas/CouponRestrictionMinimumOrderAmount","kind":"json-schema","title":"CouponRestrictionMinimumOrderAmount","data":{"type":"object","description":"Specifies a minimum order amount for a coupon application. For\nexample, if the restriction amount is $20, the coupon is only\napplied to invoices with a total amount of $20 or more.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["minimum-order-amount"]},"amount":{"type":"number","format":"double","description":"Minimum order quantity that is required to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/CouponRestrictionPaidByTime":{"id":"components/schemas/CouponRestrictionPaidByTime","kind":"json-schema","title":"CouponRestrictionPaidByTime","data":{"type":"object","description":"Specifies a date and time at which a coupon redemption expires if the invoice is not paid.","required":["type","time"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["paid-by-time"]},"time":{"type":"string","format":"date-time","description":"Date and time when a coupon redemption is no longer valid, and the coupon is removed from unpaid invoices if applied.\n\n> **Note:** This date-time cannot be changed."}}}},"components/schemas/CouponRestrictionRestrictToInvoices":{"id":"components/schemas/CouponRestrictionRestrictToInvoices","kind":"json-schema","title":"CouponRestrictionRestrictToInvoices","data":{"type":"object","description":"Restricts a coupon to specific invoices.","required":["type","invoiceIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-invoices"]},"invoiceIds":{"type":"array","description":"Invoice IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/CouponRestrictionRestrictToPlans":{"id":"components/schemas/CouponRestrictionRestrictToPlans","kind":"json-schema","title":"CouponRestrictionRestrictToPlans","data":{"type":"object","description":"Restricts a coupon to specific pricing plans.","required":["type","planIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-plans"]},"planIds":{"type":"array","description":"Plan IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}}},"components/schemas/CouponRestrictionRestrictToProducts":{"id":"components/schemas/CouponRestrictionRestrictToProducts","kind":"json-schema","title":"CouponRestrictionRestrictToProducts","data":{"type":"object","description":"Restricts a coupon to specific products.","required":["type","productIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-products"]},"productIds":{"type":"array","description":"Product IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}}},"components/schemas/CouponRestrictionRestrictToSubscriptions":{"id":"components/schemas/CouponRestrictionRestrictToSubscriptions","kind":"json-schema","title":"CouponRestrictionRestrictToSubscriptions","data":{"type":"object","description":"Restricts a coupon to specific order subscriptions.","required":["type","subscriptionIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-subscriptions"]},"subscriptionIds":{"type":"array","description":"Subscription IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/RedemptionRestriction":{"id":"components/schemas/RedemptionRestriction","kind":"json-schema","title":"RedemptionRestriction","data":{"description":"Redemption restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}]}},"components/schemas/CouponRedemption":{"id":"components/schemas/CouponRedemption","kind":"json-schema","title":"CouponRedemption","data":{"type":"object","description":"Coupon redemption log.","properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"cpn_rdm_01HXC82EEPW6YD3MPWJY7151VR"},"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"additionalRestrictions":{"description":"Additional coupon redemption restrictions.","type":"array","items":{"$ref":"#/components/schemas/RedemptionRestriction"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"canceledTime":{"description":"Date and time when the coupon is canceled.","readOnly":true,"x-sortable":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","coupon"]}}}}}}},"components/schemas/DiscountContext":{"id":"components/schemas/DiscountContext","kind":"json-schema","title":"DiscountContext","data":{"type":"string","description":"Context in which the discount applies.","default":"items","x-label":"Context","x-sortable":true,"x-basic":true,"x-enumDescriptions":{"items":"items (less discounts)","shipping":"shipping (less discounts)","items-and-shipping":"items and shipping (less discounts)"},"enum":["items","shipping","items-and-shipping"]}},"components/schemas/DiscountFixed":{"id":"components/schemas/DiscountFixed","kind":"json-schema","title":"DiscountFixed","data":{"type":"object","description":"Coupon fixed amount discount.","required":["amount","currency","type"],"properties":{"amount":{"description":"Amount of discount.","type":"number","format":"double","minimum":0.01},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"type":"string","enum":["fixed"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"components/schemas/DiscountPercent":{"id":"components/schemas/DiscountPercent","kind":"json-schema","title":"DiscountPercent","data":{"type":"object","description":"Coupon percent discount.","required":["value","type"],"properties":{"value":{"description":"Percentage of discount.","type":"number","format":"double","minimum":0.01,"maximum":100},"type":{"type":"string","enum":["percent"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"components/schemas/Discount":{"id":"components/schemas/Discount","kind":"json-schema","title":"Discount","data":{"type":"object","description":"Coupon discount.","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/DiscountFixed","percent":"#/components/schemas/DiscountPercent"}},"oneOf":[{"$ref":"#/components/schemas/DiscountFixed"},{"$ref":"#/components/schemas/DiscountPercent"}]}},"components/schemas/CouponRestrictionRedemptionsPerCustomer":{"id":"components/schemas/CouponRestrictionRedemptionsPerCustomer","kind":"json-schema","title":"CouponRestrictionRedemptionsPerCustomer","data":{"type":"object","description":"Restricts the number of times that a coupon can be redeemed by one\ncustomer. For example, use this restriction to limit the number of\nredemptions to one per customer.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["redemptions-per-customer"]},"quantity":{"type":"integer","description":"Permitted number of redemptions per customer."}}}},"components/schemas/CouponRestrictionRestrictToBxgy":{"id":"components/schemas/CouponRestrictionRestrictToBxgy","kind":"json-schema","title":"CouponRestrictionRestrictToBxgy","data":{"type":"object","description":"Provides \"buy X get Y\" promotions.\nThese promotions incentivize new customers to buy and also reward existing customers.\nThis restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\nFor example, if a customer buys two or more books, they get one free bookmark.","required":["type","buy","get"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-bxgy"]},"buy":{"type":"array","description":"One or more plan and quantity definitions that must be purchased to receive all plans and quantities that are defined in the `get` instruction.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item being purchased.\nThis value must be unique within the `buy.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that must be purchased for this restriction to apply."}}}},"get":{"type":"array","description":"One or more plan and quantity definitions that are added to a purchase if all definitions in the `buy` condition are met.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item that is to be received by the customer.\nThis value must be unique within the `get.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that is to be received by the customer."}}}}}}},"components/schemas/CouponRestrictionRestrictToCountries":{"id":"components/schemas/CouponRestrictionRestrictToCountries","kind":"json-schema","title":"CouponRestrictionRestrictToCountries","data":{"type":"object","description":"Restricts a coupon for use in specific countries.","required":["type","countries"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-countries"]},"countries":{"type":"array","description":"Countries where the coupon can be applied, in ISO Alpha-2 code format.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","items":{"type":"string","pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CouponRestrictionRestrictToCustomerTags":{"id":"components/schemas/CouponRestrictionRestrictToCustomerTags","kind":"json-schema","title":"CouponRestrictionRestrictToCustomerTags","data":{"type":"object","description":"Restricts a coupon to customers with specific tags.","required":["type","tags","requireAllTags"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customer-tags"]},"tags":{"type":"array","description":"Customer tags on which a coupon can be applied.","items":{"type":"string"}},"requireAllTags":{"type":"boolean","description":"Specifies if the customer must have all listed tags,\nor at least one of the listed tags, to redeem a coupon.","enum":[true,false],"x-enumDescriptions":{"true":"Customer must have all listed tags to redeem a coupon.","false":"Customer must have at least one of the listed tags to redeem a coupon."}}}}},"components/schemas/CouponRestrictionRestrictToCustomers":{"id":"components/schemas/CouponRestrictionRestrictToCustomers","kind":"json-schema","title":"CouponRestrictionRestrictToCustomers","data":{"type":"object","description":"Restricts a coupon to specific customers.","required":["type","customerIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customers"]},"customerIds":{"type":"array","description":"Customer IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/CouponRestrictionExclusiveApplication":{"id":"components/schemas/CouponRestrictionExclusiveApplication","kind":"json-schema","title":"CouponRestrictionExclusiveApplication","data":{"type":"object","description":"Restricts a coupon so that it cannot be used in combination with other coupons.\nIf more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined.\nIf a coupon with this restriction is applied, all other coupons are removed.","required":["type"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-exclusive-application"]}}}},"components/schemas/CouponRestrictionTotalRedemptions":{"id":"components/schemas/CouponRestrictionTotalRedemptions","kind":"json-schema","title":"CouponRestrictionTotalRedemptions","data":{"type":"object","description":"Restricts the number of times a coupon can be redeemed by different customers.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["total-redemptions"]},"quantity":{"type":"integer","description":"Permitted total number of redemptions."}}}},"components/schemas/CouponRestriction":{"id":"components/schemas/CouponRestriction","kind":"json-schema","title":"CouponRestriction","data":{"description":"Coupon restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","redemptions-per-customer":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer","restrict-to-bxgy":"#/components/schemas/CouponRestrictionRestrictToBxgy","restrict-to-countries":"#/components/schemas/CouponRestrictionRestrictToCountries","restrict-to-customer-tags":"#/components/schemas/CouponRestrictionRestrictToCustomerTags","restrict-to-customers":"#/components/schemas/CouponRestrictionRestrictToCustomers","restrict-to-exclusive-application":"#/components/schemas/CouponRestrictionExclusiveApplication","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions","total-redemptions":"#/components/schemas/CouponRestrictionTotalRedemptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionExclusiveApplication"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToBxgy"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCountries"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomerTags"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomers"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"},{"$ref":"#/components/schemas/CouponRestrictionTotalRedemptions"}]}},"components/schemas/Coupon":{"id":"components/schemas/Coupon","kind":"json-schema","title":"Coupon","data":{"type":"object","description":"Coupons and discounts.","required":["discount","issuedTime"],"properties":{"id":{"type":"string","description":"ID of the coupon.\nThis value is also known as the coupon redemption code.","readOnly":true,"maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"discount":{"$ref":"#/components/schemas/Discount"},"restrictions":{"description":"Coupon restrictions.\nAll `type` values in this array must be unique.","type":"array","items":{"$ref":"#/components/schemas/CouponRestriction"}},"redemptionsCount":{"type":"integer","description":"Total number of times that a coupon is redeemed.","minimum":0,"readOnly":true},"status":{"type":"string","description":"Specifies the current status of the coupon.","readOnly":true,"enum":["draft","issued","expired"]},"description":{"type":"string","x-basic":true,"description":"Description of the coupon.\nUse this field to provide a description for the invoice discount item.\n\nIf this field is empty,\nthe invoice discount item description uses the related coupon ID,\nin the following format: `Coupon \"COUPON-ID\"`."},"issuedTime":{"description":"Date and time when the coupon is issued.\nThis value may also be described as start time of the coupon.","type":"string","x-label":"Valid from","x-sortable":true,"x-basic":true,"format":"date-time"},"expiredTime":{"description":"Date and time when the coupon expires.","type":["string","null"],"x-label":"Valid until","x-sortable":true,"x-basic":true,"format":"date-time"},"revision":{"description":"Number of times the coupon data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerCredential":{"id":"components/schemas/CustomerCredential","kind":"json-schema","title":"CustomerCredential","data":{"type":"object","required":["username","password","customerId"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":50,"example":"cus_crd_0YV9Y706QGCB39FQD380G1ZHZH"},"username":{"description":"Username associated with the credential.","type":"string"},"password":{"description":"Password associated with the credential.","type":"string","format":"password","writeOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"expiredTime":{"description":"Date and time when the credential expires.","type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/ArrayCustomField":{"id":"components/schemas/ArrayCustomField","kind":"json-schema","title":"ArrayCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nArray of strings with up to 255 characters.\nThe maximum size is 1000 elements.","type":"string","enum":["array"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if the custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"required":{"description":"Specifies if this value is required.\nThis value can be combined with any parameter and is available for custom fields of any type.","type":"boolean"},"default":{"description":"Default value.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BooleanCustomField":{"id":"components/schemas/BooleanCustomField","kind":"json-schema","title":"BooleanCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nSpecifies a `true` or `false` value.","type":"string","enum":["boolean"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"boolean"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DateCustomField":{"id":"components/schemas/DateCustomField","kind":"json-schema","title":"DateCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [full-date](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DD).","type":"string","enum":["date"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DateTimeCustomField":{"id":"components/schemas/DateTimeCustomField","kind":"json-schema","title":"DateTimeCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [date-time](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DDTHH:MM:SSZ).","type":"string","enum":["datetime"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date-time"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/IntegerCustomField":{"id":"components/schemas/IntegerCustomField","kind":"json-schema","title":"IntegerCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nCardinal value of between `-2^31` and `2^31-1`.","type":"string","enum":["integer"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed integer.\nThis value can be combined with the `maximum` parameter.","type":"integer"},"maximum":{"description":"Maximum allowed integer.\nThis value can be combined with the `minimum` parameter.","type":"integer"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"integer"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/NumberCustomField":{"id":"components/schemas/NumberCustomField","kind":"json-schema","title":"NumberCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nFloat value. This field also accepts cardinal values which are interpreted as float.","type":"string","enum":["number"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed number.\nThis value can be combined with the `maximum` parameter.","type":"number","format":"double"},"maximum":{"description":"Maximum allowed number.\nThis value can be combined with the `minimum` parameter.","type":"number","format":"double"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"number","format":"double"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/StringCustomField":{"id":"components/schemas/StringCustomField","kind":"json-schema","title":"StringCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nRegular string of up to 255 characters.","type":"string","enum":["string"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"maxLength":{"description":"Maximum allowed string length .\nA maximum length of 4000 characters can be configured.\nBy default, this value is set to 255.","type":"integer"},"pattern":{"description":"Allowed regular expression of a string.","type":"string","example":"/^[0-9]+$/"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/MonetaryCustomField":{"id":"components/schemas/MonetaryCustomField","kind":"json-schema","title":"MonetaryCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nA map of 3-letter currency, code, and amount.\nExample: `{\"currency\": \"EUR\", \"amount\": 25.30}`.","type":"string","enum":["monetary"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"object","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","format":"double"}}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomField":{"id":"components/schemas/CustomField","kind":"json-schema","title":"CustomField","data":{"description":"Separate custom field schema.","type":"object","discriminator":{"propertyName":"type","mapping":{"array":"#/components/schemas/ArrayCustomField","boolean":"#/components/schemas/BooleanCustomField","date":"#/components/schemas/DateCustomField","datetime":"#/components/schemas/DateTimeCustomField","integer":"#/components/schemas/IntegerCustomField","number":"#/components/schemas/NumberCustomField","string":"#/components/schemas/StringCustomField","monetary":"#/components/schemas/MonetaryCustomField"}},"oneOf":[{"$ref":"#/components/schemas/ArrayCustomField"},{"$ref":"#/components/schemas/BooleanCustomField"},{"$ref":"#/components/schemas/DateCustomField"},{"$ref":"#/components/schemas/DateTimeCustomField"},{"$ref":"#/components/schemas/IntegerCustomField"},{"$ref":"#/components/schemas/NumberCustomField"},{"$ref":"#/components/schemas/StringCustomField"},{"$ref":"#/components/schemas/MonetaryCustomField"}]}},"components/schemas/BlankProblem":{"id":"components/schemas/BlankProblem","kind":"json-schema","title":"BlankProblem","data":{"description":"Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].","type":"object","minProperties":1,"additionalProperties":true,"properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":599},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nIt SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."}}}},"components/schemas/DocumentedProblem":{"id":"components/schemas/DocumentedProblem","kind":"json-schema","title":"DocumentedProblem","data":{"type":"object","allOf":[{"properties":{"type":{"type":"string","description":"URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the problem type.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"https://www.rebilly.com/docs/"}}},{"$ref":"#/components/schemas/BlankProblem"}]}},"components/schemas/DetailedProblem":{"id":"components/schemas/DetailedProblem","kind":"json-schema","title":"DetailedProblem","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/BlankProblem"},{"properties":{"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."}}}]}},"components/schemas/Problem":{"id":"components/schemas/Problem","kind":"json-schema","title":"Problem","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/DocumentedProblem"},{"$ref":"#/components/schemas/DetailedProblem"}]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"error":{"deprecated":true,"type":"string"}}}]}},"components/schemas/WebsiteId":{"id":"components/schemas/WebsiteId","kind":"json-schema","title":"WebsiteId","data":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"}},"components/schemas/PaymentMethod":{"id":"components/schemas/PaymentMethod","kind":"json-schema","title":"PaymentMethod","data":{"type":"string","description":"Payment method.","enum":["payment-card","ach","cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Airpay","Alfa-click","Alipay","AmazonPay","Apple Pay","AstroPay Card","AstroPay-GO","BankSEND","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Blik","Boleto","Boleto-2","Boleto-3","cash-deposit","CASHlib","CashToCode","CCAvenue","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Conekta-spei","cryptocurrency","Cupon-de-pagos","CyberSource","Dimoco-pay-smart","Directa24Card","domestic-cards","Efecty","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","EPS","ePay.bg","Ethereum","e-wallet","ezyEFT","eZeeWallet","FasterPay","Flexepin","Giropay","Google Pay","Gpaysafe","iCashOne Voucher","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","InstantPayments","instant-bank-transfer","Interac-online","Interac-eTransfer","Interac-express-connect","Interac","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","Litecoin","loonie","LPG-online","LPG-payment-card","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Mollie","Multibanco","Bancontact","Bancontact-mobile","MTS","MuchBetter","MuchBetterVoucher","MyFatoorah","Neosurf","Netbanking","Neteller","Nordea-Solo","NordikCoin","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-lottery","Pagsmile-deposit-express","PayCash","Payco","Payeer","PaymentAsia-crypto","Paysafecard","PayTabs","Pay4Fun","Paynote","Paymero","Paymero-QR","PayU","PayULatam","Perfect-money","Piastrix","PIX","PIX-Automatico","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","rebilly-hosted-payment-form","Resurs","reverse-withdrawal","Ripple","SafetyPay","Samsung Pay","SEPA","Siirto","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","SPEI","swift-dbt","Tele2","Telr","Terminaly-RF","Tether","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","TWINT","UniCrypt","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]}},"components/schemas/ResourceCustomFields":{"id":"components/schemas/ResourceCustomFields","kind":"json-schema","title":"ResourceCustomFields","data":{"description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nFor more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).","type":"object","default":{},"example":{"foo":"bar"}}},"components/schemas/ContactPhoneNumbers":{"id":"components/schemas/ContactPhoneNumbers","kind":"json-schema","title":"ContactPhoneNumbers","data":{"description":"List of phone numbers associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Phone number label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Phone number value.","type":"string","maxLength":50,"example":"1-512-777-0269"},"primary":{"description":"Specifies if the phone number is the contact's primary phone number.","type":"boolean","example":true}}}}},"components/schemas/ContactEmails":{"id":"components/schemas/ContactEmails","kind":"json-schema","title":"ContactEmails","data":{"description":"List of email addresses associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Email label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Email address value.","type":"string","format":"email","maxLength":255,"example":"rebilly@example.com"},"primary":{"description":"Specifies if the email address is the contact's primary email address.","type":"boolean","example":true}}}}},"components/schemas/ContactObject":{"id":"components/schemas/ContactObject","kind":"json-schema","title":"ContactObject","data":{"type":"object","description":"Contact's information.","properties":{"firstName":{"description":"Contact's first name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Benjamin"},"lastName":{"description":"Contact's last name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Franklin"},"organization":{"description":"Contact's organization.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"Rebilly"},"address":{"description":"First line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Contact's city of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Contact's region of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"description":"Contact's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","maxLength":2,"example":"GB"},"postalCode":{"description":"Contact's postal code.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"dob":{"description":"Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.","type":["string","null"],"format":"date","example":"1980-04-01"},"jobTitle":{"description":"Contact's job title.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"CEO"},"hash":{"description":"Hash value for the contact.\nUse this value to compare contacts for identical attribute values.","type":"string","maxLength":40,"example":"056ae6d97c788b9e98b049ebafd7b229bf852221","readOnly":true}}}},"components/schemas/Company":{"id":"components/schemas/Company","kind":"json-schema","title":"Company","data":{"type":["object","null"],"description":"Company information that is associated with the customer's primary email address domain.\n\nThis is a paid feature, to enable it [contact Rebilly](https://www.rebilly.com/support/).","readOnly":true,"properties":{"name":{"type":["string","null"],"description":"Name of the company."},"domain":{"type":"string","description":"Website domain of the company."},"yearFounded":{"type":["number","null"],"description":"Founding year of the company.","format":"integer"},"industry":{"type":["string","null"],"description":"Industry the company is associated with."},"employeesCount":{"type":["number","null"],"description":"Number of employees in the company.","format":"integer"},"country":{"type":["string","null"],"description":"Country where the company is based."},"locality":{"type":["string","null"],"description":"Locality or region where the company is based."},"_links":{"type":"array","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["linkedin"]}}}}}}},"components/schemas/CustomerAverageValue":{"id":"components/schemas/CustomerAverageValue","kind":"json-schema","title":"CustomerAverageValue","data":{"type":"object","readOnly":true,"description":"Average customer value.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Average Value","x-sortable":true,"x-basic":true,"description":"Average amount of approved payments in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Average approved payment amount in USD.","type":"number","format":"double"}}}},"components/schemas/CustomerLifetimeRevenue":{"id":"components/schemas/CustomerLifetimeRevenue","kind":"json-schema","title":"CustomerLifetimeRevenue","data":{"type":"object","readOnly":true,"description":"Customer's lifetime revenue.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Lifetime Revenue","x-sortable":true,"x-basic":true,"description":"Revenue amount in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Revenue amount in USD.","type":"number","format":"double"}}}},"components/schemas/OrganizationId":{"id":"components/schemas/OrganizationId","kind":"json-schema","title":"OrganizationId","data":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}},"components/schemas/TaxNumber":{"id":"components/schemas/TaxNumber","kind":"json-schema","title":"TaxNumber","data":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"isDefault":{"type":"boolean","description":"Determines if the tax number is selected as default to display on invoices.","example":true},"isValid":{"type":["boolean","null"],"description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation).","example":true,"readOnly":true}}}},"components/schemas/LeadSourceData":{"id":"components/schemas/LeadSourceData","kind":"json-schema","title":"LeadSourceData","data":{"type":"object","description":"Lead source information.","properties":{"medium":{"description":"Category of the lead source traffic.\nFor example, the medium could be organic search, Google ads, Display ads, and so on.","type":["string","null"],"maxLength":512},"source":{"description":"Domain, platform, or channel from which the lead source originates.","type":["string","null"],"maxLength":512},"campaign":{"description":"Campaign name of the lead source.","type":["string","null"],"maxLength":512},"term":{"description":"Term associated with a lead source.","type":["string","null"],"maxLength":512},"content":{"description":"Content contained in the lead source content.\nFor example, content could be graphics, video, and so on.","type":["string","null"],"maxLength":512},"affiliate":{"description":"Individual or entity that is affiliated with the lead source.","type":["string","null"],"maxLength":512},"subAffiliate":{"description":"Individual or entity that is associated with a lead source affiliate.\nIn other products, this field may also be referred to as sub ID or click ID in some.","type":["string","null"],"maxLength":512},"salesAgent":{"description":"Name of the sales agent associated with the lead source.","type":["string","null"],"maxLength":512},"clickId":{"description":"ID of the lead source click.\nThis value is passed in the ad click URL for tracking and campaign attribution.","type":["string","null"],"maxLength":512},"path":{"description":"URL from which the lead source originates.","type":["string","null"],"maxLength":512},"referrer":{"description":"Lead source [`referrer` URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer).","type":["string","null"],"format":"uri","maxLength":2083,"example":"https://www.rebilly.com"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/Customer":{"id":"components/schemas/Customer","kind":"json-schema","title":"Customer","data":{"type":"object","description":"Customer information.","properties":{"id":{"type":"string","description":"ID of the customer.","readOnly":true,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","maxLength":50},"email":{"description":"Customer's email address.","type":["string","null"],"format":"email","readOnly":true,"x-sortable":true,"x-basic":true},"firstName":{"description":"Customer's first name.","type":["string","null"],"x-basic":true,"readOnly":true},"lastName":{"description":"Customer's last name.","type":["string","null"],"x-sortable":true,"x-basic":true,"readOnly":true},"websiteId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"paymentToken":{"type":"string","writeOnly":true,"description":"Write-only payment token.\nIf supplied, the token is converted into a payment instrument, and its ID is assigned to `defaultPaymentInstrumentId` value.\nThe value of this property overrides the `defaultPaymentInstrumentId` if both are supplied.\nThis token may only be used once before it expires."},"defaultPaymentInstrument":{"type":["object","null"],"description":"Default payment instrument of the customer.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","readOnly":true,"required":["method","paymentInstrumentId"],"properties":{"method":{"$ref":"#/components/schemas/PaymentMethod"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"defaultPaymentInstrumentId":{"type":["string","null"],"description":"ID of the customer's default payment instrument.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","writeOnly":true},"preferredPayoutInstrumentId":{"type":["string","null"],"description":"ID of the customer's preferred payment instrument for payouts.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"primaryAddress":{"description":"Customer's primary address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/Company"},"averageValue":{"$ref":"#/components/schemas/CustomerAverageValue"},"paymentCount":{"x-label":"Payments","x-sortable":true,"x-basic":true,"description":"Total number of approved payments made by the customer.\nPayments are the result of `sale` or `capture` transactions.","readOnly":true,"type":"integer"},"lastPaymentTime":{"x-label":"Last Payment","x-sortable":true,"x-basic":true,"description":"Date and time when the customer made their last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true},"lifetimeRevenue":{"$ref":"#/components/schemas/CustomerLifetimeRevenue"},"invoiceCount":{"x-sortable":true,"description":"Total number of invoices issued to the customer.\nThis value is auto-incrementing.\nIf this value is `0`, the record relates to a lead.\nA lead is a customer who has not made a payment yet.\nIf this value is greater than or equal to `1` the record relates to a customer.","readOnly":true,"type":"integer"},"tags":{"description":"List of customer tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"revision":{"description":"Number of times the customer's data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"hasFulfilledKyc":{"description":"Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document.","type":"boolean","readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"locale":{"type":["string","null"],"description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR","default":null},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the customer.","items":{"$ref":"#/components/schemas/TaxNumber"}},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}],"writeOnly":true},"personId":{"type":["string","null"],"description":"ID of the associated person.","maxLength":50,"example":"prs_0YV7DDSDD1C8DA64KHH2W33CPF"},"notificationEmails":{"type":"array","description":"Email addresses for notification delivery in event-based email notifications.\nWhen you configure event-based email notifications, you can send to these addresses, the customer's primary email address, or another email address you specify.\nFor more information, see [Manage notification emails](https://www.rebilly.com/docs/data-tables/manage-customer-information#manage-notification-emails).","items":{"type":"string","format":"email"}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","defaultPaymentInstrument","leadSource","website"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested using the `expand` query string parameter.","readOnly":true,"properties":{"defaultPaymentInstrument":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"}}}}}},"components/schemas/CustomerTimelineCustomEvent":{"id":"components/schemas/CustomerTimelineCustomEvent","kind":"json-schema","title":"CustomerTimelineCustomEvent","data":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"name":{"description":"Name of the customer timeline custom event type.\nThis value must not conflict with any system event name.","type":"string","minLength":1,"maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/LeadSource":{"id":"components/schemas/LeadSource","kind":"json-schema","title":"LeadSource","data":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"},{"type":"object","properties":{"original":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}]}}}]}},"components/schemas/RedemptionCancelTimelineAction":{"id":"components/schemas/RedemptionCancelTimelineAction","kind":"json-schema","title":"RedemptionCancelTimelineAction","data":{"description":"Cancel redemption.","type":"object","readOnly":true,"properties":{"action":{"type":"string","enum":["redemption-cancel"]},"redemptionId":{"$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/ResendEmailTimelineAction":{"id":"components/schemas/ResendEmailTimelineAction","kind":"json-schema","title":"ResendEmailTimelineAction","data":{"type":"object","description":"Resend email action.","readOnly":true,"properties":{"action":{"type":"string","enum":["resend-email"]},"messageId":{"$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/RulesetRestoreTimelineAction":{"id":"components/schemas/RulesetRestoreTimelineAction","kind":"json-schema","title":"RulesetRestoreTimelineAction","data":{"type":"object","description":"Restore ruleset version.","readOnly":true,"properties":{"action":{"type":"string","enum":["ruleset-restore"]},"version":{"type":"integer","description":"Version of the ruleset to restore."}}}},"components/schemas/TimelineAction":{"id":"components/schemas/TimelineAction","kind":"json-schema","title":"TimelineAction","data":{"type":"object","discriminator":{"propertyName":"action","mapping":{"redemption-cancel":"#/components/schemas/RedemptionCancelTimelineAction","resend-email":"#/components/schemas/ResendEmailTimelineAction","ruleset-restore":"#/components/schemas/RulesetRestoreTimelineAction"}},"oneOf":[{"$ref":"#/components/schemas/RedemptionCancelTimelineAction"},{"$ref":"#/components/schemas/ResendEmailTimelineAction"},{"$ref":"#/components/schemas/RulesetRestoreTimelineAction"}]}},"components/schemas/TimelineTable":{"id":"components/schemas/TimelineTable","kind":"json-schema","title":"TimelineTable","data":{"type":"object","description":"Additional timeline message information.","discriminator":{"propertyName":"type","mapping":{"three-columns":"#/components/schemas/ThreeColumnsTimelineTable","two-columns":"#/components/schemas/TwoColumnsTimelineTable","one-column":"#/components/schemas/OneColumnTimelineTable","list":"#/components/schemas/ListTimelineTable"}},"properties":{"type":{"type":"string","enum":["list","one-columns","two-columns","three-columns"]},"title":{"type":"string","description":"Data table title."},"footer":{"type":"string","description":"Data table footer."}}}},"components/schemas/ThreeColumnsTimelineTable":{"id":"components/schemas/ThreeColumnsTimelineTable","kind":"json-schema","title":"ThreeColumnsTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"previousValue":{"type":["string","integer","number","boolean"]},"newValue":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Descriptor","previousValue":"test.com","newValue":"new-test.com"}}}}}]}},"components/schemas/TwoColumnsTimelineTable":{"id":"components/schemas/TwoColumnsTimelineTable","kind":"json-schema","title":"TwoColumnsTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]}},"components/schemas/OneColumnTimelineTable":{"id":"components/schemas/OneColumnTimelineTable","kind":"json-schema","title":"OneColumnTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]}},"components/schemas/ListTimelineTable":{"id":"components/schemas/ListTimelineTable","kind":"json-schema","title":"ListTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"string"}}}}]}},"components/schemas/TimelineExtraData":{"id":"components/schemas/TimelineExtraData","kind":"json-schema","title":"TimelineExtraData","data":{"type":"object","description":"Additional data.","readOnly":true,"properties":{"actions":{"description":"Actions available for a timeline message.\nIf no actions are available, this field is empty.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineAction"}},"tables":{"description":"Table data that is attached to the timeline message.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineTable"}},"author":{"type":"object","description":"Author of the timeline message.","properties":{"userFullName":{"description":"Full name of the author.","type":"string"},"userId":{"description":"ID of the author.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"}}},"mentions":{"description":"User mentions, or tags, in a timeline.","type":"object","additionalProperties":{"type":"string"},"example":{"@test@mail.com":"userId-1"}},"links":{"description":"Links that are attached to a timeline message.","type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","enum":["kyc-document","invoice","subscription","transaction","email-message","dispute","coupon","external","payout-request-batch"]},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"placeholder":{"type":"string","example":"KYC document"},"externalUrl":{"type":"string","example":"http://example.com"}}}}}}},"components/schemas/ServerTimestamp":{"id":"components/schemas/ServerTimestamp","kind":"json-schema","title":"ServerTimestamp","data":{"type":"string","description":"Read-only timestamp in ISO 8601 date-time format.","format":"date-time","readOnly":true}},"components/schemas/CustomerTimeline":{"id":"components/schemas/CustomerTimeline","kind":"json-schema","title":"CustomerTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","enum":["account-password-reset-requested","account-verification-requested","aml-list-was-possibly-matched","deposit-request-completed","deposit-request-created","deposit-request-expired","deposit-request-started","coupon-applied","coupon-redeemed","coupon-redemption-canceled","custom-event","custom-event-processed","custom-fields-changed","customer-bank-account-blocked","customer-blocked","customer-comment-created","customer-created","customer-merged","customer-payment-card-blocked","customer-requested-otp","customer-tagged","customer-untagged","default-payment-instrument-changed","email-message-sent","experian-check-performed","invoice-abandoned","invoice-created","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-revenue-recognized","invoice-voided","kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-fulfilled","lead-source-changed","order-activated","order-canceled","order-churned","order-completed","order-created","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-paid-early","order-reactivated","order-renewed","order-trial-ended","order-upgraded","payment-card-expiration-was-modified","payment-card-expired","payment-instrument-created","payment-instrument-deactivated","primary-address-changed","quickbooks-customer-created","quickbooks-customer-task-failed","quote-canceled","quote-created","quote-expired","quote-issued","quote-order-attached","quote-recalled","quote-rejected","quote-updated","refund-was-reflected-in-invoices","subscription-pause-created","subscription-pause-revoked","subscription-paused","subscription-resumed","subscription-trial-end-changed","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-voided","transaction-waiting-gateway","wallet-admin-credited","wallet-admin-debited"]},"customEventType":{"description":"Timeline custom event type.\nUsed with `custom-event` type.\nThis value must be defined using the Create customer timeline custom event type operation.","type":["string","null"],"minLength":1,"maxLength":255},"customData":{"description":"Timeline custom event data.\nUsed with `custom-event` type.\nTransforms to `extraData` two-column table in response.","type":"object","writeOnly":true,"example":{"customAttribute":"customValue","otherAttribute":"otherValue"}},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Detailed message description.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerCreditBalance":{"id":"components/schemas/CustomerCreditBalance","kind":"json-schema","title":"CustomerCreditBalance","data":{"type":"object","required":["balances"],"properties":{"balances":{"description":"Customer credit balances grouped by currency.","readOnly":true,"type":"array","items":{"type":"object","required":["currency","unallocatedAmount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"unallocatedAmount":{"description":"Sum of unallocated credit memo amounts for the currency.","readOnly":true,"type":"number","format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}},"components/schemas/Dispute":{"id":"components/schemas/Dispute","kind":"json-schema","title":"Dispute","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the dispute.","readOnly":true,"maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"customerId":{"description":"ID of the customer who is disputing a transaction.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"transactionId":{"description":"ID of the disputed transaction.","type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"]},"caseId":{"description":"Case ID of the dispute.","type":["string","null"]},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":["string","null"],"maxLength":255},"reasonDescription":{"description":"Description of the reason for the dispute.","type":["string","null"],"maxLength":512,"readOnly":true},"category":{"description":"Category of dispute.","type":"string","readOnly":true,"enum":["fraud","authorization","processing-errors","consumer-disputes","uncategorized","bank-return"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"},"rawResponse":{"description":"Raw response from the payment gateway that processed the disputed transaction.","type":["string","null"],"readOnly":true},"resolvedTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the dispute is resolved.","readOnly":true},"source":{"description":"Source of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"api","manual","sftp","webhook"]},"revision":{"description":"Number of times the dispute data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","customer","attachments"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"transaction":{"type":"object"},"customer":{"type":"object"}}}}}},"components/schemas/TransactionId":{"id":"components/schemas/TransactionId","kind":"json-schema","title":"TransactionId","data":{"type":"string","description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"}},"components/schemas/File":{"id":"components/schemas/File","kind":"json-schema","title":"File","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the file.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"name":{"description":"Original file name.","type":"string","maxLength":255},"extension":{"description":"File extension.","type":"string"},"description":{"description":"Description of the file.","type":"string","maxLength":255},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"}},"mime":{"description":"MIME type of the file.","type":"string","readOnly":true,"enum":["image/png","image/jpeg","image/gif","image/webp","application/pdf","application/json","application/zip","text/csv"]},"size":{"description":"File size, in bytes.","type":"integer","readOnly":true},"width":{"description":"Width of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"height":{"description":"Height of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"sha1":{"description":"Hash sum of the file.","type":"string","readOnly":true},"exifData":{"description":"Collection of EXIF tags contained in the image metadata.\nThis field is applicable to images only.","type":["object","null"],"readOnly":true,"example":{"FileSize":120,"Software":"GIMP 2.4.5"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","download","signedLink","permalink"]}}}}}}},"components/schemas/FileCreateFromInline":{"id":"components/schemas/FileCreateFromInline","kind":"json-schema","title":"FileCreateFromInline","data":{"type":"object","required":["file"],"properties":{"file":{"description":"File in base64 encoded format.","type":"string","example":"R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}}},"components/schemas/FileCreateFromUrl":{"id":"components/schemas/FileCreateFromUrl","kind":"json-schema","title":"FileCreateFromUrl","data":{"type":"object","required":["url"],"properties":{"url":{"description":"URL of the file to upload.","type":"string","example":"https://app.rebilly.com/static/gateways/Stripe.png"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}}},"components/schemas/ManualShipping":{"id":"components/schemas/ManualShipping","kind":"json-schema","title":"ManualShipping","data":{"description":"Manually set shipping amount.","type":"object","required":["amount","calculator"],"properties":{"amount":{"x-type":"Money","type":"number","format":"double","description":"Shipping amount."},"calculator":{"description":"Shipping calculator.","type":"string","enum":["manual"]}}}},"components/schemas/RebillyShipping":{"id":"components/schemas/RebillyShipping","kind":"json-schema","title":"RebillyShipping","data":{"description":"Rebilly-based shipping which is calculated by shipping rates.","type":"object","required":["calculator"],"properties":{"calculator":{"description":"Shipping calculator.","type":"string","enum":["rebilly"]},"rateId":{"description":"ID of the shipping rate.\nIf this value is not set,\nthe cheapest applicable shipping rate is used.","type":["string","null"],"maxLength":50,"example":"shipping-123-456"},"amount":{"type":"number","format":"double","readOnly":true,"description":"Shipping amount which is calculated from [Shipping rates](https://www.rebilly.com/catalog/all/shipping-rates)."}}}},"components/schemas/Shipping":{"id":"components/schemas/Shipping","kind":"json-schema","title":"Shipping","data":{"description":"Shipping settings.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualShipping","rebilly":"#/components/schemas/RebillyShipping"}},"oneOf":[{"$ref":"#/components/schemas/ManualShipping"},{"$ref":"#/components/schemas/RebillyShipping"}]}},"components/schemas/TaxItem":{"id":"components/schemas/TaxItem","kind":"json-schema","title":"TaxItem","data":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double","readOnly":true},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94,"readOnly":true},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04,"readOnly":true},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0,"readOnly":true},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38,"readOnly":true},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"readOnly":true,"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US","readOnly":true},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA","readOnly":true},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true}}}}}},"components/schemas/ManualTax":{"id":"components/schemas/ManualTax","kind":"json-schema","title":"ManualTax","data":{"type":"object","description":"Manual tax calculator.","required":["calculator","items"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["manual"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/RebillyTaxJarTax":{"id":"components/schemas/RebillyTaxJarTax","kind":"json-schema","title":"RebillyTaxJarTax","data":{"type":"object","description":"TaxJar tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-taxjar"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/RebillyAvalaraTax":{"id":"components/schemas/RebillyAvalaraTax","kind":"json-schema","title":"RebillyAvalaraTax","data":{"type":"object","description":"Avalara tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-avalara"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/Taxes":{"id":"components/schemas/Taxes","kind":"json-schema","title":"Taxes","data":{"description":"Taxes.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualTax","rebilly-taxjar":"#/components/schemas/RebillyTaxJarTax","rebilly-avalara":"#/components/schemas/RebillyAvalaraTax"}},"oneOf":[{"$ref":"#/components/schemas/ManualTax"},{"$ref":"#/components/schemas/RebillyTaxJarTax"},{"$ref":"#/components/schemas/RebillyAvalaraTax"}]}},"components/schemas/InvoiceItem":{"id":"components/schemas/InvoiceItem","kind":"json-schema","title":"InvoiceItem","data":{"type":"object","required":["type","unitPrice"],"properties":{"id":{"type":"string","description":"ID of the invoice item.","readOnly":true,"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"description":"Type of invoice item.","type":"string","x-basic":true,"enum":["debit","credit"]},"description":{"description":"Description of the invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"price":{"description":"Total price of the invoice item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"readOnly":true,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":["string","null"],"description":"ID of the order.","maxLength":50,"readOnly":true,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":["string","null"],"format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":["string","null"],"format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":["integer","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/TaxItem"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","subscription","plan"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}}},"components/schemas/CreditMemoInvoiceAllocation":{"id":"components/schemas/CreditMemoInvoiceAllocation","kind":"json-schema","title":"CreditMemoInvoiceAllocation","data":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/GatewayName":{"id":"components/schemas/GatewayName","kind":"json-schema","title":"GatewayName","data":{"description":"Payment gateway name.","type":["string","null"],"enum":["A1Gateway","ACI","Adyen","Aera","Aircash","Airpay","Airwallex","AsiaPay","AmazonPay","AmexVPC","Antom","ApcoPay","AsiaPaymentGateway","AstroPayCard","AuthorizeNet","Awepay","Bambora","BankSEND","BitPay","BlueSnap","BraintreePayments","Buckaroo","BVNK","Cardknox","Cashflows","CASHlib","Cashterminal","CashToCode","CauriPayment","Cayan","CCAvenue","Chase","CheckoutCom","Chillstock","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptomus","Cryptonator","CyberSource","DataCash","Dengi","Dimoco","Directa24","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","ecoPayzTurkey","EcorePay","Elavon","Euteller","eMerchantPay","EMS","ePay","EPG","EPro","Ezeebill","eZeeWallet","ezyEFT","FasterPay","Finrax","Flexepin","FinTecSystems","FundSend","Forte","gate2way","GET","Gigadat","GlobalOnePay","GoCardless","Gooney","Gpaysafe","Greenbox","HiPay","iCashOne","iCanPay","ICEPAY","iCheque","iDebit","Ilixium","IMerchant","Ingenico","INOVAPAY","Inovio","Intuit","InstaDebit","IpayOptions","Isx","JetPay","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","LaCore","Limepay","Loonio","loonie","LPG","MaxiCash","MercadoPago","MiFinity","Mollie","MobilePay","Moneris","Monolo","MonRem","MtaPay","MuchBetter","MuchBetterGateway","MyFatoorah","Naewe","Neosurf","Netbanking","Neteller","NGenius","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Pagadito","Pagsmile","Panamerican","ParamountCommerce","ParamountEft","ParamountInterac","PandaGateway","Pay4Fun","Paybilt","PayCash","Paycly","PayClub","PayCom","PayEcards","Payeezy","Payflow","PayGlocal","Paynote","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","PayPal","Payper","Payr","PayRedeem","PayRetailers","Paysafe","Paysafecard","Paysafecash","PayTabs","PayU","PayULatam","Payvision","PayXpert","PharosPayments","Piastrix","Pin4Pay","Plugnpay","PostFinance","Powertranz","PPRO","Prosa","PSiGate","Quickpay","Rapyd","Realex","Realtime","Redsys","Rotessa","RPN","Safecharge","SaltarPay","Sagepay","SeamlessChex","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","Splitit","StaticGateway","STPMexico","Stripe","Tabby","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","TrustsPay","Trustly","TWINT","Txn","Unlimit","UPayCard","USAePay","VantivLitle","vegaaH","VCreditos","VegaWallet","Viva","Wallet88","Walpay","WesternUnion","Wirecard","WorldlineAtosFrankfurt","Worldpay","XPay","Zimpler","Zotapay"]}},"components/schemas/AcquirerName":{"id":"components/schemas/AcquirerName","kind":"json-schema","title":"AcquirerName","data":{"description":"Acquirer name.","type":["string","null"],"enum":["Adyen","ACI","Aera","Alipay","AIB","Aircash","Airpay","AmazonPay","ApcoPay","AsiaPaymentGateway","AstroPay Card","Awepay","Ipay Options","B+S","Bambora","BitPay","Bank of America","Bank of Moscow","Bank of Rebilly","Bank One","BankSEND","BMO Harris Bank","Borgun","BraintreePayments","Buckaroo","BVNK","Cardknox","CASHlib","Cashterminal","CashToCode","Catalunya Caixa","CCAvenue","Chase","CheckoutCom","Chillstock","ChinaUnionPay","CIM","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptonator","CyberSource","Dimoco","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","EcorePay","Elavon","EMS","ePay","EPG","Euteller","Ezeebill","eZeeWallet","ezyEFT","Fifth Third Bank","Finrax","First Data Buypass","First Data Nashville","First Data North","First Data Omaha","FinTecSystems","Flexepin","Forte","FundSend","gate2way","Gigadat","Global East","Gooney","Gpaysafe","Heartland","HiPay","HSBC","iCashOne","iCanPay","ICEPAY","iCheque","Ilixium","Ingenico","INOVAPAY","Intuit","Isx","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","Limepay","Loonio","loonie","LPG","Masapay","MaxiCash","MercadoPago","Merrick","Mission Valley Bank","MiFinity","MobilePay","Moneris","Monolo","MonRem","MuchBetter","MuchBetterGateway","MyFatoorah","NATWEST","Neosurf","Netbanking","Neteller","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","Nuvei","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Other","Panamerican","Panda Bank","Paramount","ParamountCommerce","ParamountEft","ParamountInterac","Pay4fun","Paybilt","PayCash","PayClub","PayEcards","PayGlocal","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","Paynetics","PayPal","Payper","Payr","PayRedeem","PayRetailers","PayTabs","PayU","PayULatam","Payvision","PharosPayments","Piastrix","Pin4Pay","Peoples Trust Company","PostFinance","PPRO","Privatbank","Prosa","PSiGate","QQPay","Rapyd","RBC","RBS WorldPay","RealTime","Rotessa","Safecharge","SaltarPay","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","State Bank of Mauritius","STPMexico","Stripe","Tabby","TBI","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","Trustly","TrustPay","TrustsPay","TSYS","TWINT","Txn","UPayCard","Vantiv","VCreditos","VegaWallet","VoicePay","Wallet88","WeChat Pay","Wells Fargo","Wing Hang Bank","Wirecard","WorldPay","XPay","Zimpler","Zotapay"]}},"components/schemas/VaultedInstrument":{"id":"components/schemas/VaultedInstrument","kind":"json-schema","title":"Vaulted payment instrument","data":{"title":"Vaulted payment instrument","description":"Vaulted payment instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","required":["method","paymentInstrumentId"],"properties":{"method":{"description":"Payment method supported vault.\nFor more information, see [Payment instrument](https://www.rebilly.com/catalog/all/payment-instruments).","type":"string","enum":["payment-card","ach","paypal"]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}}},"components/schemas/AlternativePaymentInstrument":{"id":"components/schemas/AlternativePaymentInstrument","kind":"json-schema","title":"Alternative instrument","data":{"title":"Alternative instrument","description":"Alternative payment method instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"not":{"enum":["payment-card","ach","paypal","cash","check"]}}]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"reference":{"description":"Reference data.\nThis field is available only for the `bank-transfer` payment method.","type":["string","null"]}}}},"components/schemas/CashInstrument":{"id":"components/schemas/CashInstrument","kind":"json-schema","title":"Cash","data":{"title":"Cash","description":"Cash payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["cash"]},"receivedBy":{"description":"Individual or entity that received the payment.","type":"string"}}}},"components/schemas/CheckInstrument":{"id":"components/schemas/CheckInstrument","kind":"json-schema","title":"Check","data":{"title":"Check","description":"Check payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["check"]},"reference":{"description":"Reference data.","type":"string"}}}},"components/schemas/MoneyAmount":{"id":"components/schemas/MoneyAmount","kind":"json-schema","title":"MoneyAmount","data":{"type":"number","format":"double","example":10,"x-type":"Money"}},"components/schemas/Money":{"id":"components/schemas/Money","kind":"json-schema","title":"Money","data":{"type":"object","required":["amount","currency"],"properties":{"amount":{"$ref":"#/components/schemas/MoneyAmount"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/HttpHeaders":{"id":"components/schemas/HttpHeaders","kind":"json-schema","title":"HttpHeaders","data":{"type":"object","description":"HTTP headers.","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},"x-is-free-form":true}},"components/schemas/RiskMetadata":{"id":"components/schemas/RiskMetadata","kind":"json-schema","title":"Risk metadata","data":{"type":"object","title":"Risk metadata","description":"Risk metadata used for 3D Secure and risk scoring.","properties":{"ipAddress":{"description":"Customer's IP address.","type":["string","null"],"format":"ipv4 or ipv6","example":"93.92.91.90"},"fingerprint":{"description":"Customer's device fingerprint.\nA device fingerprint is a unique token that is used to identify the customer.\nThe device fingerprint is generated based on device attributes, such as: hardware,\nsoftware, IP address, language, browser, and more.","type":["string","null"],"maxLength":50,"example":"pIUt3xbgX3l9g3YDiLbx"},"httpHeaders":{"oneOf":[{"$ref":"#/components/schemas/HttpHeaders"},{"type":"null"}]},"browserData":{"type":["object","null"],"description":"Browser data used for 3D Secure and risk scoring.","required":["colorDepth","isJavaEnabled","language","screenWidth","screenHeight","timeZoneOffset"],"properties":{"colorDepth":{"description":"Browser color depth in bits per pixel.\nThis value is obtained using the `screen.colorDepth` property.","type":"integer","minimum":1,"maximum":48,"example":24},"isJavaEnabled":{"description":"Specifies if Java is enabled in a browser.\nThis value is obtained from the `navigator.javaEnabled` property.","type":"boolean"},"language":{"description":"Browser language settings.\nThis value is obtained from the `navigator.language` property.","type":"string","example":"en-US","maxLength":8},"screenWidth":{"description":"Width of the browser screen.\nThis value is obtained from the `screen.width` property.","type":"integer","minimum":0,"maximum":65535,"example":1920},"screenHeight":{"description":"Height of the browser screen.\nThis value is obtained from the `screen.height` property.","type":"integer","minimum":0,"maximum":65535,"example":1080},"timeZoneOffset":{"description":"Browser time zone offset in minutes from UTC.\nA positive offset indicates that the local time is behind UTC.\nA negative offset indicates that the local time is ahead of UTC.\nYou can find this value using the `(new Date()).getTimezoneOffset()` property.","type":"integer","minimum":-1410,"maximum":1410,"example":300},"isAdBlockEnabled":{"description":"Specifies if the usage of ad block has been detected in the browser.","type":["boolean","null"]}}},"extraData":{"type":["object","null"],"description":"Third-party data used for risk scoring.","properties":{"kountFraudSessionId":{"description":"Alpha-numeric `fraudSessionId` as provided by the Kount SDK.","type":["string","null"],"minLength":10,"maxLength":32,"example":"abcdefg12345abababab123456789012"},"payPalMerchantSessionId":{"description":"PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.","type":["string","null"],"minLength":1,"maxLength":64,"example":"dd65ratxc5qv15iph3vyoq7l6davuowa"},"threatMetrixSessionId":{"description":"Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.","pattern":"[a-zA-Z0-9_-]+","type":["string","null"],"minLength":1,"maxLength":128,"example":"dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa"}}},"isProxy":{"description":"Specifies if the customer's IP address is related to a proxy.","type":"boolean","readOnly":true},"isVpn":{"description":"Specifies if the customer's IP address is related to a VPN.","type":"boolean","readOnly":true},"isTor":{"description":"Specifies if the customer's IP address is related to TOR.","type":"boolean","readOnly":true},"isHosting":{"description":"Specifies if the customer's IP address is related to hosting.","type":"boolean","readOnly":true},"hostingName":{"description":"Name of the data center or hosting provider, if available.","type":["string","null"],"readOnly":true},"isp":{"description":"Internet Service Provider (ISP) name, if available.","type":["string","null"],"readOnly":true},"country":{"description":"Country ISO Alpha-2 code of the specified IP address.","maxLength":2,"type":["string","null"],"readOnly":true,"example":"US"},"region":{"description":"Region of the specified IP address.","type":["string","null"],"readOnly":true,"example":"NY"},"city":{"description":"City of the specified IP address.","type":["string","null"],"readOnly":true,"example":"New York"},"latitude":{"description":"Latitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"longitude":{"description":"Longitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"postalCode":{"description":"Postal code of the specified IP address.","type":["string","null"],"maxLength":10,"readOnly":true},"timeZone":{"description":"Time zone of the specified IP address.","type":["string","null"],"readOnly":true,"example":"America/New_York"},"accuracyRadius":{"description":"Accuracy radius of the specified IP address, in kilometers.","type":["integer","null"],"readOnly":true},"distance":{"description":"Distance between the customer's IP address and the billing address geolocation, in kilometers.","type":["integer","null"],"readOnly":true},"hasMismatchedBillingAddressCountry":{"description":"Specifies if the customer's billing address country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedBankCountry":{"description":"Specifies if the customer's bank country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedTimeZone":{"description":"Specifies if the customer's browser time zone and the IP address associated time zone are not the same.","type":"boolean","readOnly":true},"hasMismatchedHolderName":{"description":"Specifies if the customer's billing address name and primary address name are not the same.","type":"boolean","readOnly":true},"hasFakeName":{"description":"Specifies if the holder name seems fake.","type":"boolean","readOnly":true},"isHighRiskCountry":{"description":"Specifies if the geo-IP country, or the customer's billing country, is considered a high risk country.","type":"boolean","readOnly":true},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","type":"integer","readOnly":true},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","type":"integer","readOnly":true},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","type":"integer","readOnly":true},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","type":"integer","readOnly":true},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","type":"integer","readOnly":true},"score":{"description":"Computed risk score based on IP risk data,\nsuch as: `isVpn`, `isTor`, and `isProxy`.","type":"integer","readOnly":true}}}},"components/schemas/TransactionLimitAmount":{"id":"components/schemas/TransactionLimitAmount","kind":"json-schema","title":"LimitAmount","data":{"type":["object","null"],"title":"LimitAmount","description":"Transaction amount limit information.","properties":{"amount":{"type":"number","format":"double","example":275.35,"description":"Limit amount."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"resetTime":{"type":["string","null"],"format":"date-time","description":"Date and time in which the limit amount resets.\nThis value may be used for user interfaces."}}}},"components/schemas/Transaction":{"id":"components/schemas/Transaction","kind":"json-schema","title":"Transaction","data":{"type":"object","description":"Transaction information.","properties":{"id":{"readOnly":true,"$ref":"#/components/schemas/TransactionId"},"websiteId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"customerId":{"x-basic":true,"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"amount":{"x-type":"Money","x-sortable":true,"x-basic":true,"description":"Total amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"purchaseAmount":{"description":"Amount by which the purchase is completed.\nIf an adjustment occurs, the purchased amount may differ from the requested amount.","type":"number","format":"double","x-type":"Money","x-currency-field":"purchaseCurrency","x-sortable":true,"readOnly":true},"purchaseCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"requestAmount":{"description":"Amount of the payment request.\nIf an adjustment occurs,\nthe purchase amount may differ from the billing amount.","type":"number","x-type":"Money","x-currency-field":"requestCurrency","format":"double","readOnly":true},"requestCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"parentTransactionId":{"description":"ID of the parent transaction.","type":["string","null"],"$ref":"#/components/schemas/TransactionId"},"childTransactions":{"description":"IDs of child transactions.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"invoiceIds":{"description":"Related invoice IDs.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"subscriptionIds":{"description":"Subscription IDs of invoices that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"planIds":{"description":"Plan IDs of orders that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"isRebill":{"description":"Specifies if the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","type":"boolean","readOnly":true},"rebillNumber":{"description":"Rebill number of the transaction.\nA rebill number is the number of recurring payments in a subscription, excluding trials or setup fees.","type":"integer","readOnly":true,"x-sortable":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"has3ds":{"description":"Specifies if the transaction uses 3D Secure.","type":"boolean","readOnly":true},"3ds":{"type":"object","description":"Authentication object.\nFor more information, see [3D Secure (3DS)](https://www.rebilly.com/docs/settings/3ds/).","readOnly":true,"properties":{"server":{"description":"Name of the 3D Secure server.","type":"string"},"version":{"description":"Version of 3D Secure.","type":"string","enum":["1.0.2","2.1.0","2.2.0"]},"enrolled":{"description":"Specifies if the cardholder is enrolled in 3D Secure.","type":"string","enum":["yes","no","invalid card/timeout","unavailable"]},"authenticated":{"description":"Authentication response status for 3D Secure.","type":"string","enum":["yes","no","not applicable","attempted"]},"liability":{"type":"string","enum":["protected","not protected","protected (attempt)"]},"flow":{"description":"Authentication flow for 3D Secure 2.","type":"string","enum":["frictionless","challenge"]},"isDowngraded":{"description":"Specifies if 3D Secure 2 is attempted and downgraded to 3D Secure 1.","type":"boolean","default":false,"deprecated":true}}},"redirectUrl":{"description":"URL where the end-user is redirected to when an offsite transaction is completed.\nThe default value is the website URL.","type":["string","null"],"maxLength":2083,"format":"uri"},"retryNumber":{"type":"integer","readOnly":true,"description":"Position of the transaction in the sequence of retries.","x-sortable":true},"isRetry":{"type":"boolean","readOnly":true,"description":"Specifies if a transaction is a retry."},"billingDescriptor":{"type":["string","null"],"readOnly":true,"description":"Billing descriptor that appears on the periodic billing statement.\nFor a credit card statement, this field commonly contains 12 or fewer characters."},"description":{"type":"string","description":"Description of the payment.","maxLength":255},"requestId":{"description":"Request ID of the transaction.\nThis ID must be unique within a 24-hour period.\nUse this field to prevent duplicate transactions.","type":"string","x-sortable":true},"hasAmountAdjustment":{"description":"Specifies if the transaction has amount adjustment.","type":"boolean","readOnly":true},"gatewayName":{"readOnly":true,"description":"Name of the payment gateway that processed, or is selected to process, the transaction.\nThis value is only available after a gateway is selected for the transaction.","x-label":"Gateway","x-basic":true,"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"processedTime":{"description":"Date and time when the transaction is processed.","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"gatewayAccountId":{"type":["string","null"],"description":"ID of the gateway account that processed the transaction.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34","readOnly":true},"gatewayTransactionId":{"description":"ID of the gateway transaction.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"gateway":{"type":"object","description":"Related gateway information.","readOnly":true,"properties":{"response":{"description":"Gateway response.","type":"object","properties":{"code":{"description":"Gateway response code.","type":["string","null"]},"message":{"description":"Gateway response message.","type":["string","null"]},"type":{"description":"Gateway response type.","type":["string","null"]},"originalCode":{"description":"Raw, unmapped gateway response code.","type":["string","null"]},"originalMessage":{"description":"Raw, unmapped gateway response message.","type":["string","null"]}}},"avsResponse":{"description":"Gateway Address Verification System (AVS) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}},"cvvResponse":{"description":"Gateway Card Verification Value (CVV) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}}}},"acquirerName":{"readOnly":true,"description":"Acquirer name.\nThis value is only available when a transaction uses a payment gateway.\nIf a transaction does not use a payment gateway, this value is `null`.","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"deprecated":true,"description":"Payment method.\n\n>**Note:** Use `paymentInstrument.method` instead.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"velocity":{"description":"Number of transactions by the same customer in the past 24 hours.","type":"integer"},"revision":{"description":"Number of times the transaction data has been modified.\n\nThis revision number is useful when analyzing webhook data to determine if the change takes precedence over the current representation.","type":"integer","readOnly":true},"referenceData":{"description":"Transaction reference data.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"},"readOnly":true},"bin":{"description":"Payment card Bank Identification Number (BIN).","x-label":"BIN","type":["string","null"],"format":"bin","readOnly":true},"paymentInstrumentFingerprint":{"description":"Unique value that is used to identify the payment instrument of the transaction.\nThis value is `null` if the transaction has no payment instrument,\nor the payment instrument has no fingerprint.","type":["string","null"],"readOnly":true},"paymentInstrument":{"type":"object","oneOf":[{"$ref":"#/components/schemas/VaultedInstrument"},{"$ref":"#/components/schemas/AlternativePaymentInstrument"},{"$ref":"#/components/schemas/CashInstrument"},{"$ref":"#/components/schemas/CheckInstrument"}]},"hasDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) applies to the transaction.","type":"boolean","readOnly":true},"dcc":{"description":"Detailed Dynamic currency conversion (DCC).\nIf DCC is not applied to the transaction, this value is `null`.","type":["object","null"],"readOnly":true,"properties":{"base":{"description":"Initial amount and currency to convert from.","$ref":"#/components/schemas/Money"},"quote":{"description":"Suggested amount and currency to convert to.","$ref":"#/components/schemas/Money"},"usdMarkup":{"description":"Markup amount converted to USD.","$ref":"#/components/schemas/MoneyAmount"},"outcome":{"type":"string","description":"Dynamic currency conversion outcome.","enum":["unprocessed","rejected","selected"]},"isForceDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) is forced for the transaction.","type":"boolean"}}},"riskScore":{"description":"Risk score for the transaction.","type":"integer","readOnly":true,"x-sortable":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"notificationUrl":{"description":"URL where a server-to-server POST notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"isDisputed":{"description":"Specifies if a transaction is disputed.","type":"boolean","readOnly":true},"disputeTime":{"description":"Date and time when the dispute is created.\nIf the transaction is not disputed, this value is `null`.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true},"disputeStatus":{"description":"Status of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"response-needed","under-review","forfeited","won","lost","unknown"]},"isReconciled":{"description":"Specifies if the transaction is verified with gateway batch data.","type":"boolean","readOnly":true},"isProcessedOutside":{"description":"Specifies if the transaction is processed outside of Rebilly.","type":"boolean"},"isMerchantInitiated":{"description":"Specifies if the transaction is initiated by the merchant.","type":"boolean"},"hadDiscrepancy":{"description":"Specifies if the transaction is updated due to a discrepancy with its source of truth.","type":"boolean","readOnly":true},"orderId":{"deprecated":true,"description":"Order ID of the transaction.\nThis ID must be unique within a 24 hour period.\n\n> **Note:** Use the `requestId` field instead.","type":"string","x-sortable":true},"arn":{"x-label":"ARN","type":["string","null"],"readOnly":true,"description":"Acquirer reference number.","example":"74836950144358910018150"},"reportAmount":{"description":"Transaction amount converted to the report currency of the organization.","type":"number","x-type":"Money","x-sortable":true,"x-currency-field":"reportCurrency","format":"double","readOnly":true},"reportCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"settlementTime":{"type":["string","null"],"description":"Date and time when the transaction is settled by the banking institution.","format":"date-time","readOnly":true,"x-sortable":true},"discrepancyTime":{"type":["string","null"],"description":"Date and time of the most recent discrepancy on the transaction.","format":"date-time","readOnly":true,"x-sortable":true},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"depositRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the deposit request if applicable.\nThe created transaction is based on the properties of this deposit request.","maxLength":50,"example":"dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7"},"transferId":{"readOnly":true,"type":["string","null"],"description":"ID of the ledger transfer if applicable.\nThe transaction is linked to this transfer when processed in the wallet ledger.","maxLength":50,"example":"tb_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"payoutRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the payout request if applicable.\nThe created transaction is based on the properties of this payout request.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","website","customer","gatewayAccount","paymentCard","parentTransaction","leadSource","approvalUrl","refundUrl","updateUrl","disputes","invoices","queryUrl","redirectUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"parentTransaction":{"type":"object"},"childTransactions":{"type":"array","maxItems":10,"description":"Most recent child transactions."},"gatewayAccount":{"type":"object"},"customer":{"type":"object"},"leadSource":{"type":"object"},"website":{"type":"object"},"invoices":{"type":"array","maxItems":10,"description":"Most recent related invoices."},"organization":{"type":"object"},"dispute":{"type":"object"},"paymentCard":{"type":"object"},"bankAccount":{"type":"object"}}}}}},"components/schemas/TimeUnit":{"id":"components/schemas/TimeUnit","kind":"json-schema","title":"TimeUnit","data":{"type":"string","enum":["second","minute","hour","day","month","year"]}},"components/schemas/TimePluralUnit":{"id":"components/schemas/TimePluralUnit","kind":"json-schema","title":"TimePluralUnit","data":{"type":"string","enum":["seconds","minutes","hours","days","months","years"]}},"components/schemas/TimeIso8601Extended":{"id":"components/schemas/TimeIso8601Extended","kind":"json-schema","title":"TimeIso8601Extended","data":{"description":"Extended ISO-8601 format of time.","type":"string","format":"time","pattern":"^(([01][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?)((?:[+-](?:0[0-9]|1[12])(?::?[0-5][0-9])?)|Z)?$"}},"components/schemas/SchedulingMethodDayOfMonth":{"id":"components/schemas/SchedulingMethodDayOfMonth","kind":"json-schema","title":"SchedulingMethodDayOfMonth","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-month"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","method"]}},"components/schemas/SchedulingMethodDayOfWeek":{"id":"components/schemas/SchedulingMethodDayOfWeek","kind":"json-schema","title":"SchedulingMethodDayOfWeek","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-week"]},"day":{"description":"Day of the week when the event occurs.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"week":{"type":"string","enum":["next","first-in-month","last-in-month"]},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","week","method"]}},"components/schemas/PeriodAnchor":{"id":"components/schemas/PeriodAnchor","kind":"json-schema","title":"PeriodAnchor","data":{"type":"object","description":"Instruction for calculating the period anchor.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]}},"components/schemas/SchedulingMethodDateInterval":{"id":"components/schemas/SchedulingMethodDateInterval","kind":"json-schema","title":"SchedulingMethodDateInterval","data":{"type":"object","properties":{"method":{"type":"string","enum":["date-interval"]},"duration":{"type":"integer","description":"Number of time units.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]},"anchor":{"$ref":"#/components/schemas/PeriodAnchor"}},"required":["duration","unit","method"]}},"components/schemas/SchedulingMethodImmediately":{"id":"components/schemas/SchedulingMethodImmediately","kind":"json-schema","title":"SchedulingMethodImmediately","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["immediately"]}}}},"components/schemas/SchedulingMethodIntelligent":{"id":"components/schemas/SchedulingMethodIntelligent","kind":"json-schema","title":"SchedulingMethodIntelligent","data":{"type":"object","properties":{"method":{"type":"string","enum":["intelligent"]},"duration":{"type":"integer","description":"Latest point in time at which the event should occur.\nThe event occurs at a random time between the initial time and duration time.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}},"required":["duration","unit","method"]}},"components/schemas/InvoiceRetryScheduleInstruction":{"id":"components/schemas/InvoiceRetryScheduleInstruction","kind":"json-schema","title":"InvoiceRetryScheduleInstruction","data":{"type":"object","description":"Specifies when the payment retry instruction is performed.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]}},"components/schemas/AmountAdjustmentPoliciesNone":{"id":"components/schemas/AmountAdjustmentPoliciesNone","kind":"json-schema","title":"None","data":{"title":"None","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"],"description":"No payment amount adjustment."}}}},"components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining":{"id":"components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining","kind":"json-schema","title":"Discount remaining amount","data":{"title":"Discount remaining amount","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["discount-amount-remaining"],"description":"Discount the remaining amount on the invoice."}}}},"components/schemas/AmountAdjustmentInstructionPartial":{"id":"components/schemas/AmountAdjustmentInstructionPartial","kind":"json-schema","title":"AmountAdjustmentInstructionPartial","data":{"type":"object","required":["method","value","type"],"properties":{"method":{"type":"string","enum":["partial"]},"value":{"description":"Amount of the payment.","type":"number","format":"float"},"type":{"description":"Payment amount type.","type":"string","enum":["percent","fixed"]},"afterApprovalPolicy":{"description":"After an approved payment retry for an adjusted amount, this field specifies whether to discount the remaining invoice amount.","discriminator":{"propertyName":"method","mapping":{"none":"#/components/schemas/AmountAdjustmentPoliciesNone","discount-amount-remaining":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentPoliciesNone"},{"$ref":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}]}}}},"components/schemas/AmountAdjustmentInstructionNone":{"id":"components/schemas/AmountAdjustmentInstructionNone","kind":"json-schema","title":"AmountAdjustmentInstructionNone","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"]}}}},"components/schemas/InvoiceRetryAmountAdjustmentInstruction":{"id":"components/schemas/InvoiceRetryAmountAdjustmentInstruction","kind":"json-schema","title":"InvoiceRetryAmountAdjustmentInstruction","data":{"type":"object","description":"Specifies if the payment amount must be adjusted for the retry.","discriminator":{"propertyName":"method","mapping":{"partial":"#/components/schemas/AmountAdjustmentInstructionPartial","none":"#/components/schemas/AmountAdjustmentInstructionNone"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentInstructionPartial"},{"$ref":"#/components/schemas/AmountAdjustmentInstructionNone"}]}},"components/schemas/Invoice":{"id":"components/schemas/Invoice","kind":"json-schema","title":"Invoice","data":{"required":["customerId","currency","websiteId"],"properties":{"id":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"invoiceNumber":{"description":"Auto-incrementing number based on the sequence of invoices for any particular customer.","readOnly":true,"type":"integer","x-basic":true},"orderId":{"description":"ID of the order (experimental).","readOnly":true,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC","type":["string","null"]},"subscriptionId":{"type":"string","description":"ID of the related subscription order, if available.\nThis field is `null` if there are no related subscription orders.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"quoteId":{"type":["string","null"],"description":"ID of the related quote, if available.\nThis field is `null` if there are no related quotes.","readOnly":true,"maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"organizationTaxIdNumber":{"description":"Organization tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"customerTaxIdNumber":{"description":"Customer tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"billingAddress":{"description":"Billing address of the invoice.\nAfter the first payment is made for an invoice, this value cannot be changed.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456","maxLength":50},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string","maxLength":65535},"items":{"type":"array","description":"Invoice items array.","readOnly":true,"items":{"$ref":"#/components/schemas/InvoiceItem"}},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"autopayScheduledTime":{"description":"Date and time when an automatic payment (autopay) is scheduled.","type":["string","null"],"x-sortable":true,"format":"date-time"},"autopayRetryNumber":{"description":"Number of times that an automatic payment (autopay) has been attempted on an invoice.","readOnly":true,"type":"integer","x-sortable":true,"minimum":0,"default":0},"status":{"type":"string","description":"Status of the invoice.","x-basic":true,"readOnly":true,"enum":["draft","quotation","unpaid","paid","partially-paid","past-due","abandoned","voided","partially-refunded","refunded","disputed"]},"delinquentCollectionPeriod":{"type":"integer","description":"Length of time, in days, between when the invoice is due and when the invoice is paid.","x-sortable":true,"readOnly":true},"collectionPeriod":{"type":"integer","x-sortable":true,"description":"Length of time, in days, between when the invoice is issued and when the invoice is paid.","readOnly":true},"abandonedTime":{"description":"Date and time when the invoice is abandoned.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidedTime":{"description":"Date and time when the invoice is voided.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"paidTime":{"x-label":"Payment Date","x-sortable":true,"x-basic":true,"description":"Date and time when the invoice is paid.","type":["string","null"],"format":"date-time","readOnly":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"paymentFormUrl":{"type":["string","null"],"readOnly":true,"format":"uri","description":"URL where the customer is redirected to pay the invoice\nusing one of the methods which are available to the customer.\nThis is an alternative to creating a new transaction with empty\n`methods`."},"creditMemoAllocations":{"type":"array","description":"Credit memo allocations to an invoice.","readOnly":true,"items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"transactions":{"type":"array","description":"Up to 10 of the most recent transactions for the invoice.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","maxItems":10,"readOnly":true,"items":{"$ref":"#/components/schemas/Transaction"}},"retryInstruction":{"description":"Invoice payment retry instruction.\nThis object specifies how to proceed if a payment related to the invoice fails.","type":["object","null"],"properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Describes the action to take when a payment attempt concludes, and payment is not collected.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Describes the action to take when all scheduled payment retries, in a retry instruction, have concluded and payment is not collected.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies"]},"revision":{"description":"Number of times the invoice data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"type":{"description":"Type of invoice.","type":"string","enum":["initial","renewal","interim","cancellation","one-time","refund","charge","one-time-sale"],"readOnly":true},"dueReminderTime":{"description":"Date and time when a past due reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"dueReminderNumber":{"description":"Number of past due reminder events that have been triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"delinquencyTime":{"description":"Date and time when the related order is considered delinquent, and is canceled.\nIf this value is `null`, no delinquency time is configured.\nIf the `dueTime` of the order becomes greater than the `delinquencyTime` value,\nthe `delinquencyTime` value becomes equal to `dueTime`.\n\nIf an invoice is not related to an order, this field can only be `null`.","type":["string","null"],"format":"date-time","default":null},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","attachments","leadSource","transactionAllocations","recalculateInvoice","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"}}}}}},"components/schemas/InvoiceIssue":{"id":"components/schemas/InvoiceIssue","kind":"json-schema","title":"InvoiceIssue","data":{"type":"object","properties":{"issuedTime":{"description":"Date and time when the invoice is issued.\nIf this field is `null` or omitted, the invoice is issued immediately.","type":["string","null"],"format":"date-time"},"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the `issuedTime` value.","type":["string","null"],"format":"date-time"}}}},"components/schemas/InvoiceReissue":{"id":"components/schemas/InvoiceReissue","kind":"json-schema","title":"InvoiceReissue","data":{"type":"object","properties":{"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the current date-time.","type":["string","null"],"format":"date-time"}}}},"components/schemas/InvoiceTransactionAllocation":{"id":"components/schemas/InvoiceTransactionAllocation","kind":"json-schema","title":"InvoiceTransactionAllocation","data":{"type":"object","properties":{"invoiceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"amount":{"type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["invoice","transaction"]}}}}}}},"components/schemas/InvoiceCreditMemoAllocationRequest":{"id":"components/schemas/InvoiceCreditMemoAllocationRequest","kind":"json-schema","title":"InvoiceCreditMemoAllocationRequest","data":{"type":"object","description":"Allocation request settings.\nCredit memo IDs are not accepted and are selected automatically by the system.","properties":{"amount":{"type":"number","format":"double","exclusiveMinimum":0,"description":"Optional maximum amount to allocate from customer credit memos to the invoice.\nIf provided, allocation is capped at this value.\nIf omitted, the allocated amount is the lesser of:\n- Invoice unpaid amount.\n- Available allocatable credit memo balance."},"allocationOrder":{"type":"string","description":"Credit memo application order.","enum":["oldest-first","newest-first"],"x-enumDescriptions":{"oldest-first":"Applies oldest allocatable credit memos first.","newest-first":"Applies newest allocatable credit memos first."},"default":"oldest-first"}}}},"components/schemas/InvoiceAppliedCreditMemoAllocation":{"id":"components/schemas/InvoiceAppliedCreditMemoAllocation","kind":"json-schema","title":"InvoiceAppliedCreditMemoAllocation","data":{"type":"object","required":["creditMemoId","amount"],"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"amount":{"description":"Amount allocated from the credit memo to the invoice.","type":"number","format":"double"}}}},"components/schemas/InvoiceCreditMemoAllocationResponse":{"id":"components/schemas/InvoiceCreditMemoAllocationResponse","kind":"json-schema","title":"InvoiceCreditMemoAllocationResponse","data":{"type":"object","required":["invoiceId","currency","appliedCreditMemos","remainingInvoiceAmount"],"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}]},"appliedCreditMemos":{"type":"array","readOnly":true,"description":"List of credit memos applied to the invoice and the amount allocated from each.","items":{"$ref":"#/components/schemas/InvoiceAppliedCreditMemoAllocation"}},"remainingInvoiceAmount":{"description":"Remaining amount due on the invoice after credit memo allocation.","type":"number","readOnly":true,"format":"double"}}}},"components/schemas/InvoiceTimeline":{"id":"components/schemas/InvoiceTimeline","kind":"json-schema","title":"InvoiceTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-restored","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","quickbooks-credit-memo-created","quickbooks-credit-memo-voided","quickbooks-invoice-created","quickbooks-invoice-task-failed","quickbooks-invoice-updated","quickbooks-invoice-voided","quickbooks-revenue-recognition-created","timeline-comment-created","transaction-abandoned","transaction-approved","transaction-canceled","transaction-declined","transaction-initiated","transaction-partially-refunded","transaction-refunded","transaction-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Describes the message details.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CreditMemoTaxItem":{"id":"components/schemas/CreditMemoTaxItem","kind":"json-schema","title":"CreditMemoTaxItem","data":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double"},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double"},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double"},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double"},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double"},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US"},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA"},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES"},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES"}}}}}},"components/schemas/CreditMemo":{"id":"components/schemas/CreditMemo","kind":"json-schema","title":"CreditMemo","data":{"type":"object","description":"Credit memo object.","required":["customerId","currency"],"properties":{"id":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"number":{"description":"Auto-incrementing number based on the sequence of credit memos for any particular customer.","readOnly":true,"type":"integer"},"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"status":{"type":"string","description":"Status of the credit memo.","readOnly":true,"enum":["draft","quotation","issued","applied","partially-applied","voided"],"x-enumDescriptions":{"draft":"Credit memo is in process of being created.\nThe full amount of the credit memo is unused, and the customer has not seen it yet.","quotation":"Credit memo is associated with a quote.\nIf the customer approves the quotation, the credit memo changes to the `issued` state.","issued":"Credit memo is available with a full amount to be applied.","applied":"The full amount of the credit memo has been applied.\nNo more credit can be created from it.","partially-applied":"A partial amount of the credit memo has been applied.\nA credit can be created from the remaining amount.","voided":"Credit memo has been voided and cannot be used anymore."}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"},"taxAmount":{"description":"Sum of items tax amount of an invoice to credit.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"totalAmount":{"description":"Total amount of all credits in the credit memo, including items, shipping, and tax.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"unusedAmount":{"description":"Unused credit memo amount that has not been allocated.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"revision":{"type":"integer","readOnly":true,"description":"Number of times the credit memo has been modified."},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which the credit memo is issued.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"quoteId":{"type":["string","null"],"description":"ID of the related quote.","readOnly":true,"maxLength":50,"example":"qt_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"type":["string","null"],"description":"ID of the transaction associated with the credit memo.\nAssociating a transaction does not change the unused amount of the credit memo.\nThe transaction must be approved and associated with the same customer as the credit memo.\nApproved transactions of any type are accepted, including refunds and voided sales.\nIf the transaction result changes later, the association is retained.\nIf this field is omitted in an update request and `customerId` is not changed, this field retains its current value.\nIf this field is omitted and `customerId` is changed, the transaction is removed from the credit memo.\nTo remove the transaction from the credit memo, set this field to `null`.","maxLength":50,"example":"txn_0YVDTQJ8YKC82BP14NE2R7V2XT"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PatchCreditMemoRequest":{"id":"components/schemas/PatchCreditMemoRequest","kind":"json-schema","title":"PatchCreditMemoRequest","data":{"type":"object","description":"Patch credit memo object.","properties":{"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"}}}},"components/schemas/CreditMemoTimeline":{"id":"components/schemas/CreditMemoTimeline","kind":"json-schema","title":"CreditMemoTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["credit-memo-created","credit-memo-applied","credit-memo-partially-applied","credit-memo-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Content of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalAccount":{"id":"components/schemas/JournalAccount","kind":"json-schema","title":"JournalAccount","data":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the journal account.","readOnly":true,"maxLength":50,"example":"jrn_acc_0YVCXS791DD8JAK1WV3VHM70ZQ"},"name":{"type":"string","description":"Name of the journal account.","example":"Unearned revenue"},"description":{"type":["string","null"]},"createdTime":{"description":"Date and time when the journal record is created.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalEntry":{"id":"components/schemas/JournalEntry","kind":"json-schema","title":"JournalEntry","data":{"type":"object","required":["period","currency"],"properties":{"id":{"type":"string","description":"ID of the journal entry.","readOnly":true,"maxLength":50,"example":"jrn_ent_0YVCXSFCF2DJX99NBBSJCEVETB"},"period":{"type":"object","properties":{"startDate":{"type":"string","format":"date","example":"2022-09-01"},"endDate":{"type":"string","format":"date","example":"2022-09-30"}}},"label":{"type":"string","description":"Custom label that can be used to filter entries.\nAnnual orders are created with the label **Annual**.\nMonthly orders are created with the label **Monthly**.","maxLength":255,"default":"monthly"},"currency":{"description":"Currency of the journal record revenue.","$ref":"#/components/schemas/CurrencyCode"},"description":{"type":"string"},"totalRecognizedAmount":{"description":"Total amount of all revenue recognized at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"totalEstimatedAmount":{"description":"Total amount of all revenue estimated at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalRecord":{"id":"components/schemas/JournalRecord","kind":"json-schema","title":"JournalRecord","data":{"type":"object","required":["journalEntryId","invoiceItemId","debitAccountId","creditAccountId"],"properties":{"id":{"type":"string","description":"Unique resource ID.","readOnly":true,"maxLength":50,"example":"jrn_rec_0YVCXV2HE5DBT89QV7RXSJEZQ4"},"journalEntryId":{"description":"ID of the journal entry.","type":"string","maxLength":50,"example":"jrn_ent_01JXJ8EF9WVR0W187QZ6WF5703"},"customerId":{"description":"ID of the customer.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","readOnly":true},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT","readOnly":true},"invoiceItemId":{"type":"string","description":"ID of the invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"type":"string","readOnly":true,"enum":["automated","manual"]},"estimatedAmount":{"description":"Amount of revenue estimated to be recognized at the schedule date.\nThis value is ignored when updating a journal record with a `type` of `automated`.","type":["number","null"],"format":"double"},"recognizedAmount":{"description":"Amount of revenue recognized at the journal period end.","type":["number","null"],"format":"double"},"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8S97PTMYX8W01SQ72FSWC"},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8RW7AWMVAH7DP3VXYQC1W"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"invoice":{"type":"object"},"invoiceItem":{"type":"object"},"debitAccount":{"type":"object"},"creditAccount":{"type":"object"},"journalEntry":{"type":"object"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice","invoiceItem","journalEntry","creditAccount","debitAccount"]}}}}}}},"components/schemas/KycDocumentTypes":{"id":"components/schemas/KycDocumentTypes","kind":"json-schema","title":"KycDocumentTypes","data":{"type":"string","enum":["identity-proof","address-proof","funds-proof","purchase-proof","credit-file-proof"]}},"components/schemas/KycDocumentSubtypes":{"id":"components/schemas/KycDocumentSubtypes","kind":"json-schema","title":"KycDocumentSubtypes","data":{"type":["string","null"],"enum":["passport","id-card","driver-license","birth-certificate","utility-bill","rental-receipt","lease-agreement","copy-credit-card","credit-card-statement","bank-statement","inheritance-documentation","tax-return","salary-slip","sale-of-assets","public-health-card","proof-of-age-card","reverse-of-id","public-service","ewallet-holder-details","ewallet-transaction-statement","marriage-certificate","firearms-license","insurance-letter","income-statement","debtors-letter","other",null]}},"components/schemas/KycRequestDocument":{"id":"components/schemas/KycRequestDocument","kind":"json-schema","title":"KycRequestDocument","data":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of document to request from the customer.","$ref":"#/components/schemas/KycDocumentTypes"},"subtypes":{"description":"Permitted document subtype.","type":["array","null"],"items":{"$ref":"#/components/schemas/KycDocumentSubtypes"}},"maxAttempts":{"description":"Total number of allowed document upload attempts.\nUse `0` to allow unlimited upload attempts.","type":"integer","default":3,"minimum":0,"maximum":100},"faceProofRequired":{"description":"Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document.","type":"boolean"},"faceLivenessRequired":{"description":"Specifies if the customer must use the face liveness feature when uploading a selfie.\nFor more information, see [Facial recognition and identity verification](https://www.rebilly.com/docs/kyc-and-aml/kyc#facial-recognition-identity-verification).","type":"boolean"}}}},"components/schemas/KycDocumentMatchLevels":{"id":"components/schemas/KycDocumentMatchLevels","kind":"json-schema","title":"KycDocumentMatchLevels","data":{"description":"Document verification level.","type":"integer","enum":[1,2,3],"default":2,"x-enumDescriptions":{"1":"Moderate verification requirements. This option is used for sale transactions.","2":"Strict verification requirements. This option is used for credit transactions.","3":"Basic verification requirements. This option is used when a high level of verification is not required."}}},"components/schemas/KycRequest":{"id":"components/schemas/KycRequest","kind":"json-schema","title":"KycRequest","data":{"type":"object","description":"KYC request information.","required":["customerId","documents"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["gathering","attempted","partial","pending-review","fulfilled","failed","abandoned","expired"],"x-enumDescriptions":{"gathering":"No documents have been provided yet.\nThis is a temporary state.","attempted":"At least one document has been provided but none were assigned the `accepted` status.\nThis is a temporary state.","partial":"At least one requested document has the `accepted` status,\nbut not all requested documents have been assigned the `accepted` status.\nThis is a temporary state.","pending-review":"At least one requested document has the `pending` status,\nand no requested documents have been assigned the `accepted` status.\nThis is a temporary state, until the document is reviewed,\nor another `accepted` document is provided.","fulfilled":"All requested documents are provided and have been assigned the `accepted` status.\nThis is a permanent state.","failed":"At least one requested document has exhausted all attempts,\nand has not been assigned a `accepted`, `pending`, or `in-progress` status.\nThis is a permanent state.","abandoned":"One or more documents provided but the request expired.\nThis is a permanent state.","expired":"No documents were provided and the request expired.\nThis is a permanent state."}},"redirectUrl":{"description":"URL where the customer is redirected when a KYC document upload is complete.\nWhen the customer is redirected,\nRebilly appends an `info` query parameter that has one of the following values:\n  - `back`: Customer clicked the `back to website` link.\n  - `token_expired`: Customer's token expired.\n  - `success`: Customer uploaded KYC documents that have been analyzed.\n  - `manual`: Customer uploaded KYC documents that require a manual review.\n    This is because the analyzer rejected the documents or could not process them.\n  - `partial`: Some of the customer's KYC documents have been analyzed,\n    but other documents have not.\n    For example, this may occur when a proof of address document is analyzed but proof of ID is not.\n\nExample: `https://example.com?info=success`.","type":["string","null"],"format":"uri"},"reason":{"description":"Reason for uploading.","example":"spend limit","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC request data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"expirationTime":{"description":"Date and time when the request expires.\nThe default value is one hour in the future.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","documents","gatherer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"documents":{"type":"array"}}}}}},"components/schemas/KycDocumentRejectionReasonTypes":{"id":"components/schemas/KycDocumentRejectionReasonTypes","kind":"json-schema","title":"KycDocumentRejectionReasonTypes","data":{"description":"Reason the document is rejected.","type":"string","enum":["document-unreadable","document-expired","document-was-valid-but-expired","document-not-matching","document-duplicate","document-invalid","document-not-open","underage-person","third-party-or-mismatch","expiration-date-missing","issue-date-missing","subtype-missing","dob-mismatch","name-mismatch","name-and-dob-mismatch","critical-info-missing","old-address-on-id","tampered-document","no-document-data-detected","other"]}},"components/schemas/KycDocumentRejection":{"id":"components/schemas/KycDocumentRejection","kind":"json-schema","title":"KycDocumentRejection","data":{"description":"Reason the document is rejected.","type":["object","null"],"required":["type"],"readOnly":true,"properties":{"type":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"message":{"description":"KYC document rejection message.","type":"string","maxLength":255,"example":"Provided document is unreadable"}}}},"components/schemas/KycDocumentMatchesVersion":{"id":"components/schemas/KycDocumentMatchesVersion","kind":"json-schema","title":"KycDocumentMatchesVersion","data":{"type":"string","description":"Version of the document matches.","readOnly":true,"example":"2.0"}},"components/schemas/KycDocumentMatchesScore":{"id":"components/schemas/KycDocumentMatchesScore","kind":"json-schema","title":"KycDocumentMatchesScore","data":{"type":"integer","description":"Calculated score that represents the percentage of confidence that this ID document represents the customer.","minimum":0,"maximum":100,"example":75}},"components/schemas/KycDocumentCheck":{"id":"components/schemas/KycDocumentCheck","kind":"json-schema","title":"KycDocumentCheck","data":{"type":"object","description":"Result of an executed document check during KYC verification.","properties":{"name":{"description":"Name of the document check.","type":"string","enum":["city","containsImage","date","dateIsInvalid","dateOfBirth","decision","documentNumber","documentSubtype","expirationDate","firstName","hasMatchingFaceProof","hasMinimalAge","isIdentityDocument","isPublishedOnline","isTampered","issuanceCountry","issuanceRegion","issueDate","lastName","line1","matchesDateOfBirth","phone","postalCode","region"]},"failed":{"description":"Specifies if a document check has failed.\nWhen a check fails,\nthe score value associated with the check is subtracted from the overall score of the proof document.\nThe overall score together with accept and reject thresholds determine whether an proof document passes or fails verification.\nFor more information, see [KYC](https://www.rebilly.com/docs/kyc-and-aml/kyc).","type":"boolean","example":true},"score":{"type":"integer","description":"Specifies the number of points to deduct from the proof document when a check fails during the verification process.","minimum":0,"maximum":100,"example":75},"reason":{"description":"Specifies the reason why the KYC check failed.","type":["string","null"],"example":"closed_eyes"}}}},"components/schemas/KycDocumentCheckList":{"id":"components/schemas/KycDocumentCheckList","kind":"json-schema","title":"KycDocumentCheckList","data":{"type":["array","null"],"description":"List of checks executed against the document during KYC verification.","items":{"$ref":"#/components/schemas/KycDocumentCheck"}}},"components/schemas/KycIdentityMatches":{"id":"components/schemas/KycIdentityMatches","kind":"json-schema","title":"KycIdentityMatches","data":{"type":"object","description":"Matched identity data.","properties":{"containsImage":{"description":"Specifies if the document includes an image that contains a face.","type":"boolean","example":true},"isIdentityDocument":{"description":"Specifies if the document resembles an ID.","type":"boolean","example":true},"isPublishedOnline":{"description":"Specifies if an exact match of the document has been found online.","type":"boolean","example":false},"matchingImages":{"description":"URLs where matching images have been found online.","type":"array","readOnly":true,"maxItems":3,"items":{"type":"string"}},"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"dateOfBirth":{"description":"Date of birth detected on the document.\nThis value is null if no match is detected.","type":["string","null"],"format":"date-time"},"expirationDate":{"description":"Expiration date detected on the document.\nThis value is null if no expiration date is detected.","type":["string","null"],"format":"date-time"},"issueDate":{"description":"Issue date detected on the document.\nThis value is null if no issue date is detected.","type":["string","null"],"format":"date-time"},"hasMinimalAge":{"description":"Specifies that the individual is older than the minimal age limit.\nThe minimal age is 21+ the for USA and 18+ for all other countries.\nThis value is null if `dateOfBirth` is not determined.","type":["boolean","null"],"readOnly":true,"example":true},"nationality":{"description":"Nationality detected on a passport or citizenship document.\nThis value is null if no nationality is detected.","type":["string","null"],"example":"US","maxLength":3},"issuanceCountry":{"description":"Country that issued the document.","type":["string","null"],"example":"CA","minLength":2,"maxLength":2},"issuanceRegion":{"description":"Region, state, province, or territory that issued the document.","type":["string","null"],"example":"Ontario"},"documentNumber":{"description":"Unique number on the identity document.\nThis value may contain alphanumeric characters.","type":["string","null"],"example":"1234567890"},"sex":{"description":"MRZ sex code (ICAO 9303).\n`M`, `F`, or `X`.\nNull if not extracted.","type":["string","null"],"pattern":"^[MFX]$","example":"M"},"mrzChecksumValid":{"description":"MRZ check digits validation.\nNull if there is no MRZ, no check data, or a non-standard layout.","type":["boolean","null"],"readOnly":true,"example":true},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"hasMatchingFaceProof":{"description":"Specifies if an identity document has matching face proof.","type":"boolean","example":false},"isTampered":{"description":"Specifies if an identity document has been tampered with.","type":"boolean","example":false},"isDigitallyTampered":{"description":"Specifies if an identity document has been digitally tampered with (experimental).","type":"boolean","example":false},"isPhotocopy":{"description":"Specifies if an identity document is detected as a photocopy.","type":"boolean","example":false},"hasCompletedFaceLiveness":{"description":"Specifies if the face liveness session completed.","type":"boolean","readOnly":true,"example":false},"faceProofBrightness":{"description":"Brightness of the lighting in the detected face area of the face proof image, on a scale from `0` to `100`.\nA higher value indicates brighter lighting.\nThis value is `null` if no face proof is compared with the document.","type":["number","null"],"minimum":0,"maximum":100,"readOnly":true,"example":72.5},"expiryDate":{"description":"Use `expirationDate` field instead.","type":["string","null"],"format":"date-time","deprecated":true}}}},"components/schemas/KycSettingsIdentity":{"id":"components/schemas/KycSettingsIdentity","kind":"json-schema","title":"KycSettingsIdentity","data":{"type":"object","description":"Identity proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"containsImage":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not include an image that contains a face."},"isIdentityDocument":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not resemble an ID."},"isPublishedOnline":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an exact match of the document is not found online."},"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"expirationDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an expiration date is not detected on the document."},"dateOfBirth":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date of birth is not detected on the document, or if the date of birth detected on the document is not matched."},"issueDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an issue date is not detected on the document."},"hasMinimalAge":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not verify the minimal age limit.\nMinimal age is 21+ the for USA and 18+ for all other countries."},"hasMatchingFaceProof":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an identity document does not have matching face proof."},"nationality":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a nationality is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."},"isPhotocopy":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is detected as a photocopy."},"mrzChecksum":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added when MRZ check digits fail validation."},"documentNumber":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a document number is not detected on the document."},"issuanceCountry":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the country that issued the document is not detected."},"issuanceRegion":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the region, state, province, or territory that issued the document is not detected."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}},"minimumAgeSettings":{"type":"object","description":"Minimum age settings for identity proof documents.","properties":{"defaultMinimumAge":{"type":"integer","minimum":1,"maximum":100,"description":"Default minimum age requirement for identity proof documents.\nThis is used when no location-specific override is configured.","default":18},"locationOverrides":{"type":"array","description":"Location-specific minimum age.\nEach item specifies a minimum age for a specific location.\nFor country-wide rules, omit the state field.\nFor state-specific rules, include the state field.","items":{"type":"object","required":["country","minimumAge"],"properties":{"country":{"type":"string","description":"Country code in ISO 3166 alpha-2 format.","pattern":"^[A-Z]{2}$","example":"US"},"state":{"type":"string","description":"Name or code of the state or region.","maxLength":45,"example":"AZ"},"minimumAge":{"type":"integer","description":"Minimum age requirement for this location.","minimum":1,"maximum":100,"example":21}}},"example":[{"country":"US","minimumAge":21},{"country":"US","state":"AL","minimumAge":19}]}}},"faceProofSettings":{"type":"object","description":"Quality requirements for the face proof image of an identity proof document.","properties":{"minimumBrightness":{"type":"integer","minimum":0,"maximum":100,"default":40,"description":"Minimum brightness of the lighting in the detected face area of the face proof image.\nThe brightness scale ranges from `0` to `100`.\nA higher value indicates brighter lighting.\nIf the detected brightness is below this value,\nthe `hasMatchingFaceProof` check fails with the `face_match_low_brightness` reason.\nUse `0` to disable the brightness requirement."}}}}}},"components/schemas/ProofOfIdentityKycDocument":{"id":"components/schemas/ProofOfIdentityKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of identity document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsIdentity"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/KycAddressMatches":{"id":"components/schemas/KycAddressMatches","kind":"json-schema","title":"KycAddressMatches","data":{"type":"object","description":"Matched address data.","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"line1":{"description":"Address of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"36 Craven St"},"city":{"description":"Customer's city of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"region":{"description":"Customer's region of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"postalCode":{"description":"Postal code of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"WC2N 5NF"},"wordCount":{"description":"Total number of words in the document.","type":"integer","example":350},"uniqueWords":{"description":"Total number of unique words in the document.","type":"integer","example":175},"date":{"description":"Date detected on the document.\nUse this field to determine if the document is recent.","type":["string","null"],"format":"date-time","example":"2021-01-01T00:00:00+00:00"},"phone":{"description":"Phone number of the company or agency that issued the document.","type":["string","null"],"example":"(123) 456-7890"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"isTampered":{"description":"Specifies if an address proof document has been tampered with.","type":"boolean","example":false}}}},"components/schemas/KycSettingsAddress":{"id":"components/schemas/KycSettingsAddress","kind":"json-schema","title":"KycSettingsAddress","data":{"type":"object","description":"Address proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"line1":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's address is not matched."},"city":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's city is not matched."},"region":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's region is not matched."},"postalCode":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's postal code is not matched."},"date":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date is not detected on the document."},"phone":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a phone number is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}}}}},"components/schemas/ProofOfAddressKycDocument":{"id":"components/schemas/ProofOfAddressKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsAddress"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/FundsMatches":{"id":"components/schemas/FundsMatches","kind":"json-schema","title":"FundsMatches","data":{"type":"object","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}}},"components/schemas/ProofOfFundsKycDocument":{"id":"components/schemas/ProofOfFundsKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of funds document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/PurchaseMatches":{"id":"components/schemas/PurchaseMatches","kind":"json-schema","title":"PurchaseMatches","data":{"type":"object","properties":{"firstName":{"description":"First name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument related to the document.\nThis value is null if no match is found.","example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}}},"components/schemas/ProofOfPurchaseKycDocument":{"id":"components/schemas/ProofOfPurchaseKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of purchase document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","paymentInstrument"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/CreditFileCommonDecisionData":{"id":"components/schemas/CreditFileCommonDecisionData","kind":"json-schema","title":"CreditFileCommonDecisionData","data":{"readOnly":true,"type":"object","properties":{"lastNameMatch":{"description":"Last name match.","type":"string","readOnly":true,"example":"Y"},"firstNameMatch":{"description":"First name match.","type":"string","readOnly":true,"example":"Y"},"civicNumberMatch":{"description":"Civic number match.","type":"string","readOnly":true,"example":"Y"},"streetNameMatch":{"description":"Street name match.","type":"string","readOnly":true,"example":"Y"},"cityMatch":{"description":"City match.","type":"string","readOnly":true,"example":"Y"},"postalCodeMatch":{"description":"Postal code match.","type":"string","readOnly":true,"example":"Y"},"provinceMatch":{"description":"Province match.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthMatch":{"description":"Date of birth match.","type":"string","readOnly":true,"example":"Y"},"ageOfCreditFileThreeOrMoreYearsOld":{"description":"Age of credit file is three or more years old.","type":"string","readOnly":true,"example":"Y"},"addressAsReported":{"description":"Address as reported.","type":"string","readOnly":true,"example":"Y"},"nameAsReported":{"description":"Name as reported.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthAsReported":{"description":"Date of birth as reported.","type":"string","readOnly":true,"example":"Y"}}}},"components/schemas/CreditFileMatches":{"id":"components/schemas/CreditFileMatches","kind":"json-schema","title":"CreditFileMatches","data":{"type":"object","properties":{"creditBureau":{"description":"Credit bureau from which the credit file data is sourced.","type":"string","readOnly":true,"enum":["equifax","experian","transunion","test-bureau"]},"creditFileNumber":{"description":"Credit file number from the credit bureau.","type":"string","readOnly":true},"name":{"description":"Name of the person to consult about the credit file.","type":"string","readOnly":true},"consultedDate":{"description":"Date to consult with the credit bureau about the credit file.","type":"string","format":"date-time","readOnly":true},"decision":{"description":"Specifies if the credit file is used in a single source, or as part of a dual source, proof of identity decision.","type":"string","enum":["single-source","dual-source","other"],"x-enumDescriptions":{"single-source":"Credit file used as a single source of proof for an identity decisions.","dual-source":"Credit file used as a source of proof where the credit bureau agency found two reliable trade sources.\nAt least two sources are required for a dual-source proof of identity decision.","other":"Credit file cannot be used for KYC decisions."},"readOnly":true},"trades":{"description":"Contains information to support the dual process.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Trade name.","example":"Rogers"},"accountNumber":{"type":"string","example":"123-ABC-123"},"dateOpened":{"type":"string","format":"date"}}},"readOnly":true},"referenceData":{"description":"Extra data from the credit bureau.","readOnly":true,"type":"object","properties":{"singleSourceHit":{"description":"Single source hit.","type":"string","readOnly":true,"example":"Y"},"dualSourceHit":{"description":"Dual source hit.","type":"string","readOnly":true,"example":"Y"},"waterfallProcess":{"description":"Waterfall process.","type":"string","readOnly":true,"example":"Y"},"creditFileCreatedDate":{"description":"Date when the credit file is created.","type":"string","readOnly":true},"numberOfTradesOnFile":{"description":"Number of trades on file.","type":"string","readOnly":true,"example":"001"},"singleDecision":{"description":"Data related to a single source decision.","type":"object","allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]},"dualDecision":{"description":"Data related to a dual source decision.","type":["array","null"],"items":{"allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]}}}}}}},"components/schemas/ProofOfCreditFileKycDocument":{"id":"components/schemas/ProofOfCreditFileKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"description":"Proof of credit document matches.","type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/KycDocument":{"id":"components/schemas/KycDocument","kind":"json-schema","title":"KycDocument","data":{"type":"object","description":"KYC document information.","discriminator":{"propertyName":"documentType","mapping":{"identity-proof":"#/components/schemas/ProofOfIdentityKycDocument","address-proof":"#/components/schemas/ProofOfAddressKycDocument","funds-proof":"#/components/schemas/ProofOfFundsKycDocument","purchase-proof":"#/components/schemas/ProofOfPurchaseKycDocument","credit-file-proof":"#/components/schemas/ProofOfCreditFileKycDocument"}},"oneOf":[{"$ref":"#/components/schemas/ProofOfIdentityKycDocument"},{"$ref":"#/components/schemas/ProofOfAddressKycDocument"},{"$ref":"#/components/schemas/ProofOfFundsKycDocument"},{"$ref":"#/components/schemas/ProofOfPurchaseKycDocument"},{"$ref":"#/components/schemas/ProofOfCreditFileKycDocument"}]}},"components/schemas/KycIdentityMatchesOverwrite":{"id":"components/schemas/KycIdentityMatchesOverwrite","kind":"json-schema","title":"KycIdentityMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting identity KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\n This value identifies the document match type as `identity-proof`.","type":"string","enum":["identity-proof"],"example":"identity-proof"}}},{"$ref":"#/components/schemas/KycIdentityMatches"}]}},"components/schemas/KycAddressMatchesOverwrite":{"id":"components/schemas/KycAddressMatchesOverwrite","kind":"json-schema","title":"KycAddressMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting address KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `address-proof`.","type":"string","enum":["address-proof"],"example":"address-proof"}}},{"$ref":"#/components/schemas/KycAddressMatches"}]}},"components/schemas/KycPurchaseMatchesOverwrite":{"id":"components/schemas/KycPurchaseMatchesOverwrite","kind":"json-schema","title":"KycPurchaseMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting purchase KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `purchase-proof`.","type":"string","enum":["purchase-proof"],"example":"purchase-proof"}}},{"$ref":"#/components/schemas/PurchaseMatches"}]}},"components/schemas/KycFundsMatchesOverwrite":{"id":"components/schemas/KycFundsMatchesOverwrite","kind":"json-schema","title":"KycFundsMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting funds KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `funds-proof`.","type":"string","enum":["funds-proof"],"example":"funds-proof"}}},{"$ref":"#/components/schemas/FundsMatches"}]}},"components/schemas/KycSettings":{"id":"components/schemas/KycSettings","kind":"json-schema","title":"KycSettings","data":{"type":"object","description":"Settings for KYC score calculation.","properties":{"identityProof":{"$ref":"#/components/schemas/KycSettingsIdentity"},"addressProof":{"$ref":"#/components/schemas/KycSettingsAddress"},"uiVersion":{"description":"Version of the KYC document gatherer UI.","type":["string","null"],"enum":["1","2"],"default":"1","x-enumDescriptions":{"1":"Classic design.","2":"Modern design, optimized for the best user experience on both mobile and desktop devices."}}}}},"components/schemas/ResetPasswordToken":{"id":"components/schemas/ResetPasswordToken","kind":"json-schema","title":"ResetPasswordToken","data":{"type":"object","required":["username"],"properties":{"token":{"description":"ID of the token.","type":"string","readOnly":true},"username":{"description":"Username associated with the token.","type":"string"},"credentialId":{"description":"Credential ID associated with the token.","type":"string","readOnly":true},"expiredTime":{"description":"Date and time when the password expires.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentCardBrand":{"id":"components/schemas/PaymentCardBrand","kind":"json-schema","title":"PaymentCardBrand","data":{"description":"Brand of payment card.","type":"string","enum":["Visa","MasterCard","American Express","Discover","Maestro","Solo","Electron","JCB","Voyager","Diners Club","Switch","Laser","China UnionPay","AstroPay Card"]}},"components/schemas/UseAsBackup":{"id":"components/schemas/UseAsBackup","kind":"json-schema","title":"UseAsBackup","data":{"description":"Specifies if this payment instrument can be used as a backup for invoice payment retries.","type":"boolean","default":false}},"components/schemas/LastPaymentTime":{"id":"components/schemas/LastPaymentTime","kind":"json-schema","title":"LastPaymentTime","data":{"description":"Date and time of the last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Payment Time"}},"components/schemas/PaymentCard":{"id":"components/schemas/PaymentCard","kind":"json-schema","title":"Payment card","data":{"type":"object","description":"Payment card information.","title":"Payment card","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["payment-card"]},"status":{"type":"string","description":"Status of the payment instrument.\nAn `active` status means that a payment instrument has been used at least once for an approved transaction.\nTo remove an instrument from use, set this value to `deactivated`.\n\nFor more information, see [`POST /payment-instruments/{id}/deactivation`](https://www.rebilly.com/catalog/all/payment-instruments/postpaymentinstrumentdeactivation).","enum":["active","inactive","expired","deactivated","verification-needed"]},"fingerprint":{"description":"Unique value that is used to identify the payment instrument.\nThis value is generated from the `bin` and the `last4` values.\nThis value contains alphanumeric characters.","type":"string","readOnly":true},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Primary Account Number (PAN).","type":"string","format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the associated Primary Account Number (PAN).","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThis value is only present for payment cards created from digital wallet tokens,\nwhere the FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in the digital wallet transaction.","type":["string","null"],"readOnly":true},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"bankCountry":{"description":"Bank country of the payment instrument.","type":["string","null"],"readOnly":true},"bankName":{"description":"Bank name of the payment instrument.","type":"string","readOnly":true},"isPayoutable":{"description":"Specifies if payouts are supported for cards with this BIN.\nDefaults to `true`.\nThis value is `false` if the BIN does not support payouts.","type":"boolean","readOnly":true},"billingAddress":{"description":"Contact's billing address.","$ref":"#/components/schemas/ContactObject"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"billingPortalUrl":{"description":"URL of the billing portal where the card can be updated.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"expirationReminderTime":{"description":"Date and time when an expiration reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"expirationReminderNumber":{"description":"Number of expiration reminder events that have triggered.","type":["integer","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"digitalWallet":{"readOnly":true,"description":"Digital wallet type.","type":["string","null"],"enum":["Apple Pay","Google Pay","Samsung Pay",null]},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/BankAccount":{"id":"components/schemas/BankAccount","kind":"json-schema","title":"Bank account","data":{"type":"object","title":"Bank account","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["ach"]},"bankName":{"description":"Name of the bank.","type":"string"},"routingNumber":{"description":"Bank routing number.","type":"string"},"accountNumberType":{"description":"Type of bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","default":"BBAN","enum":["BBAN","IBAN"]},"accountType":{"description":"Type of bank account.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":["string","null"]},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"fingerprint":{"description":"Unique value which identifies the bank account.\nThis value contains alphanumeric characters.\nDepending on the type of bank account number,\na bank account fingerprint is generated using one of the following:\n- BBAN: `last4` and `routingNumber` values.\n- IBAN: First 8 characters of the IBAN and the `last4` value.","type":"string","readOnly":true},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true},"status":{"description":"Status of the bank account.","type":"string","readOnly":true,"enum":["active","deactivated"]},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PayPalAccount":{"id":"components/schemas/PayPalAccount","kind":"json-schema","title":"PayPal account","data":{"type":"object","title":"PayPal account","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","enum":["paypal"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"username":{"description":"PayPal username.","type":"string","readOnly":true},"status":{"description":"PayPal account status.","type":"string","readOnly":true,"enum":["inactive","active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/AlternativePaymentMethods":{"id":"components/schemas/AlternativePaymentMethods","kind":"json-schema","title":"AlternativePaymentMethods","data":{"type":"string","description":"Payment method.","enum":["cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Alfa-click","Alipay","AstroPay Card","AstroPay-GO","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Boleto","cash-deposit","CASHlib","CashToCode","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Cupon-de-pagos","cryptocurrency","domestic-cards","Directa24Card","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","Efecty","EPS","ePay.bg","eZeeWallet","FasterPay","Flexepin","Giropay","Gpaysafe","Google Pay","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","instant-bank-transfer","InstantPayments","Interac","Interac-online","Interac-eTransfer","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","loonie","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Bancontact","Bancontact-mobile","MTS","Mollie","MuchBetter","MuchBetterVoucher","Multibanco","Neosurf","Netbanking","Neteller","Nordea-Solo","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-deposit-express","Pagsmile-lottery","PayCash","Payco","Payeer","PaymentAsia-crypto","Paymero","Perfect-money","Piastrix","PIX","PIX-Automatico","plaid-account","PayTabs","Paysafecard","Paysafecash","Pay4Fun","Paynote","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","Resurs","SafetyPay","Samsung Pay","SEPA","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","swift-dbt","Tele2","Terminaly-RF","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","wire","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]}},"components/schemas/AlternativeInstrument":{"id":"components/schemas/AlternativeInstrument","kind":"json-schema","title":"Alternative instrument","data":{"type":"object","title":"Alternative instrument","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck"]}}]},"billingAddress":{"description":"Billing address of the user that is associated with the payment instrument.","$ref":"#/components/schemas/ContactObject"},"status":{"description":"Payment instrument status.","type":"string","readOnly":true,"enum":["active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PaymentInstrument":{"id":"components/schemas/PaymentInstrument","kind":"json-schema","title":"PaymentInstrument","data":{"discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCard","ach":"#/components/schemas/BankAccount","paypal":"#/components/schemas/PayPalAccount","Khelocard":"#/components/schemas/AlternativeInstrument","cash":"#/components/schemas/AlternativeInstrument","check":"#/components/schemas/AlternativeInstrument","AdvCash":"#/components/schemas/AlternativeInstrument","Alfa-click":"#/components/schemas/AlternativeInstrument","Alipay":"#/components/schemas/AlternativeInstrument","AstroPay Card":"#/components/schemas/AlternativeInstrument","AstroPay-GO":"#/components/schemas/AlternativeInstrument","BankReferenced":"#/components/schemas/AlternativeInstrument","bank-transfer":"#/components/schemas/AlternativeInstrument","bank-transfer-2":"#/components/schemas/AlternativeInstrument","bank-transfer-3":"#/components/schemas/AlternativeInstrument","bank-transfer-4":"#/components/schemas/AlternativeInstrument","bank-transfer-5":"#/components/schemas/AlternativeInstrument","bank-transfer-6":"#/components/schemas/AlternativeInstrument","bank-transfer-7":"#/components/schemas/AlternativeInstrument","bank-transfer-8":"#/components/schemas/AlternativeInstrument","bank-transfer-9":"#/components/schemas/AlternativeInstrument","Baloto":"#/components/schemas/AlternativeInstrument","Beeline":"#/components/schemas/AlternativeInstrument","Belfius-direct-net":"#/components/schemas/AlternativeInstrument","bitcoin":"#/components/schemas/AlternativeInstrument","Bizum":"#/components/schemas/AlternativeInstrument","Boleto":"#/components/schemas/AlternativeInstrument","cash-deposit":"#/components/schemas/AlternativeInstrument","CASHlib":"#/components/schemas/AlternativeInstrument","CashToCode":"#/components/schemas/AlternativeInstrument","China UnionPay":"#/components/schemas/AlternativeInstrument","Cleo":"#/components/schemas/AlternativeInstrument","CODVoucher":"#/components/schemas/AlternativeInstrument","Conekta-oxxo":"#/components/schemas/AlternativeInstrument","Cupon-de-pagos":"#/components/schemas/AlternativeInstrument","cryptocurrency":"#/components/schemas/AlternativeInstrument","domestic-cards":"#/components/schemas/AlternativeInstrument","ecoPayz":"#/components/schemas/AlternativeInstrument","ecoVoucher":"#/components/schemas/AlternativeInstrument","Efecty":"#/components/schemas/AlternativeInstrument","EPS":"#/components/schemas/AlternativeInstrument","ePay.bg":"#/components/schemas/AlternativeInstrument","eZeeWallet":"#/components/schemas/AlternativeInstrument","FasterPay":"#/components/schemas/AlternativeInstrument","Flexepin":"#/components/schemas/AlternativeInstrument","Giropay":"#/components/schemas/AlternativeInstrument","Gpaysafe":"#/components/schemas/AlternativeInstrument","Google Pay":"#/components/schemas/AlternativeInstrument","iDebit":"#/components/schemas/AlternativeInstrument","iDEAL":"#/components/schemas/AlternativeInstrument","ING-homepay":"#/components/schemas/AlternativeInstrument","INOVAPAY-pin":"#/components/schemas/AlternativeInstrument","INOVAPAY-wallet":"#/components/schemas/AlternativeInstrument","InstaDebit":"#/components/schemas/AlternativeInstrument","instant-bank-transfer":"#/components/schemas/AlternativeInstrument","InstantPayments":"#/components/schemas/AlternativeInstrument","Interac":"#/components/schemas/AlternativeInstrument","Interac-online":"#/components/schemas/AlternativeInstrument","Interac-eTransfer":"#/components/schemas/AlternativeInstrument","invoice":"#/components/schemas/AlternativeInstrument","iWallet":"#/components/schemas/AlternativeInstrument","Jeton":"#/components/schemas/AlternativeInstrument","jpay":"#/components/schemas/AlternativeInstrument","Klarna":"#/components/schemas/AlternativeInstrument","KNOT":"#/components/schemas/AlternativeInstrument","loonie":"#/components/schemas/AlternativeInstrument","Matrix":"#/components/schemas/AlternativeInstrument","MaxiCash":"#/components/schemas/AlternativeInstrument","Megafon":"#/components/schemas/AlternativeInstrument","MiFinity-eWallet":"#/components/schemas/AlternativeInstrument","miscellaneous":"#/components/schemas/AlternativeInstrument","Bancontact":"#/components/schemas/AlternativeInstrument","Bancontact-mobile":"#/components/schemas/AlternativeInstrument","MTS":"#/components/schemas/AlternativeInstrument","MuchBetter":"#/components/schemas/AlternativeInstrument","Multibanco":"#/components/schemas/AlternativeInstrument","Neosurf":"#/components/schemas/AlternativeInstrument","Netbanking":"#/components/schemas/AlternativeInstrument","Neteller":"#/components/schemas/AlternativeInstrument","Nordea-Solo":"#/components/schemas/AlternativeInstrument","OchaPay":"#/components/schemas/AlternativeInstrument","online-bank-transfer":"#/components/schemas/AlternativeInstrument","Onlineueberweisen":"#/components/schemas/AlternativeInstrument","oriental-wallet":"#/components/schemas/AlternativeInstrument","OXXO":"#/components/schemas/AlternativeInstrument","P24":"#/components/schemas/AlternativeInstrument","Pagadito":"#/components/schemas/AlternativeInstrument","PagoEffectivo":"#/components/schemas/AlternativeInstrument","Pagsmile-deposit-express":"#/components/schemas/AlternativeInstrument","Pagsmile-lottery":"#/components/schemas/AlternativeInstrument","PayCash":"#/components/schemas/AlternativeInstrument","Payeer":"#/components/schemas/AlternativeInstrument","PaymentAsia-crypto":"#/components/schemas/AlternativeInstrument","Paymero":"#/components/schemas/AlternativeInstrument","Perfect-money":"#/components/schemas/AlternativeInstrument","Piastrix":"#/components/schemas/AlternativeInstrument","plaid-account":"#/components/schemas/AlternativeInstrument","PayTabs":"#/components/schemas/AlternativeInstrument","Paysafecard":"#/components/schemas/AlternativeInstrument","Paysafecash":"#/components/schemas/AlternativeInstrument","Pay4Fun":"#/components/schemas/AlternativeInstrument","Paynote":"#/components/schemas/AlternativeInstrument","PinPay":"#/components/schemas/AlternativeInstrument","phone":"#/components/schemas/AlternativeInstrument","PhonePe":"#/components/schemas/AlternativeInstrument","POLi":"#/components/schemas/AlternativeInstrument","PostFinance-card":"#/components/schemas/AlternativeInstrument","PostFinance-e-finance":"#/components/schemas/AlternativeInstrument","QIWI":"#/components/schemas/AlternativeInstrument","QPay":"#/components/schemas/AlternativeInstrument","QQPay":"#/components/schemas/AlternativeInstrument","rapyd-checkout":"#/components/schemas/AlternativeInstrument","Resurs":"#/components/schemas/AlternativeInstrument","SafetyPay":"#/components/schemas/AlternativeInstrument","SEPA":"#/components/schemas/AlternativeInstrument","Skrill":"#/components/schemas/AlternativeInstrument","Skrill Rapid Transfer":"#/components/schemas/AlternativeInstrument","SMSVoucher":"#/components/schemas/AlternativeInstrument","Sofort":"#/components/schemas/AlternativeInstrument","SparkPay":"#/components/schemas/AlternativeInstrument","swift-dbt":"#/components/schemas/AlternativeInstrument","Tele2":"#/components/schemas/AlternativeInstrument","Terminaly-RF":"#/components/schemas/AlternativeInstrument","Thunes-Checkout":"#/components/schemas/AlternativeInstrument","ToditoCash-card":"#/components/schemas/AlternativeInstrument","Trustly":"#/components/schemas/AlternativeInstrument","UPayCard":"#/components/schemas/AlternativeInstrument","UPI":"#/components/schemas/AlternativeInstrument","USD-coin":"#/components/schemas/AlternativeInstrument","VCreditos":"#/components/schemas/AlternativeInstrument","VenusPoint":"#/components/schemas/AlternativeInstrument","voucher":"#/components/schemas/AlternativeInstrument","voucher-2":"#/components/schemas/AlternativeInstrument","voucher-3":"#/components/schemas/AlternativeInstrument","voucher-4":"#/components/schemas/AlternativeInstrument","Webmoney":"#/components/schemas/AlternativeInstrument","Webpay":"#/components/schemas/AlternativeInstrument","Webpay-2":"#/components/schemas/AlternativeInstrument","Webpay Card":"#/components/schemas/AlternativeInstrument","WeChat Pay":"#/components/schemas/AlternativeInstrument","XPay-P2P":"#/components/schemas/AlternativeInstrument","XPay-QR":"#/components/schemas/AlternativeInstrument","Yandex-money":"#/components/schemas/AlternativeInstrument","Zotapay":"#/components/schemas/AlternativeInstrument","Zimpler":"#/components/schemas/AlternativeInstrument"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCard"},{"$ref":"#/components/schemas/BankAccount"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]}},"components/schemas/PaymentInstrumentCreateToken":{"id":"components/schemas/PaymentInstrumentCreateToken","kind":"json-schema","title":"Payment token","data":{"title":"Payment token","type":"object","required":["customerId","token"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"token":{"description":"ID of the payment token.","type":"string"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentCardCreatePlain":{"id":"components/schemas/PaymentCardCreatePlain","kind":"json-schema","title":"Payment card","data":{"title":"Payment card","type":"object","required":["method","customerId","pan","expYear","expMonth","billingAddress"],"properties":{"method":{"description":"Method of the payment instrument.","type":"string","enum":["payment-card"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BBANType":{"id":"components/schemas/BBANType","kind":"json-schema","title":"BBANType","data":{"type":"object","description":"BBAN type object.","required":["accountNumberType","method","customerId","accountNumber","routingNumber","accountType","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","pattern":"^[0-9]+$","example":"1234567890"},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$","example":"123456789"},"accountType":{"description":"Type of the bank account.","type":"string","enum":["checking","savings","other"]},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/IBANType":{"id":"components/schemas/IBANType","kind":"json-schema","title":"IBANType","data":{"type":"object","description":"IBAN type object.","required":["accountNumberType","method","customerId","accountNumber","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","example":"DE89370400440532013000"},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string","example":"DEUTDE8LXXX"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BankAccountCreatePlain":{"id":"components/schemas/BankAccountCreatePlain","kind":"json-schema","title":"Bank account","data":{"title":"Bank account","type":"object","required":["accountNumberType"],"discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANType","IBAN":"#/components/schemas/IBANType"}},"oneOf":[{"$ref":"#/components/schemas/BBANType"},{"$ref":"#/components/schemas/IBANType"}]}},"components/schemas/PaymentInstrumentUpdateToken":{"id":"components/schemas/PaymentInstrumentUpdateToken","kind":"json-schema","title":"PaymentInstrumentUpdateToken","data":{"type":"object","properties":{"token":{"description":"ID of the payment token.","type":"string"},"billingAddress":{"description":"Customer's billing address.\nIf this value is supplied it overrides the billing address that is supplied with the token.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\nTo remove the sticky gateway account from a payment instrument, set this value to `null`.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentCardUpdatePlain":{"id":"components/schemas/PaymentCardUpdatePlain","kind":"json-schema","title":"PaymentCardUpdatePlain","data":{"type":"object","properties":{"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BankAccountUpdatePlain":{"id":"components/schemas/BankAccountUpdatePlain","kind":"json-schema","title":"BankAccountUpdatePlain","data":{"type":"object","properties":{"bankName":{"description":"Name of the bank.","type":"string"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentInstrumentNameInquiry":{"id":"components/schemas/PaymentInstrumentNameInquiry","kind":"json-schema","title":"PaymentInstrumentNameInquiry","data":{"type":"object","description":"Perform a name inquiry on a payment instrument.","required":["gatewayAccountId"],"properties":{"gatewayAccountId":{"description":"ID of the gateway account.","type":"string"},"result":{"description":"Result of the payment instrument name inquiry.","type":"string","readOnly":true,"enum":["full-match","partial-match","no-match","not-supported","unknown"]},"response":{"readOnly":true,"description":"Raw response message from gateway.","type":"string"}}}},"components/schemas/PlanFormulaFixedFee":{"id":"components/schemas/PlanFormulaFixedFee","kind":"json-schema","title":"Fixed-fee","data":{"title":"Fixed-fee","description":"Fixed-fee pricing details.\nUse this formula for subscriptions that involve the same price,\nnumber of units, and reoccur over a fixed period of time.\n\nFor more information, see [Fixed-fee per period](https://www.rebilly.com/docs/settings/pricing-formulas/#fixed-fee-per-period).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["fixed-fee"]},"price":{"description":"Use this formula to charge for subscriptions that have a fixed price,\nnumber of units, and reoccur over a fixed period of time,\nsuch as every: day, week, month, year, or number of years.\n\nFor example, a streaming company charges customers $13.99 each month for subscription period that is 6 months in duration.\nThe quantity of movies that a customer streams each month does not impact the price.","type":"number","format":"double","example":99.95}}}},"components/schemas/PlanFormulaFlatRate":{"id":"components/schemas/PlanFormulaFlatRate","kind":"json-schema","title":"Flat rate","data":{"title":"Flat rate","description":"Flat rate pricing details.\nUse this formula to charge a flat fee per unit.\nFor example, $0.10 per transaction or $4 per unit.\n\nFor more information, see [Flat rate pricing](https://www.rebilly.com/docs/billing/pricing-formulas/#flat-rate-pricing).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["flat-rate"]},"price":{"description":"Use this formula to charge a flat fee per unit.\nFor example, $0.10 for each transaction or $4 per unit.\n\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaStairstep":{"id":"components/schemas/PlanFormulaStairstep","kind":"json-schema","title":"Stair-step","data":{"title":"Stair-step","description":"Stair-step pricing details.\nUse this formula to charge for units that are sold in specific quantities.\n\nFor more information, see [Stair-step](https://www.rebilly.com/docs/billing/pricing-formulas/#stair-step).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["stairstep"]},"brackets":{"description":"Use this formula to charge for units that are sold in specific quantity ranges.\n\nFor example, a bank charges a merchant based on the number of transactions they complete each month.\n\nPrice total | Max quantity | Description\n------------|--------------|------------\n$50         | 1000         | Up to 1000 transactions\n$100        | 1500         | Between 1000 and 1500 transactions\n$200        | 3000         | Between 1500 and 3000 transactions\n$500        | null         | More than 3000 transactions\n\n- If the merchant completes 900 transaction in a month, they are charged $50.\n- If the merchant completes 1001 transaction in a month, they are charged $100.\n- If the merchant completes 2500  transaction in a month, they are charged $200.\n- If the merchant completes more than 3000 transaction in a month, they are charged $500.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaTiered":{"id":"components/schemas/PlanFormulaTiered","kind":"json-schema","title":"Tiered","data":{"title":"Tiered","description":"Tiered pricing details.\nUse this formula to charge for units that are sold within defined quantity ranges, or tiers.\n\nFor more information, see [Tiered](https://www.rebilly.com/docs/settings/pricing-formulas/#tiered).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["tiered"]},"brackets":{"description":"Use this formula to charge for units that are sold within defined quantity ranges, or tiers.\nIf a customer buys a number of units that span more than one tier,\nthe total cost is calculated based on the cost of the units in each tier.\n\nFor example, a software company sells user licenses based on the following:\n\nTier | Price per user | Max quantity | Description\n-----|----------------|--------------|------------\n1    | $40            | 3            | 1 to 3 user licenses\n2    | $30            | 5            | 5 to 8 user licenses\n3    | $15            | null         | 9 or more user licenses\n\nIf a customer buys 10 user licenses, the pricing is as follows:\n- 3 licenses at tier 1 (3 x $40) is 120\n- 5 licenses at tier 2 (5 x $30) is 150\n- 2 licenses at tier 3 (2 x $15) is 30\n\nTotal cost = $330\n\nFormula: `(price for the tier x quantity within the tier)` + `(price for next tier x quantity in next tier)` + `...` = final price.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaVolume":{"id":"components/schemas/PlanFormulaVolume","kind":"json-schema","title":"Volume","data":{"title":"Volume","description":"Volume pricing details.\nUse this formula to charge for units that are sold in bulk,\nor volume ranges. In general,\nthis formula means that a customer pays less per unit when they buy a large volume of units.\n\nFor more information, see [Volume](https://www.rebilly.com/docs/settings/pricing-formulas/#volume).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["volume"]},"brackets":{"description":"Use this formula to charge for units that are sold in bulk, or volume ranges.\nThis formula enables customers to pays less per unit when they buy a large volume of units.\nUnit cost is based on the highest volume range, and does not include lower volume range pricing.\n\nFor example, a company sells t-shirts in the following volume ranges:\n\nPrice per unit| Max quantity | Description\n--------------|--------------|------------\n$10           | 1            | 1 t-shirt\n$8            | 5            | 2 to 5 t-shirts\n$4            | null         | 6 or more t-shirts\n\n- If a customer buys 1 unit, they pay $10.\n- If a customer buys 3 units, they pay $24 per unit, which is $8 per unit.\n- If a customer buys 10 units, they pay $40, which is $4 per unit.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanPriceFormula":{"id":"components/schemas/PlanPriceFormula","kind":"json-schema","title":"PlanPriceFormula","data":{"description":"Pricing details.","type":"object","discriminator":{"propertyName":"formula","mapping":{"fixed-fee":"#/components/schemas/PlanFormulaFixedFee","flat-rate":"#/components/schemas/PlanFormulaFlatRate","stairstep":"#/components/schemas/PlanFormulaStairstep","tiered":"#/components/schemas/PlanFormulaTiered","volume":"#/components/schemas/PlanFormulaVolume"}},"oneOf":[{"$ref":"#/components/schemas/PlanFormulaFixedFee"},{"$ref":"#/components/schemas/PlanFormulaFlatRate"},{"$ref":"#/components/schemas/PlanFormulaStairstep"},{"$ref":"#/components/schemas/PlanFormulaTiered"},{"$ref":"#/components/schemas/PlanFormulaVolume"}]}},"components/schemas/PlanSetup":{"id":"components/schemas/PlanSetup","kind":"json-schema","title":"PlanSetup","data":{"type":["object","null"],"description":"Setup fee information for the plan.","required":["price"],"properties":{"price":{"description":"One-time setup fee charged when the plan starts.\nThis field is deprecated.\nUse the `setupFee` field instead.","type":"number","format":"double","deprecated":true}},"deprecated":true}},"components/schemas/PlanSetupFee":{"id":"components/schemas/PlanSetupFee","kind":"json-schema","title":"PlanSetupFee","data":{"description":"One-time setup fee charged when the plan starts.\nSet to `0` or `null` if no setup fee applies.","type":["number","null"],"format":"double","minimum":0,"example":0}},"components/schemas/SchedulingMethodDayAndMonthOfYear":{"id":"components/schemas/SchedulingMethodDayAndMonthOfYear","kind":"json-schema","title":"SchedulingMethodDayAndMonthOfYear","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-and-month-of-year"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month of the year in which the event occurs."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","month","method"]}},"components/schemas/ServicePeriodAnchorInstruction":{"id":"components/schemas/ServicePeriodAnchorInstruction","kind":"json-schema","title":"ServicePeriodAnchorInstruction","data":{"type":["object","null"],"description":"Instruction for calculating the service period anchor.\n\nThe service period anchor is used, in conjunction with the subscription\nstart time, to calculate when the service period starts and ends.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}]}},"components/schemas/PlanTrial":{"id":"components/schemas/PlanTrial","kind":"json-schema","title":"PlanTrial","data":{"type":["object","null"],"required":["price","period"],"properties":{"price":{"description":"Price of setting up a trial.\nIf your service charges a fee for a trial, specify it here.\nTo charge no trial fee, set this value to `0`.","type":"number","format":"double"},"period":{"type":"object","description":"Period information.","required":["unit","length"],"properties":{"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1}}}}}},"components/schemas/InvoiceTimeShift":{"id":"components/schemas/InvoiceTimeShift","kind":"json-schema","title":"InvoiceTimeShift","data":{"type":["object","null"],"description":"Use invoice time shift to control the billing time.\n\nInvoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes.\n\nUse invoice time shift in conjunction with `billingTiming` to:\n\n- Bill immediately when the service period starts.\n- Bill immediately after the service period ends.\n- Bill at an interval of time before the service period starts.\n- Bill at an interval of time after the service period starts.\n- Bill at an interval of time before the service period ends.\n- Bill at an interval of time after the service period ends.","properties":{"issueTimeShift":{"type":"object","description":"Calculation instruction of the billing time.\n\nThis is used in conjunction with the service period anchor to calculate\nthe time at which the invoice is issued. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","required":["chronology","duration","unit"],"properties":{"chronology":{"type":"string","description":"Sequential order of the billing time relative to the start of the service period.","enum":["before"]},"duration":{"type":"integer","description":"Amount of time by which to move the invoice issue time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}},"dueTimeShift":{"type":"object","required":["duration","unit"],"description":"Calculation instruction of the invoice due time.\n\nThis is used in conjunction with the service period anchor to calculate when\nan invoice is due for payment. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).\n\nThe sequential order of due time shift is always after the due date.","default":{"duration":1,"unit":"hour"},"properties":{"duration":{"type":"integer","description":"Amount of time by which to move the invoice due time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}}}}},"components/schemas/SubscriptionPlan":{"id":"components/schemas/SubscriptionPlan","kind":"json-schema","title":"SubscriptionPlan","data":{"title":"SubscriptionPlan","description":"Details of the subscription order plan.\nUse this plan for subscriptions or sales that reoccur over a period of time.","type":"object","required":["name","currency","productId","pricing","recurringInterval"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `subscription` when `recurringInterval` is present.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["subscription"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"description":"Service interval settings.","type":"object","required":["unit","length"],"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"},"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1},"limit":{"description":"Number of invoices the subscription order generates.\nIf this value is `1`, only the initial order creation is generated.\n\nExample: For a 1 year contract that is billed monthly,\nwhere the `periodUnit` is `month` and the `periodDuration` is `1`,\nset this field to `12`.","type":["integer","null"],"minimum":1,"maximum":65535},"billingTiming":{"type":"string","default":"prepaid","description":"Billing timing in relation to the service period.\nFor `prepaid` plans the customer pays when the service period starts,\nwhereas, for `postpaid` plans, the customer pays when the service period ends.","enum":["prepaid","postpaid"]}}},"trial":{"description":"Trial configuration setting.\nIf you do not want to offer a trial, set this value to `null`.","$ref":"#/components/schemas/PlanTrial"},"meteredBilling":{"type":["object","null"],"required":["strategy"],"description":"Use metered billing when an exact quantity is unknown.\nReport usage during a service period and charge customers afterwards.\nMetered billing plans must be postpaid.","properties":{"strategy":{"type":"string","enum":["sum","last"],"x-enumDescriptions":{"sum":"Total amount of reported invoice item quantity usage.","last":"Last reported invoice item quantity usage."}},"min":{"description":"Minimum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"max":{"description":"Maximum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"sticky":{"description":"When enabled, if no usage is reported during a service period,\nthe plan bills the last known reported quantity from a previous period instead of zero.\nThis is suitable for hosted or persistent resources whose usage does not change every period.\nOnly supported with `strategy`: `last`.","type":"boolean","default":false,"example":false}}},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/SubscriptionPlanDetails":{"id":"components/schemas/SubscriptionPlanDetails","kind":"json-schema","title":"SubscriptionPlanDetails","data":{"title":"SubscriptionPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]}},"components/schemas/OneTimeSalePlan":{"id":"components/schemas/OneTimeSalePlan","kind":"json-schema","title":"OneTimeSalePlan","data":{"title":"OneTimeSalePlan","type":"object","description":"Details of the one-time sale plan.\nUse this plan for non-recurring, one-time, sales.","required":["name","currency","productId","pricing"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `one-time-sale` when both `recurringInterval` and `trial` are omitted.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["one-time-sale"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"type":"null","description":"Trial configuration setting.","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/OneTimeSalePlanDetails":{"id":"components/schemas/OneTimeSalePlanDetails","kind":"json-schema","title":"OneTimeSalePlanDetails","data":{"title":"OneTimeSalePlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]}},"components/schemas/TrialOnlyPlan":{"id":"components/schemas/TrialOnlyPlan","kind":"json-schema","title":"TrialOnlyPlan","data":{"title":"TrialOnlyPlan","description":"Details of the trial-only plan.\nUse this plan for limited-time product trials.\nTrials may have a reduced fee, or may be free.","type":"object","required":["name","currency","productId","trial"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `trial-only` when `trial` is present without `recurringInterval`.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["trial-only"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":true,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"description":"Trial configuration settings.","allOf":[{"type":"object"},{"$ref":"#/components/schemas/PlanTrial"}]},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"description":"Use invoice time shift to adjust the invoice issue and due date when billing must occur before the service period changes.\nFor example, rent must be paid in advance,\nso the invoice must be in advance of the billing date.\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/TrialOnlyPlanDetails":{"id":"components/schemas/TrialOnlyPlanDetails","kind":"json-schema","title":"TrialOnlyPlanDetails","data":{"title":"TrialOnlyPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}},"components/schemas/Plan":{"id":"components/schemas/Plan","kind":"json-schema","title":"Plan","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/SubscriptionPlanDetails","one-time-sale":"#/components/schemas/OneTimeSalePlanDetails","trial-only":"#/components/schemas/TrialOnlyPlanDetails"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionPlanDetails"},{"$ref":"#/components/schemas/OneTimeSalePlanDetails"},{"$ref":"#/components/schemas/TrialOnlyPlanDetails"}]}},"components/schemas/PlanRequest":{"id":"components/schemas/PlanRequest","kind":"json-schema","title":"PlanRequest","data":{"title":"PlanRequest","oneOf":[{"$ref":"#/components/schemas/SubscriptionPlan"},{"$ref":"#/components/schemas/OneTimeSalePlan"},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}},"components/schemas/Product":{"id":"components/schemas/Product","kind":"json-schema","title":"Product","data":{"type":"object","required":["name"],"description":"Products are the items that your business sells.\nProducts include digital goods, services, and physical goods.\nProducts appear on invoice line items.\nIf you set a tax category identifier, taxes are calculated at invoice generation.\nIf the product is shippable, shipping costs are calculated at invoice generation.\nPricing and variations are set within plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","properties":{"id":{"type":"string","description":"ID of the product.","readOnly":true,"maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"name":{"description":"Name of the product.","type":"string","minLength":3,"maxLength":255,"example":"Premium membership"},"unitLabel":{"description":"Unit label, such as per `seat` or per `unit`.","type":"string","minLength":1,"maxLength":50,"example":"seat","default":"unit"},"description":{"description":"Description of the product.","type":["string","null"],"maxLength":512},"requiresShipping":{"description":"Specifies if the product requires shipping.\nIf this value is `true`, shipping calculations are applied.","type":"boolean","example":false,"default":false},"options":{"description":"Product options such as color, size, and so forth.\nProduct option values are defined in plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","type":"array","items":{"type":"string"}},"taxCategoryId":{"description":"Tax category of the product.\nFor a complete list of supported tax categories, see [TaxJar sales tax API reference](https://developers.taxjar.com/api/reference/#get-list-tax-categories).\nIf none of the tax categories from the list are applicable for your product, use the general tax category `00000`.","type":["string","null"],"example":"00000"},"accountingCode":{"description":"Accounting code of the product.","type":["string","null"],"example":"4010"},"recognition":{"type":["object","null"],"properties":{"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"]},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"]}}},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OriginalPlan":{"id":"components/schemas/OriginalPlan","kind":"json-schema","title":"OriginalPlan","data":{"type":"object","description":"Use an existing plan without changes for the current order.\n\nTo create a new plan, see [Create a plan](https://www.rebilly.com/catalog/all/plans/postplan).","required":["id"],"additionalProperties":false,"properties":{"id":{"description":"ID of the plan.","$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/FlexiblePlan":{"id":"components/schemas/FlexiblePlan","kind":"json-schema","title":"FlexiblePlan","data":{"oneOf":[{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}]}},"components/schemas/UsageLimits":{"id":"components/schemas/UsageLimits","kind":"json-schema","title":"UsageLimits","data":{"type":"object","description":"Specifies the soft and hard usage limit thresholds for an item with a metered billing plan.\nThis value is ignored when the plan is not metered.","properties":{"softLimit":{"type":"object","description":"Defines thresholds for notification purposes.\nFor example, to notify the customer that their usage is near the hard limit of their metered billing plan.\nThis notification informs the customer so that they can upgrade their plan before the hard limit is reached.\nWhen metered usage equals or exceeds the configured soft limit, the `soft-usage-limit-reached` event is triggered.\nThe quantity limit applies to the larger of the reported and billed quantity.\nIf a minimum billable quantity results in a billed quantity that is higher than the reported quantity, the billed quantity applies to the limit.\nIf a maximum billable quantity results in a billed quantity that is lower than the reported quantity, the reported quantity applies to the limit.\nThe amount limit applies to the billed amount.\nTo notify the customer, a webhook and notification can be configured for this event.\nThis field is useful for accounting and customer success purposes.\nThe usage of metered billing plans can still be reported if the soft limit is reached.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"hardLimit":{"type":"object","description":"Defines a limit where the customer can no longer use the service.\nHard limits are used in addition to soft limits.\nWhen a soft limit is reached,\na customer may receive a notification\nbut the service can still be provided up to the hard limit value so that the customer can upgrade their plan.\nWhen the reported usage reaches the configured limit,\na specific event is triggered.\nTo notify the customer in the merchant system,\nor block a service,\na webhook and notification can be configured for this event.\nWhen the total usage reaches the hard limit quantity,\nor amount values,\nmetered billing plan usages can no longer be reported.\nPlans with a minimum quantity, fixed fee, or flat stairstep bracket set a minimum billable quantity and amount.\nA `quantity` value below the minimum billable quantity is invalid.\nAn `amount` value below the minimum billable amount is invalid.\nA `0` value remains valid even on plans with minimum billing.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"trialLimit":{"oneOf":[{"type":"number","format":"double","minimum":0},{"type":"null"}],"description":"Defines a usage cap during the trial period of a subscription.\nThis limit is enforced only while the subscription is in its trial phase.\nWhen the reported usage reaches the configured trial limit, an event called 'trial-usage-limit-reached' is triggered.\nTo notify the customer or restrict access to the service, a webhook and notification can be configured for this event.\nOnce the trial limit is reached, additional usage cannot be reported unless the trial ends.","example":20.725}}}},"components/schemas/QuoteSubscriptionItem":{"id":"components/schemas/QuoteSubscriptionItem","kind":"json-schema","title":"QuoteSubscriptionItem","data":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["subscription"]},"quantity":{"description":"Number of product units in the specified plan.\nQuantity for metered billing is always 0.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.\nThis field is not used for metered billing plans.","type":["number","null"],"format":"double","example":5.125},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the quote item.\nThis value is only used for metered billing items.","example":"50% of the markup for approved transactions","default":"","maxLength":255},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/QuoteOneTimeSaleItem":{"id":"components/schemas/QuoteOneTimeSaleItem","kind":"json-schema","title":"QuoteOneTimeSaleItem","data":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["one-time-sale"]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/QuoteItem":{"id":"components/schemas/QuoteItem","kind":"json-schema","title":"QuoteItem","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/QuoteSubscriptionItem","one-time-sale":"#/components/schemas/QuoteOneTimeSaleItem"}},"oneOf":[{"$ref":"#/components/schemas/QuoteSubscriptionItem"},{"$ref":"#/components/schemas/QuoteOneTimeSaleItem"}]}},"components/schemas/CreationQuote":{"id":"components/schemas/CreationQuote","kind":"json-schema","title":"CreationQuote","data":{"type":"object","title":"CreationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, a new order is created.","type":"string","enum":["creation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote and created an order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["items"],"properties":{"id":{"description":"ID of the related order.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"autopay":{"type":"boolean","default":false,"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order."},"shipping":{"$ref":"#/components/schemas/Shipping"},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"startTime":{"description":"Date and time when the created order starts.\nIf this value is `null`, the quote acceptance time is used.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"isLegacy":{"description":"Specifies if the order is a legacy order.\nIf omitted when the quote is created, the value follows the order model that is used by the organization: `false` for the current order model and `true` for the legacy order model.\nIf omitted when the quote is updated, the value does not change.\nOrganizations that use the current order model cannot set this value to `true`.","type":"boolean","example":true}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/ChangeQuote":{"id":"components/schemas/ChangeQuote","kind":"json-schema","title":"ChangeQuote","data":{"type":"object","title":"ChangeQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the related order.\nChange quotes can only be created for orders with `active` or `trial-ended` status.\nFor `trial-ended` orders, use this quote type to convert a trial-only order to a regular recurring order.","type":"string","enum":["change"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. Quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"renewalPolicy":{"description":"Policy for managing service periods and trial state of the related order when the quote is accepted.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` flag is ignored unless `retain` is used, or this field is omitted.\nIf this field is omitted, this value defaults to `retainRecurring`.\nIf this field is omitted and `keepTrial` is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"string","default":"retainRecurring","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring` or `retainTrialThenRecurring` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring` or `retainTrialThenRecurring`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period length.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the time of quote acceptance.","type":["string","null"],"format":"date-time"},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change at once.\n  `prorated`, `renewalPolicy` and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `prorated` and `renewalPolicy` are ignored.\n  Omit `effectiveTime`.\n  If the request includes `effectiveTime`, a validation error is returned.\n  `couponIds` and `usageSettings` are not supported.\n  If the request includes either field, a validation error is returned.\n  `interimOnly` must be `true`.\n  A later request replaces the pending change.\n  The pending change is locked when the next renewal invoice is issued.\n  One-time sale items that are already on the order are retained.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`, or omitted.\nIf `renewalPolicy` is omitted and this field is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"boolean","default":false},"interimOnly":{"type":"boolean","default":true,"description":"Specifies if the quotation invoice must include interim items only.\nIf this value is set to `false`, all upcoming items are included.\nWith `applyAt` set to `nextRenewal`, this value must be `true`.\nTo bill the next period now, issue the upcoming invoice of the order."},"usageSettings":{"type":"array","default":[],"description":"Usage settings for items with metered billing.","items":{"type":"object","required":["productId","policy"],"properties":{"productId":{"type":"string","description":"ID of the product to use to transfer usage.\nIf the `policy` value is `transfer`,\nand an existing item and a new item are of the same product,\nusage can be transferred to the new item.\nIf a new item of the same product does not exist,\nor does not have a metered billing plan,\nthis transfer is ignored.","example":"prod_0YV7DENSVGDBW9S71XZNNYYQ0X"},"policy":{"type":"string","enum":["reset","transfer"],"description":"Policy for removed items that have a metered billing plan.","x-enumDescriptions":{"reset":"Delete existing usages.","transfer":"Transfer usages from removed item to new item of the same product."}}}}},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/ReactivationQuote":{"id":"components/schemas/ReactivationQuote","kind":"json-schema","title":"ReactivationQuote","data":{"type":"object","title":"ReactivationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the order and the order is reactivated.","type":"string","enum":["reactivation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. The related order is reactivated and quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":["string","null"],"format":"date-time"},"paymentInstrumentId":{"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"includeUnpaidInvoices":{"type":"boolean","default":false,"example":false,"description":"Specifies whether the quote invoice includes items from outstanding unpaid and past-due invoices for the related order.\nWhen this value is `true`, the quote invoice includes charges for eligible items from those invoices.\nWhen the quote is accepted, only invoices included in the quote that remain unpaid or past due and can be voided are voided."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/Quote":{"id":"components/schemas/Quote","kind":"json-schema","title":"Quote","data":{"discriminator":{"propertyName":"type","mapping":{"creation":"#/components/schemas/CreationQuote","change":"#/components/schemas/ChangeQuote","reactivation":"#/components/schemas/ReactivationQuote"}},"oneOf":[{"$ref":"#/components/schemas/CreationQuote"},{"$ref":"#/components/schemas/ChangeQuote"},{"$ref":"#/components/schemas/ReactivationQuote"}]}},"components/schemas/QuoteReissue":{"id":"components/schemas/QuoteReissue","kind":"json-schema","title":"QuoteReissue","data":{"type":"object","properties":{"expirationTime":{"description":"Date and time when the reissued quote expires.\nA new expiration time must be later than the current time.\nIf this field is `null` or omitted, the quote keeps its expiration time when it has not passed.\nOtherwise, the quote expires one month after it is reissued.","type":["string","null"],"format":"date-time"}}}},"components/schemas/QuoteTimeline":{"id":"components/schemas/QuoteTimeline","kind":"json-schema","title":"QuoteTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["quote-created","quote-issued","quote-accepted","quote-rejected","quote-canceled","quote-recalled","quote-updated","quote-expired","quote-order-attached","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ReadyToPayAmount":{"id":"components/schemas/ReadyToPayAmount","kind":"json-schema","title":"With amount","data":{"type":"object","title":"With amount","required":["websiteId","currency","amount","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount to pay.","type":"number","format":"double"},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}}},"components/schemas/ReadyToPayItems":{"id":"components/schemas/ReadyToPayItems","kind":"json-schema","title":"With items","data":{"type":"object","title":"With items","required":["websiteId","items","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}}},"components/schemas/ReadyToPay":{"id":"components/schemas/ReadyToPay","kind":"json-schema","title":"ReadyToPay","data":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAmount"},{"$ref":"#/components/schemas/ReadyToPayItems"}]}},"components/schemas/PostReadyToPayRequest":{"id":"components/schemas/PostReadyToPayRequest","kind":"json-schema","title":"PostReadyToPayRequest","data":{"allOf":[{"type":"object","properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"}}},{"$ref":"#/components/schemas/ReadyToPay"}]}},"components/schemas/Country":{"id":"components/schemas/Country","kind":"json-schema","title":"Country","data":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"}},"components/schemas/DigitalWalletCountry":{"id":"components/schemas/DigitalWalletCountry","kind":"json-schema","title":"DigitalWalletCountry","data":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"}},"components/schemas/ApplePayFeature":{"id":"components/schemas/ApplePayFeature","kind":"json-schema","title":"Apple Pay Digital Wallet","data":{"type":"object","title":"Apple Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Apple Pay"]},"displayName":{"description":"String of 64 or fewer UTF-8 characters containing the canonical name for your store,\nthat is suitable for display.\nDo not localize the name.","type":"string","example":"Test Merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}},"components/schemas/GooglePayFeature":{"id":"components/schemas/GooglePayFeature","kind":"json-schema","title":"Google Pay Digital Wallet","data":{"type":"object","title":"Google Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Google Pay"]},"merchantName":{"description":"Merchant name in Google Pay.","type":"string","example":"Test Merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay.\nThe fully qualified domain name.","type":"string","example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}},"components/schemas/SamsungPayFeature":{"id":"components/schemas/SamsungPayFeature","kind":"json-schema","title":"Samsung Pay Digital Wallet","data":{"type":"object","title":"Samsung Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Samsung Pay"]},"merchantName":{"description":"Merchant name in Samsung Pay.","type":"string","example":"Test Merchant"}}}},"components/schemas/PaymentCardFeature":{"id":"components/schemas/PaymentCardFeature","kind":"json-schema","title":"PaymentCardFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Apple Pay":"#/components/schemas/ApplePayFeature","Google Pay":"#/components/schemas/GooglePayFeature","Samsung Pay":"#/components/schemas/SamsungPayFeature"}},"oneOf":[{"$ref":"#/components/schemas/ApplePayFeature"},{"$ref":"#/components/schemas/GooglePayFeature"},{"$ref":"#/components/schemas/SamsungPayFeature"}]}},"components/schemas/ReadyToPayMethodFilters":{"id":"components/schemas/ReadyToPayMethodFilters","kind":"json-schema","title":"ReadyToPayMethodFilters","data":{"type":"array","description":"For the method to be applicable, one or more of the following filters must match.\nIf no filters are sent, no restrictions are applied.\nFor more information, see [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","items":{"type":"string"}}},"components/schemas/ReadyToPayPaymentCardMethod":{"id":"components/schemas/ReadyToPayPaymentCardMethod","kind":"json-schema","title":"Payment card","data":{"type":"object","title":"Payment card","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["payment-card"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/PaymentCardFeature"},{"type":"null"}]},"brands":{"type":"array","description":"List of supported brands.","minItems":1,"items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/AchPlaidFeature":{"id":"components/schemas/AchPlaidFeature","kind":"json-schema","title":"Plaid","data":{"type":"object","title":"Plaid","required":["name","linkToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Plaid"]},"linkToken":{"type":"string","description":"Plaid `linkToken` for frontend integrations."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the `linkToken` expires."}}}},"components/schemas/ReadyToPayAchMethodFeature":{"id":"components/schemas/ReadyToPayAchMethodFeature","kind":"json-schema","title":"ReadyToPayAchMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Plaid":"#/components/schemas/AchPlaidFeature"}},"oneOf":[{"$ref":"#/components/schemas/AchPlaidFeature"}]}},"components/schemas/ReadyToPayAchMethod":{"id":"components/schemas/ReadyToPayAchMethod","kind":"json-schema","title":"ACH","data":{"type":"object","title":"ACH","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["ach"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAchMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/ReadyToPayGenericMethod":{"id":"components/schemas/ReadyToPayGenericMethod","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","required":["method"],"properties":{"method":{"$ref":"#/components/schemas/AlternativePaymentMethods"},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/PayPalBillingAgreementFeature":{"id":"components/schemas/PayPalBillingAgreementFeature","kind":"json-schema","title":"Billing agreement","data":{"type":"object","title":"Billing agreement","required":["name","paypalMerchantId","paypalClientId","billingAgreementToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["PayPal billing agreement"]},"paypalMerchantId":{"type":"string","description":"ID of the PayPal merchant."},"paypalClientId":{"type":"string","description":"ID of the PayPal client."},"billingAgreementToken":{"type":"string","description":"PayPal billing agreement token."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the billing agreement token expires."}}}},"components/schemas/ReadyToPayPayPalMethodFeature":{"id":"components/schemas/ReadyToPayPayPalMethodFeature","kind":"json-schema","title":"ReadyToPayPayPalMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"PayPal billing agreement":"#/components/schemas/PayPalBillingAgreementFeature"}},"oneOf":[{"$ref":"#/components/schemas/PayPalBillingAgreementFeature"}]}},"components/schemas/ReadyToPayPayPalMethod":{"id":"components/schemas/ReadyToPayPayPalMethod","kind":"json-schema","title":"PayPal","data":{"type":"object","title":"PayPal","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["paypal"]},"feature":{"description":"Specific features of PayPal.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayPayPalMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/KlarnaFeature":{"id":"components/schemas/KlarnaFeature","kind":"json-schema","title":"Klarna","data":{"type":"object","title":"Klarna","required":["name","clientToken","sessionId"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Klarna"]},"clientToken":{"type":"string","description":"Klarna client token."},"sessionId":{"type":"string","description":"Klarna session token."}}}},"components/schemas/ReadyToPayKlarnaMethodFeature":{"id":"components/schemas/ReadyToPayKlarnaMethodFeature","kind":"json-schema","title":"ReadyToPayKlarnaMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Klarna":"#/components/schemas/KlarnaFeature"}},"oneOf":[{"$ref":"#/components/schemas/KlarnaFeature"}]}},"components/schemas/ReadyToPayKlarnaMethod":{"id":"components/schemas/ReadyToPayKlarnaMethod","kind":"json-schema","title":"Klarna","data":{"type":"object","title":"Klarna","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["Klarna"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayKlarnaMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/ReadyToPayMethods":{"id":"components/schemas/ReadyToPayMethods","kind":"json-schema","title":"ReadyToPayMethods","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/ReadyToPayPaymentCardMethod","ach":"#/components/schemas/ReadyToPayAchMethod","cash":"#/components/schemas/ReadyToPayGenericMethod","check":"#/components/schemas/ReadyToPayGenericMethod","paypal":"#/components/schemas/ReadyToPayPayPalMethod","AdvCash":"#/components/schemas/ReadyToPayGenericMethod","Alfa-click":"#/components/schemas/ReadyToPayGenericMethod","Alipay":"#/components/schemas/ReadyToPayGenericMethod","AstroPay Card":"#/components/schemas/ReadyToPayGenericMethod","AstroPay-GO":"#/components/schemas/ReadyToPayGenericMethod","BankReferenced":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-2":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-3":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-4":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-5":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-6":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-7":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-8":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-9":"#/components/schemas/ReadyToPayGenericMethod","Baloto":"#/components/schemas/ReadyToPayGenericMethod","Beeline":"#/components/schemas/ReadyToPayGenericMethod","Belfius-direct-net":"#/components/schemas/ReadyToPayGenericMethod","bitcoin":"#/components/schemas/ReadyToPayGenericMethod","Bizum":"#/components/schemas/ReadyToPayGenericMethod","Boleto":"#/components/schemas/ReadyToPayGenericMethod","cash-deposit":"#/components/schemas/ReadyToPayGenericMethod","CASHlib":"#/components/schemas/ReadyToPayGenericMethod","CashToCode":"#/components/schemas/ReadyToPayGenericMethod","China UnionPay":"#/components/schemas/ReadyToPayGenericMethod","Cleo":"#/components/schemas/ReadyToPayGenericMethod","CODVoucher":"#/components/schemas/ReadyToPayGenericMethod","Conekta-oxxo":"#/components/schemas/ReadyToPayGenericMethod","Cupon-de-pagos":"#/components/schemas/ReadyToPayGenericMethod","cryptocurrency":"#/components/schemas/ReadyToPayGenericMethod","domestic-cards":"#/components/schemas/ReadyToPayGenericMethod","echeck":"#/components/schemas/ReadyToPayGenericMethod","ecoPayz":"#/components/schemas/ReadyToPayGenericMethod","ecoVoucher":"#/components/schemas/ReadyToPayGenericMethod","Efecty":"#/components/schemas/ReadyToPayGenericMethod","EPS":"#/components/schemas/ReadyToPayGenericMethod","ePay.bg":"#/components/schemas/ReadyToPayGenericMethod","eZeeWallet":"#/components/schemas/ReadyToPayGenericMethod","FasterPay":"#/components/schemas/ReadyToPayGenericMethod","Flexepin":"#/components/schemas/ReadyToPayGenericMethod","Giropay":"#/components/schemas/ReadyToPayGenericMethod","Gpaysafe":"#/components/schemas/ReadyToPayGenericMethod","Google Pay":"#/components/schemas/ReadyToPayGenericMethod","iDebit":"#/components/schemas/ReadyToPayGenericMethod","iDEAL":"#/components/schemas/ReadyToPayGenericMethod","ING-homepay":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-pin":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-wallet":"#/components/schemas/ReadyToPayGenericMethod","InstaDebit":"#/components/schemas/ReadyToPayGenericMethod","instant-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","InstantPayments":"#/components/schemas/ReadyToPayGenericMethod","Interac":"#/components/schemas/ReadyToPayGenericMethod","Interac-online":"#/components/schemas/ReadyToPayGenericMethod","Interac-eTransfer":"#/components/schemas/ReadyToPayGenericMethod","invoice":"#/components/schemas/ReadyToPayGenericMethod","iWallet":"#/components/schemas/ReadyToPayGenericMethod","Jeton":"#/components/schemas/ReadyToPayGenericMethod","jpay":"#/components/schemas/ReadyToPayGenericMethod","Khelocard":"#/components/schemas/ReadyToPayGenericMethod","Klarna":"#/components/schemas/ReadyToPayKlarnaMethod","KNOT":"#/components/schemas/ReadyToPayGenericMethod","loonie":"#/components/schemas/ReadyToPayGenericMethod","Matrix":"#/components/schemas/ReadyToPayGenericMethod","MaxiCash":"#/components/schemas/ReadyToPayGenericMethod","Megafon":"#/components/schemas/ReadyToPayGenericMethod","MiFinity-eWallet":"#/components/schemas/ReadyToPayGenericMethod","miscellaneous":"#/components/schemas/ReadyToPayGenericMethod","Bancontact":"#/components/schemas/ReadyToPayGenericMethod","Bancontact-mobile":"#/components/schemas/ReadyToPayGenericMethod","MTS":"#/components/schemas/ReadyToPayGenericMethod","MuchBetter":"#/components/schemas/ReadyToPayGenericMethod","Multibanco":"#/components/schemas/ReadyToPayGenericMethod","Neosurf":"#/components/schemas/ReadyToPayGenericMethod","Netbanking":"#/components/schemas/ReadyToPayGenericMethod","Neteller":"#/components/schemas/ReadyToPayGenericMethod","Nordea-Solo":"#/components/schemas/ReadyToPayGenericMethod","OchaPay":"#/components/schemas/ReadyToPayGenericMethod","online-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","Onlineueberweisen":"#/components/schemas/ReadyToPayGenericMethod","oriental-wallet":"#/components/schemas/ReadyToPayGenericMethod","OXXO":"#/components/schemas/ReadyToPayGenericMethod","P24":"#/components/schemas/ReadyToPayGenericMethod","Pagadito":"#/components/schemas/ReadyToPayGenericMethod","PagoEffectivo":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-deposit-express":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-lottery":"#/components/schemas/ReadyToPayGenericMethod","PayCash":"#/components/schemas/ReadyToPayGenericMethod","Payeer":"#/components/schemas/ReadyToPayGenericMethod","PaymentAsia-crypto":"#/components/schemas/ReadyToPayGenericMethod","Paymero":"#/components/schemas/ReadyToPayGenericMethod","Perfect-money":"#/components/schemas/ReadyToPayGenericMethod","Piastrix":"#/components/schemas/ReadyToPayGenericMethod","plaid-account":"#/components/schemas/ReadyToPayGenericMethod","PayTabs":"#/components/schemas/ReadyToPayGenericMethod","Paysafecard":"#/components/schemas/ReadyToPayGenericMethod","Paysafecash":"#/components/schemas/ReadyToPayGenericMethod","Pay4Fun":"#/components/schemas/ReadyToPayGenericMethod","Paynote":"#/components/schemas/ReadyToPayGenericMethod","PinPay":"#/components/schemas/ReadyToPayGenericMethod","phone":"#/components/schemas/ReadyToPayGenericMethod","PhonePe":"#/components/schemas/ReadyToPayGenericMethod","POLi":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-card":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-e-finance":"#/components/schemas/ReadyToPayGenericMethod","QIWI":"#/components/schemas/ReadyToPayGenericMethod","QPay":"#/components/schemas/ReadyToPayGenericMethod","QQPay":"#/components/schemas/ReadyToPayGenericMethod","rapyd-checkout":"#/components/schemas/ReadyToPayGenericMethod","Resurs":"#/components/schemas/ReadyToPayGenericMethod","SafetyPay":"#/components/schemas/ReadyToPayGenericMethod","SEPA":"#/components/schemas/ReadyToPayGenericMethod","Skrill":"#/components/schemas/ReadyToPayGenericMethod","Skrill Rapid Transfer":"#/components/schemas/ReadyToPayGenericMethod","SMSVoucher":"#/components/schemas/ReadyToPayGenericMethod","Sofort":"#/components/schemas/ReadyToPayGenericMethod","SparkPay":"#/components/schemas/ReadyToPayGenericMethod","swift-dbt":"#/components/schemas/ReadyToPayGenericMethod","Tele2":"#/components/schemas/ReadyToPayGenericMethod","Terminaly-RF":"#/components/schemas/ReadyToPayGenericMethod","Thunes-Checkout":"#/components/schemas/ReadyToPayGenericMethod","ToditoCash-card":"#/components/schemas/ReadyToPayGenericMethod","Trustly":"#/components/schemas/ReadyToPayGenericMethod","UPayCard":"#/components/schemas/ReadyToPayGenericMethod","UPI":"#/components/schemas/ReadyToPayGenericMethod","USD-coin":"#/components/schemas/ReadyToPayGenericMethod","VCreditos":"#/components/schemas/ReadyToPayGenericMethod","VenusPoint":"#/components/schemas/ReadyToPayGenericMethod","voucher":"#/components/schemas/ReadyToPayGenericMethod","voucher-2":"#/components/schemas/ReadyToPayGenericMethod","voucher-3":"#/components/schemas/ReadyToPayGenericMethod","voucher-4":"#/components/schemas/ReadyToPayGenericMethod","Webmoney":"#/components/schemas/ReadyToPayGenericMethod","Webpay":"#/components/schemas/ReadyToPayGenericMethod","Webpay-2":"#/components/schemas/ReadyToPayGenericMethod","Webpay Card":"#/components/schemas/ReadyToPayGenericMethod","WeChat Pay":"#/components/schemas/ReadyToPayGenericMethod","XPay-P2P":"#/components/schemas/ReadyToPayGenericMethod","XPay-QR":"#/components/schemas/ReadyToPayGenericMethod","Yandex-money":"#/components/schemas/ReadyToPayGenericMethod","Zotapay":"#/components/schemas/ReadyToPayGenericMethod","Zimpler":"#/components/schemas/ReadyToPayGenericMethod"}},"oneOf":[{"$ref":"#/components/schemas/ReadyToPayPaymentCardMethod"},{"$ref":"#/components/schemas/ReadyToPayAchMethod"},{"$ref":"#/components/schemas/ReadyToPayGenericMethod"},{"$ref":"#/components/schemas/ReadyToPayPayPalMethod"},{"$ref":"#/components/schemas/ReadyToPayKlarnaMethod"}]}},"components/schemas/ShippingOption":{"id":"components/schemas/ShippingOption","kind":"json-schema","title":"ShippingOption","data":{"type":"object","required":["name","price","currency"],"properties":{"id":{"type":"string","description":"ID of the shipping rate.","readOnly":true,"maxLength":50,"example":"ship_rate_0YVDN408G4DQE9G1RV1QCFHJ3P"},"name":{"type":"string","description":"Name of the shipping rate."},"description":{"type":["string","null"],"description":"Description of the shipping rate."},"price":{"description":"Price of the shipping rate.\nIf `price` is `0`, shipping is free.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/ShippingRate":{"id":"components/schemas/ShippingRate","kind":"json-schema","title":"ShippingRate","data":{"allOf":[{"$ref":"#/components/schemas/ShippingOption"},{"properties":{"filter":{"type":"string","description":"Filter based on invoice properties that is used to determine when the rate is applicable.\nIf no filters are used, the rate is always applicable.","default":"","example":"deliveryAddress.country:US,CA,RU;amount:100..1000"},"status":{"description":"Status of the shipping rate.\nIf `status` is `inactive` the shipping rate is not applied.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}]}},"components/schemas/OneTimeSaleItem":{"id":"components/schemas/OneTimeSaleItem","kind":"json-schema","title":"OneTimeSaleItem","data":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"one-time-sale"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/UsageStatus":{"id":"components/schemas/UsageStatus","kind":"json-schema","title":"UsageStatus","data":{"type":"object","readOnly":true,"description":"Current status of the usage limits.","properties":{"isSoftLimitReached":{"type":"boolean","description":"Specifies if the soft limit has been reached.","example":false},"isHardLimitReached":{"type":"boolean","description":"Specifies if the hard limit has been reached.","example":false},"isTrialLimitReached":{"type":"boolean","description":"Specifies if the trial limit has been reached.","example":false}}}},"components/schemas/SubscriptionItem":{"id":"components/schemas/SubscriptionItem","kind":"json-schema","title":"SubscriptionItem","data":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the subscription.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"subscription"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"recurringInterval":{"type":["object","null"],"description":"Recurring interval to override plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same recurring period length.","example":null,"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"}}},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific item."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/OrderUpcomingInvoiceItem":{"id":"components/schemas/OrderUpcomingInvoiceItem","kind":"json-schema","title":"OrderUpcomingInvoiceItem","data":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"orderId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderUpcomingInvoice":{"id":"components/schemas/OrderUpcomingInvoice","kind":"json-schema","title":"OrderUpcomingInvoice","data":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice.\nThis value is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/OrderUpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Website":{"id":"components/schemas/Website","kind":"json-schema","title":"Website","data":{"type":"object","required":["name","url","servicePhone","serviceEmail"],"properties":{"id":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"name":{"description":"Name of the website.","type":"string"},"url":{"description":"Domain address of the website.","type":"string"},"servicePhone":{"description":"Customer service phone number of the website.","type":"string"},"serviceEmail":{"description":"Customer service email address of the website.","type":"string","format":"email"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"settings":{"type":"object","description":"Website settings.","properties":{"paymentForm":{"type":"object","description":"Payment form settings.","properties":{"css":{"description":"Hosted payment form [CSS options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#2-use-css-property-to-override-any-styles).","type":["string","null"]},"theme":{"description":"Hosted payment form [theme options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#adjust-the-default-style).\n\nThe `pageColorBackground` property sets the background color of the page around the form.\nIt is read by the hosted payment form page and is not passed to Rebilly Instruments.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"colorPrimary":"#504CCA","pageColorBackground":"#F6F8F9"}},"features":{"description":"Hosted payment form features.","type":["object","null"],"properties":{"showCoupons":{"type":["array","null"],"items":{"type":"string"}},"fullPageRedirect":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form uses a full page redirect, or the default iframe modal, for approval URL redirects.","default":false},"skipRedirectOnPaymentComplete":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form skips the redirect to the website URL when the payment is completed.","default":false},"hideZeroAmountSummaryItems":{"type":["boolean","null"],"description":"Specifies if the hosted payment form displays 0 amount line items in the summary.","default":false}}}}},"amplitude":{"type":"object","description":"Amplitude settings.\nAmplitude is an analytics tool for tracking user behavior.","properties":{"tracking":{"description":"Specifies if the hosted pages, such as KYC pages, include Amplitude analytics.","type":"boolean","default":false},"apiKey":{"description":"API key of an Amplitude project.","type":["string","null"],"minLength":20,"maxLength":50,"example":"35d1795750c585984f7e6b01c0ca6e19"}}},"payoutRequest":{"type":"object","description":"Payout request settings for the website.","properties":{"automaticReadinessEnabled":{"type":"boolean","default":false,"description":"Specifies whether pending payout requests are automatically marked as `ready`.\nWhen this value is `false`, payout requests are created in the `ready` status and automatic transition is not used.\nWhen this value is `true`, payout requests remain in the `pending` status until the pending period elapses and the configured transition time is reached."},"pendingPeriodHours":{"type":"integer","description":"Minimum number of hours a payout request stays in the `pending` status before it can be automatically set to `ready`.\nRequired when `automaticReadinessEnabled` is `true`.","minimum":1,"maximum":8760,"example":48},"automaticReadinessTime":{"description":"Time of day when the automatic readiness job processes eligible pending payout requests.\nRequired when `automaticReadinessEnabled` is `true`.\nUse extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset.\nWhen the timezone offset is omitted, the server timezone is used.","allOf":[{"$ref":"#/components/schemas/TimeIso8601Extended"}],"example":"10:00:00Z"},"automaticReadinessLastExecutedAt":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the automatic readiness job last completed successfully for this website."}}}}},"logoId":{"type":["string","null"],"description":"ID of the linked file object.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"logoUrl":{"readOnly":true,"description":"URL of the website logo.","type":["string","null"]},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","logoUrl"]}}}}}}},"components/schemas/RecurringOrder":{"id":"components/schemas/RecurringOrder","kind":"json-schema","title":"RecurringOrder","data":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"recurring"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","active","canceled","churned","paused","voided","completed","trial-ended","abandoned"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"type":"object","discriminator":{"propertyName":"type","mapping":{"one-time-sale":"#/components/schemas/OneTimeSaleItem","subscription":"#/components/schemas/SubscriptionItem"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionItem"},{"$ref":"#/components/schemas/OneTimeSaleItem"}]}},"invoiceIssueTimeShift":{"description":"Invoice issue time shift interval in ISO-8601 format.\n\nThis field adjusts the issue date and time of renewal invoices for the order.\n\nThis interval value supports the `-` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"invoiceDueTimeShift":{"description":"Invoice due time shift interval in ISO-8601 format.\n\nUse this field to adjust when payment is due for the order.\nIf autopay is configured, payment is collected automatically on this date.\n\nThis interval value supports the `+` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.","type":"boolean","default":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"churnTime":{"description":"Date and time when the order is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"cancellationTime":{"description":"Date and time when an order is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","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",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":["string","null"],"format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.\nIf subscriptions have different recurring settings or the order is not active, providing this field causes the request to be rejected with a conflict.\nThis field is ignored if the order is in trial.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time when the next subscription in this recurring order renews.","type":["string","null"],"format":"date-time","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}}},"components/schemas/OneTimeOrder":{"id":"components/schemas/OneTimeOrder","kind":"json-schema","title":"OneTimeOrder","data":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"one-time"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","voided","completed","abandoned"]},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"$ref":"#/components/schemas/OneTimeSaleItem"}},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"$ref":"#/components/schemas/Shipping"},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}}},"components/schemas/Order":{"id":"components/schemas/Order","kind":"json-schema","title":"Order","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"recurring":"#/components/schemas/RecurringOrder","one-time":"#/components/schemas/OneTimeOrder"}},"oneOf":[{"$ref":"#/components/schemas/RecurringOrder"},{"$ref":"#/components/schemas/OneTimeOrder"}]}},"components/schemas/OrderPause":{"id":"components/schemas/OrderPause","kind":"json-schema","title":"OrderPause","data":{"type":"object","description":"Order pause details.","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the order pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"orderId":{"type":"string","description":"ID of the paused order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"status":{"description":"Status of the order pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the order resumes billing.\n\nTo resume an order from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the order is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month order on a 30-day month is paused on day 20.\nThere are 10 unused days on the order.\nTherefore, the order renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf a subscription item in the order uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderChange":{"id":"components/schemas/OrderChange","kind":"json-schema","title":"OrderChange","data":{"type":"object","description":"Change to the items of a recurring order.\nA change with `applyAt` set to `now` replaces the items immediately.\nA change with `applyAt` set to `nextRenewal` records the new items and applies them at the next renewal.\nThe current items remain until the next renewal, when the new items are applied and billed on the renewal invoice.\n\nThis resource records changes made through this resource and changes created by a quote with `applyAt` set to `nextRenewal`.\nChanges made through the `POST /orders/{id}/change-items` operation or through a quote with `applyAt` set to `now` are not recorded.\nA change with `applyAt` set to `now` triggers the `order-change-created` and `order-change-applied` events and the item events of the order.","required":["orderId","items"],"properties":{"id":{"description":"ID of the order change.","type":"string","maxLength":50,"readOnly":true,"example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"orderId":{"description":"ID of the order.","type":"string","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the order change.","type":"string","readOnly":true,"enum":["pending","applied","canceled","superseded"],"x-enumDescriptions":{"pending":"Scheduled to apply at the next renewal.","applied":"Items of the order are replaced.","canceled":"Canceled before the change is applied.","superseded":"Replaced by a later change for the same order."}},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change immediately.\n  `renewalPolicy`, `prorated`, and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `renewalPolicy`, `prorated`, and `effectiveTime` are not allowed.\n  A later change for the same order supersedes the pending change.\n  The pending change is locked once the next renewal invoice is issued.\n  To remove a pending change, use the `DELETE /order-changes/{id}` operation.\n  The new items must differ from the current items.\n  One-time sale items that are already on the order remain.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"effectiveTime":{"description":"Date and time when the change is applied.\nIf `applyAt` is set to `now`, this value is the date from which the renewal time for `resetToRecurring` and the proration are calculated.\nIf this field is omitted, this value defaults to the current time.\nIf `applyAt` is set to `nextRenewal`, this value is read-only and equals the renewal time of the order.","type":"string","format":"date-time"},"lockedTime":{"description":"Date and time when the items of a pending change are billed.\nAfter this time, the change is locked and cannot be modified until the renewal.","type":["string","null"],"format":"date-time","readOnly":true},"appliedTime":{"description":"Date and time when the items of the order are replaced.","type":["string","null"],"format":"date-time","readOnly":true},"quoteId":{"description":"ID of the quote that is used to create the change.\nThis value is `null` if the change is not created from a quote.","type":["string","null"],"maxLength":50,"readOnly":true},"items":{"description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","type":"array","minItems":1,"items":{"type":"object","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}]},"excludeFromMrr":{"description":"Specifies if this item is excluded from monthly recurring revenue calculations.","type":["boolean","null"]}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order are managed when its items change now.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderCancellation":{"id":"components/schemas/OrderCancellation","kind":"json-schema","title":"OrderCancellation","data":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"orderId":{"type":"string","description":"ID of the canceled order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and order next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the order cancellation.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms an order cancellation.\nSets the order to cancel when the `churnTime` is reached.","completed":"Marks an order cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes an order cancellation."}},"canceledTime":{"description":"Date and time when an order is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the order is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the order is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":[null,"now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the order cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderReactivation":{"id":"components/schemas/OrderReactivation","kind":"json-schema","title":"OrderReactivation","data":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"ord_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"orderId":{"type":"string","description":"ID of the reactivated order.","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\n\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionOrOneTimeSaleItem":{"id":"components/schemas/SubscriptionOrOneTimeSaleItem","kind":"json-schema","title":"SubscriptionOrOneTimeSaleItem","data":{"type":"object","required":["plan"],"properties":{"id":{"type":"string","description":"ID of the order item.","readOnly":true,"maxLength":50},"planId":{"description":"ID of the plan.\n\n> **Note:** This field is deprecated. Use the `plan.id` field instead.","deprecated":true,"x-basic":true,"type":"string","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"plan":{"oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific plan item."},"isModified":{"type":"boolean","readOnly":true,"description":"Specifies if the plan information is modified for this subscription."},"isGrandfathered":{"type":"boolean","readOnly":true,"description":"Specifies if the current plan revision number is greater than the plan item revision number."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"}}}}}},"components/schemas/Subscription":{"id":"components/schemas/Subscription","kind":"json-schema","title":"Subscription","data":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.\n\n> **Note:** The order type cannot be changed after creation.","type":"string","x-basic":true,"enum":["subscription-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the subscription service.\nA subscription starts in the `pending` status, and becomes `active` when the service period begins.","type":"string","readOnly":true,"enum":["pending","active","abandoned","canceled","churned","paused","voided","completed","trial-ended"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"invoiceTimeShift":{"description":"Shifts issue time and due time of invoices for this subscription.\n\nThis setting overrides plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same billing period,\nthis property enables the customer to subscribe to different plans.","$ref":"#/components/schemas/InvoiceTimeShift"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the subscription.","type":"boolean","default":true},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"churnTime":{"description":"Date and time when the subscription is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"lineItems":{"description":"Subscription line items which queue until the next renewal, or interim, invoice is issued for the subscription.","readOnly":true,"type":"array","deprecated":true,"items":{"type":"object","description":"Invoice line item.\nUse the `isInterim` property of upcoming invoice items instead.","deprecated":true,"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"type":"object","readOnly":true,"deprecated":true,"description":"Subtotal of line items in this subscription (signed value).\nIf credits exceed debits, this value is a negative number.","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","x-type":"Money","x-sortable":true,"description":"Amount of the subtotal.","format":"double","example":49.95}}},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).\n\n> **Note:** The ID of the website cannot be changed after creation.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG","x-sortable":true,"x-basic":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n{% admonition type=\"warning\" %}\n- If the `delinquencyPeriod` value is `null`, the order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.\n- If you add a delinquency period to an active order, it is applied to all new invoices created for the order. It is not applied to the unpaid and past-due invoices. To apply a delinquency period to unpaid and past-due invoices, set the `delinquencyTime` parameter using the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=delinquencytime).\n{% /admonition %}\n\nIf this value is not passed during order creation,\nan [order delinquency period](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/orderdelinquencyperiod) setting is used to calculate the value.","example":"P7D","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"canceledTime":{"description":"Date and time when a subscription is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","delinquency","did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","never-started","switched-plan","organization-deactivated","other",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"initialInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"},"upcomingInvoice":{"type":"object"}}}}}},"components/schemas/OneTimeSale":{"id":"components/schemas/OneTimeSale","kind":"json-schema","title":"OneTimeSale","data":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.","type":"string","x-basic":true,"enum":["one-time-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the one-time order.","type":"string","readOnly":true,"enum":["pending","abandoned","completed","canceled"]},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"x-sortable":true,"x-basic":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice (`null` for one-time orders).","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"}}}}}},"components/schemas/SubscriptionOrOneTimeSale":{"id":"components/schemas/SubscriptionOrOneTimeSale","kind":"json-schema","title":"SubscriptionOrOneTimeSale","data":{"type":"object","description":"Subscription details.","discriminator":{"propertyName":"orderType","mapping":{"subscription-order":"#/components/schemas/Subscription","one-time-order":"#/components/schemas/OneTimeSale"}},"oneOf":[{"$ref":"#/components/schemas/Subscription"},{"$ref":"#/components/schemas/OneTimeSale"}]}},"components/schemas/SubscriptionChange":{"id":"components/schemas/SubscriptionChange","kind":"json-schema","title":"SubscriptionChange","data":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New set of items for the subscription.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the subscription order are managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless `reset` or `retain` is used.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring` or `retainTrialOnly`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the subscription can be previewed.\nSubscriptions cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}}},"components/schemas/OrderItemsChange":{"id":"components/schemas/OrderItemsChange","kind":"json-schema","title":"OrderItemsChange","data":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the specified plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order that contains subscription items is managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless the value is `reset` or `retain`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date and time that is used to calculate the renewal time for `reset` operations and proration.\nIf this field is omitted, the date and time default to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the order can be previewed.\nOrders cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}}},"components/schemas/OrderItemUpdate":{"id":"components/schemas/OrderItemUpdate","kind":"json-schema","title":"OrderItemUpdate","data":{"type":"object","properties":{"quantityFilled":{"description":"Filled quantity of the subscription item.","type":["number","null"],"format":"double","example":5.125},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"plan":{"type":"object","description":"Details of the subscription item plan.","properties":{"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}}}}}}},"components/schemas/SubscriptionInvoice":{"id":"components/schemas/SubscriptionInvoice","kind":"json-schema","title":"SubscriptionInvoice","data":{"type":"object","properties":{"transactionId":{"description":"If present, applies a payment to the invoice created.\nIf the payment is for the invoice total, it would be marked as paid.","$ref":"#/components/schemas/TransactionId"}}}},"components/schemas/SubscriptionPause":{"id":"components/schemas/SubscriptionPause","kind":"json-schema","title":"SubscriptionPause","data":{"type":"object","description":"Subscription pause details.","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the subscription pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"subscriptionId":{"type":"string","description":"ID of the paused subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the subscription pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the subscription resumes billing.\n\nTo resume a subscription from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the subscription is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month subscription on a 30-day month is paused on day 20 of the subscription.\nThere are 10 unused days on the subscription.\nTherefore, the subscription renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf the subscription uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders-(legacy)),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionCancellation":{"id":"components/schemas/SubscriptionCancellation","kind":"json-schema","title":"SubscriptionCancellation","data":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"subscriptionId":{"type":"string","description":"ID of the canceled subscription order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the subscription order.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms a subscription cancellation.\nSets the subscription to cancel when the `churnTime` is reached.","completed":"Marks a subscription cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes a subscription cancellation."}},"canceledTime":{"description":"Date and time when a subscription is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the subscription is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the subscription is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":["null","now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the subscription cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionReactivation":{"id":"components/schemas/SubscriptionReactivation","kind":"json-schema","title":"SubscriptionReactivation","data":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"sub_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"subscriptionId":{"type":"string","description":"ID of the reactivated subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the subscription is canceled but still active.\n\nIf the subscription is still active,\nthe subscription continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next subscription renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the subscription is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the subscription payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/UpcomingInvoiceItem":{"id":"components/schemas/UpcomingInvoiceItem","kind":"json-schema","title":"UpcomingInvoiceItem","data":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","plan","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}}},"components/schemas/UpcomingInvoice":{"id":"components/schemas/UpcomingInvoice","kind":"json-schema","title":"UpcomingInvoice","data":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice, which is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"subscriptionId":{"description":"ID of the related subscription order.","type":"string","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/UpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"billingAddress":{"description":"Billing address of the invoice.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","subscription","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"}}}}}},"components/schemas/OrderTimeline":{"id":"components/schemas/OrderTimeline","kind":"json-schema","title":"OrderTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-voided","order-activated","order-autopay-changed","order-billing-address-changed","order-billing-anchor-changed","order-canceled","order-churned","order-completed","order-custom-fields-changed","order-delivery-address-changed","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-items-changed","order-paid-early","order-quantity-changed","order-reactivated","order-recurring-interval-changed","order-renewal-time-changed","order-renewed","order-risk-metadata-changed","order-trial-ended","order-upgraded","order-voided","order-abandoned","quote-accepted","subscription-paused","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-resumed","subscription-trial-end-changed","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Usage":{"id":"components/schemas/Usage","kind":"json-schema","title":"Usage","data":{"type":"object","required":["subscriptionId","quantity"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the usage record.","maxLength":50,"example":"sub_usg_0YVJ636B95DNA9M3B1638HXBCQ"},"subscriptionId":{"type":"string","description":"Subscription ID for which the usage is reported.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"invoiceItemId":{"description":"ID of the invoice item to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"quantity":{"description":"Quantity of consumed units for a subscription plan product.\nRepresents the actual usage of a billable product or service by the customer.\nAccepts both integer and decimal values with a precision of up to 3 decimal places.\nThe minimum billable unit is 0.001.","type":"number","format":"double","minimum":0.001,"example":5.125},"usageTime":{"description":"Date and time, in ISO 8601 format, when a usage occurred.\nIf this value is not provided or is empty, the date and time of the request is used.","type":"string","format":"date-time"},"acceptPartialQuantity":{"description":"Specifies whether partial usage should be accepted if the reported quantity exceeds the available limit.\n\nWhen set to `true`, the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage.\nWhen set to `false`, the system rejects the request if the reported quantity exceeds the limit.","type":"boolean","writeOnly":true,"default":false,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentCardToken":{"id":"components/schemas/PaymentCardToken","kind":"json-schema","title":"Payment card token","data":{"type":"object","title":"Payment card token","description":"Creates a payment card token.\nA payment card token is a string that represents a customer's payment card details.\nIt can be used once, and expires upon first use or within 30 minutes of token creation.\nTo generate a full payment card token, you must provide the `billingAddress`.\nIf `billingAddress` is not provided, the token can not be used for payments.","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["payment-card"]},"paymentInstrument":{"description":"Payment card instrument details.","type":"object","required":["expMonth","expYear"],"properties":{"pan":{"description":"Primary Account Number (PAN) of the payment card.\nThis value is required to perform a payment.","type":"string","writeOnly":true},"cvv":{"description":"Card Verification Value (CVV/CVC) of the payment card.\nTakes precedence over `encryptedCvv` if both are included.","type":"string","writeOnly":true},"encryptedCvv":{"description":"Encrypted CVV of the payment card.\nUse to update a payment card with a CVV stored on the client side.\nThis value is returned for client side caching if `cvv` is provided in the request.","type":["string","null"],"minLength":100,"maxLength":255},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the first 6 digits of the payment card number.","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Primary Account Number (PAN) of the payment card.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]}}},"billingAddress":{"description":"Billing address object.\nThis value is required to perform payments.\nFor payment-card updates, `billingAddress` can be ignored.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token has been used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PayPalToken":{"id":"components/schemas/PayPalToken","kind":"json-schema","title":"PayPal token","data":{"type":"object","title":"PayPal token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["paypal"]},"paymentInstrument":{"description":"Paypal instrument details required for express checkout.","type":"object","required":["billingAgreementToken","paypalMerchantId"],"properties":{"paypalMerchantId":{"description":"ID of the PayPal merchant.","type":"string"},"billingAgreementToken":{"description":"PayPal billing agreement token.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expires.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BBANInstrument":{"id":"components/schemas/BBANInstrument","kind":"json-schema","title":"BBANInstrument","data":{"description":"Bank account BBAN instrument.","type":"object","required":["accountNumberType","accountNumber","routingNumber","accountType"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.","type":"string","pattern":"^[0-9]+$","writeOnly":true},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}}},"components/schemas/IBANInstrument":{"id":"components/schemas/IBANInstrument","kind":"json-schema","title":"IBANInstrument","data":{"description":"Bank account IBAN instrument.","type":"object","required":["accountNumberType","accountNumber"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Bank account number.\nDetailed information about all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","writeOnly":true},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}}},"components/schemas/BankAccountInstrument":{"id":"components/schemas/BankAccountInstrument","kind":"json-schema","title":"BankAccountInstrument","data":{"type":"object","description":"Bank account BBAN or IBAN instrument.","discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANInstrument","IBAN":"#/components/schemas/IBANInstrument"}},"oneOf":[{"$ref":"#/components/schemas/BBANInstrument"},{"$ref":"#/components/schemas/IBANInstrument"}]}},"components/schemas/BankAccountToken":{"id":"components/schemas/BankAccountToken","kind":"json-schema","title":"Bank account token","data":{"type":"object","title":"Bank account token","required":["method","paymentInstrument","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["ach","echeck"]},"paymentInstrument":{"$ref":"#/components/schemas/BankAccountInstrument"},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DigitalWalletToken":{"id":"components/schemas/DigitalWalletToken","kind":"json-schema","title":"Digital wallet token","data":{"type":"object","title":"Digital wallet token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["digital-wallet"]},"paymentInstrument":{"description":"Payment instrument details.","type":"object","required":["type","amount","currency","descriptor","payload"],"properties":{"type":{"description":"Type of digital wallet.","type":"string","enum":["Apple Pay","Google Pay","Samsung Pay"]},"amount":{"description":"Authorized for the digital wallet amount.","type":"number","format":"double"},"currency":{"description":"Authorized for the digital wallet currency.","$ref":"#/components/schemas/CurrencyCode"},"descriptor":{"description":"Descriptor for a payment.","type":"string"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Device Primary Account Number (DPAN).","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Device Primary Account Number (DPAN) of the payment card.\nThe DPAN is the tokenized card number used in digital wallet transactions,\nas opposed to the Funding Primary Account Number (FPAN) which is the physical card number visible to the cardholder.","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThe FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in digital wallet transactions.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"expMonth":{"readOnly":true,"description":"Payment card expiration month.","type":"integer"},"expYear":{"readOnly":true,"description":"Payment card expiration year.","type":"integer"},"payload":{"writeOnly":true,"description":"Digital wallet encoded data.\nThis field may contain the digital wallet billing address.","type":"object"}}},"billingAddress":{"readOnly":true,"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PlaidAccountToken":{"id":"components/schemas/PlaidAccountToken","kind":"json-schema","title":"Plaid account token","data":{"type":"object","title":"Plaid account token","required":["method","billingAddress","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["plaid-account"]},"paymentInstrument":{"description":"Plaid payment instrument details.","type":"object","required":["linkToken","publicToken","accountId"],"properties":{"linkToken":{"type":"string","description":"Plaid link token.","writeOnly":true},"publicToken":{"type":"string","description":"Plaid public token."},"accountId":{"type":"string","description":"ID of the Plaid account."}}},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AlternativePaymentToken":{"id":"components/schemas/AlternativePaymentToken","kind":"json-schema","title":"Alternative payment token","data":{"type":"object","title":"Alternative payment token","required":["method","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck","digital-wallet","plaid-account","Klarna","cryptocurrency"]}}]},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/KlarnaToken":{"id":"components/schemas/KlarnaToken","kind":"json-schema","title":"Klarna token","data":{"type":"object","title":"Klarna token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["Klarna"]},"paymentInstrument":{"description":"Klarna instrument details required for express checkout.","type":"object","required":["klarnaAuthorizationToken","klarnaSessionId"],"properties":{"klarnaAuthorizationToken":{"description":"Klarna authorization token.","type":"string"},"klarnaSessionId":{"description":"ID of the Klarna session.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CryptocurrencyToken":{"id":"components/schemas/CryptocurrencyToken","kind":"json-schema","title":"Cryptocurrency token","data":{"type":"object","title":"Cryptocurrency token","required":["method"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["cryptocurrency"]},"walletName":{"description":"Name of the crypto wallet.","type":["string","null"],"maxLength":255},"walletAddress":{"description":"Address of the crypto wallet.","type":["string","null"],"maxLength":255},"walletCurrency":{"description":"Currency of the crypto wallet.","type":["string","null"],"maxLength":255},"walletNetwork":{"description":"Network of the crypto wallet.","type":["string","null"],"maxLength":255},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CompositeToken":{"id":"components/schemas/CompositeToken","kind":"json-schema","title":"CompositeToken","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCardToken","paypal":"#/components/schemas/PayPalToken","ach":"#/components/schemas/BankAccountToken","echeck":"#/components/schemas/BankAccountToken","digital-wallet":"#/components/schemas/DigitalWalletToken","plaid-account":"#/components/schemas/PlaidAccountToken","Khelocard":"#/components/schemas/AlternativePaymentToken","Klarna":"#/components/schemas/KlarnaToken","cash":"#/components/schemas/AlternativePaymentToken","check":"#/components/schemas/AlternativePaymentToken","AdvCash":"#/components/schemas/AlternativePaymentToken","Alfa-click":"#/components/schemas/AlternativePaymentToken","Alipay":"#/components/schemas/AlternativePaymentToken","AstroPay Card":"#/components/schemas/AlternativePaymentToken","AstroPay-GO":"#/components/schemas/AlternativePaymentToken","BankReferenced":"#/components/schemas/AlternativePaymentToken","bank-transfer":"#/components/schemas/AlternativePaymentToken","bank-transfer-2":"#/components/schemas/AlternativePaymentToken","bank-transfer-3":"#/components/schemas/AlternativePaymentToken","bank-transfer-4":"#/components/schemas/AlternativePaymentToken","bank-transfer-5":"#/components/schemas/AlternativePaymentToken","bank-transfer-6":"#/components/schemas/AlternativePaymentToken","bank-transfer-7":"#/components/schemas/AlternativePaymentToken","bank-transfer-8":"#/components/schemas/AlternativePaymentToken","bank-transfer-9":"#/components/schemas/AlternativePaymentToken","Baloto":"#/components/schemas/AlternativePaymentToken","Beeline":"#/components/schemas/AlternativePaymentToken","Belfius-direct-net":"#/components/schemas/AlternativePaymentToken","bitcoin":"#/components/schemas/AlternativePaymentToken","Bizum":"#/components/schemas/AlternativePaymentToken","Boleto":"#/components/schemas/AlternativePaymentToken","cash-deposit":"#/components/schemas/AlternativePaymentToken","CASHlib":"#/components/schemas/AlternativePaymentToken","CashToCode":"#/components/schemas/AlternativePaymentToken","China UnionPay":"#/components/schemas/AlternativePaymentToken","Cleo":"#/components/schemas/AlternativePaymentToken","CODVoucher":"#/components/schemas/AlternativePaymentToken","Conekta-oxxo":"#/components/schemas/AlternativePaymentToken","Cupon-de-pagos":"#/components/schemas/AlternativePaymentToken","cryptocurrency":"#/components/schemas/CryptocurrencyToken","domestic-cards":"#/components/schemas/AlternativePaymentToken","ecoPayz":"#/components/schemas/AlternativePaymentToken","ecoVoucher":"#/components/schemas/AlternativePaymentToken","Efecty":"#/components/schemas/AlternativePaymentToken","EPS":"#/components/schemas/AlternativePaymentToken","ePay.bg":"#/components/schemas/AlternativePaymentToken","eZeeWallet":"#/components/schemas/AlternativePaymentToken","FasterPay":"#/components/schemas/AlternativePaymentToken","Flexepin":"#/components/schemas/AlternativePaymentToken","Giropay":"#/components/schemas/AlternativePaymentToken","Gpaysafe":"#/components/schemas/AlternativePaymentToken","Google Pay":"#/components/schemas/AlternativePaymentToken","iDebit":"#/components/schemas/AlternativePaymentToken","iDEAL":"#/components/schemas/AlternativePaymentToken","ING-homepay":"#/components/schemas/AlternativePaymentToken","INOVAPAY-pin":"#/components/schemas/AlternativePaymentToken","INOVAPAY-wallet":"#/components/schemas/AlternativePaymentToken","InstaDebit":"#/components/schemas/AlternativePaymentToken","instant-bank-transfer":"#/components/schemas/AlternativePaymentToken","InstantPayments":"#/components/schemas/AlternativePaymentToken","Interac":"#/components/schemas/AlternativePaymentToken","Interac-online":"#/components/schemas/AlternativePaymentToken","Interac-eTransfer":"#/components/schemas/AlternativePaymentToken","invoice":"#/components/schemas/AlternativePaymentToken","iWallet":"#/components/schemas/AlternativePaymentToken","Jeton":"#/components/schemas/AlternativePaymentToken","jpay":"#/components/schemas/AlternativePaymentToken","KNOT":"#/components/schemas/AlternativePaymentToken","loonie":"#/components/schemas/AlternativePaymentToken","Matrix":"#/components/schemas/AlternativePaymentToken","MaxiCash":"#/components/schemas/AlternativePaymentToken","Megafon":"#/components/schemas/AlternativePaymentToken","MiFinity-eWallet":"#/components/schemas/AlternativePaymentToken","miscellaneous":"#/components/schemas/AlternativePaymentToken","Bancontact":"#/components/schemas/AlternativePaymentToken","Bancontact-mobile":"#/components/schemas/AlternativePaymentToken","MTS":"#/components/schemas/AlternativePaymentToken","MuchBetter":"#/components/schemas/AlternativePaymentToken","Multibanco":"#/components/schemas/AlternativePaymentToken","Neosurf":"#/components/schemas/AlternativePaymentToken","Netbanking":"#/components/schemas/AlternativePaymentToken","Neteller":"#/components/schemas/AlternativePaymentToken","Nordea-Solo":"#/components/schemas/AlternativePaymentToken","OchaPay":"#/components/schemas/AlternativePaymentToken","online-bank-transfer":"#/components/schemas/AlternativePaymentToken","Onlineueberweisen":"#/components/schemas/AlternativePaymentToken","oriental-wallet":"#/components/schemas/AlternativePaymentToken","OXXO":"#/components/schemas/AlternativePaymentToken","P24":"#/components/schemas/AlternativePaymentToken","Pagadito":"#/components/schemas/AlternativePaymentToken","PagoEffectivo":"#/components/schemas/AlternativePaymentToken","Pagsmile-deposit-express":"#/components/schemas/AlternativePaymentToken","Pagsmile-lottery":"#/components/schemas/AlternativePaymentToken","PayCash":"#/components/schemas/AlternativePaymentToken","Payeer":"#/components/schemas/AlternativePaymentToken","PaymentAsia-crypto":"#/components/schemas/AlternativePaymentToken","Paymero":"#/components/schemas/AlternativePaymentToken","Perfect-money":"#/components/schemas/AlternativePaymentToken","Piastrix":"#/components/schemas/AlternativePaymentToken","PayTabs":"#/components/schemas/AlternativePaymentToken","Paysafecard":"#/components/schemas/AlternativePaymentToken","Paysafecash":"#/components/schemas/AlternativePaymentToken","Pay4Fun":"#/components/schemas/AlternativePaymentToken","Paynote":"#/components/schemas/AlternativePaymentToken","PinPay":"#/components/schemas/AlternativePaymentToken","phone":"#/components/schemas/AlternativePaymentToken","PhonePe":"#/components/schemas/AlternativePaymentToken","POLi":"#/components/schemas/AlternativePaymentToken","PostFinance-card":"#/components/schemas/AlternativePaymentToken","PostFinance-e-finance":"#/components/schemas/AlternativePaymentToken","QIWI":"#/components/schemas/AlternativePaymentToken","QPay":"#/components/schemas/AlternativePaymentToken","QQPay":"#/components/schemas/AlternativePaymentToken","rapyd-checkout":"#/components/schemas/AlternativePaymentToken","Resurs":"#/components/schemas/AlternativePaymentToken","SafetyPay":"#/components/schemas/AlternativePaymentToken","SEPA":"#/components/schemas/AlternativePaymentToken","Skrill":"#/components/schemas/AlternativePaymentToken","Skrill Rapid Transfer":"#/components/schemas/AlternativePaymentToken","SMSVoucher":"#/components/schemas/AlternativePaymentToken","Sofort":"#/components/schemas/AlternativePaymentToken","SparkPay":"#/components/schemas/AlternativePaymentToken","swift-dbt":"#/components/schemas/AlternativePaymentToken","Tele2":"#/components/schemas/AlternativePaymentToken","Terminaly-RF":"#/components/schemas/AlternativePaymentToken","ToditoCash-card":"#/components/schemas/AlternativePaymentToken","Trustly":"#/components/schemas/AlternativePaymentToken","UPayCard":"#/components/schemas/AlternativePaymentToken","UPI":"#/components/schemas/AlternativePaymentToken","USD-coin":"#/components/schemas/AlternativePaymentToken","VCreditos":"#/components/schemas/AlternativePaymentToken","VenusPoint":"#/components/schemas/AlternativePaymentToken","voucher":"#/components/schemas/AlternativePaymentToken","voucher-2":"#/components/schemas/AlternativePaymentToken","voucher-3":"#/components/schemas/AlternativePaymentToken","voucher-4":"#/components/schemas/AlternativePaymentToken","Webmoney":"#/components/schemas/AlternativePaymentToken","Webpay":"#/components/schemas/AlternativePaymentToken","Webpay-2":"#/components/schemas/AlternativePaymentToken","Webpay Card":"#/components/schemas/AlternativePaymentToken","WeChat Pay":"#/components/schemas/AlternativePaymentToken","XPay-P2P":"#/components/schemas/AlternativePaymentToken","XPay-QR":"#/components/schemas/AlternativePaymentToken","Yandex-money":"#/components/schemas/AlternativePaymentToken","Zotapay":"#/components/schemas/AlternativePaymentToken","Zimpler":"#/components/schemas/AlternativePaymentToken"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCardToken"},{"$ref":"#/components/schemas/PayPalToken"},{"$ref":"#/components/schemas/BankAccountToken"},{"$ref":"#/components/schemas/DigitalWalletToken"},{"$ref":"#/components/schemas/PlaidAccountToken"},{"$ref":"#/components/schemas/KlarnaToken"},{"$ref":"#/components/schemas/AlternativePaymentToken"},{"$ref":"#/components/schemas/CryptocurrencyToken"}]}},"components/schemas/DigitalWalletValidation":{"id":"components/schemas/DigitalWalletValidation","kind":"json-schema","title":"DigitalWalletValidation","data":{"type":"object","required":["type"],"discriminator":{"propertyName":"type","mapping":{"Apple Pay":"#/components/schemas/ApplePayValidation"}},"properties":{"type":{"description":"Type of digital wallet to validate.","type":"string","enum":["Apple Pay"]}}}},"components/schemas/ApplePayValidation":{"id":"components/schemas/ApplePayValidation","kind":"json-schema","title":"ApplePayValidation","data":{"description":"Apple Pay session validation.","allOf":[{"$ref":"#/components/schemas/DigitalWalletValidation"},{"type":"object","required":["validationRequest"],"properties":{"type":{"type":"string"},"validationRequest":{"description":"Validation request.","type":"object","properties":{"validationUrl":{"type":"string","description":"Apple Pay SDK URL that is used to perform validation."},"domainName":{"type":"string","description":"Domain where the client code, such as [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/), is executed.\nThe domain name must be registered in the Apple Pay console.\nFor more information, see [Register a domain for Apple Pay](https://www.rebilly.com/catalog/all/gateway-accounts/postdigitalwalletonboardingapplepay).","example":"www.example.com"},"displayName":{"type":"string","description":"Display name of your store.","example":"My Store"}},"writeOnly":true},"validationResponse":{"description":"Apple Pay SDK validation response.","type":"object","readOnly":true}}}]}},"components/schemas/PaymentInstructionToken":{"id":"components/schemas/PaymentInstructionToken","kind":"json-schema","title":"Payment token","data":{"type":"object","title":"Payment token","required":["token"],"properties":{"token":{"description":"Token ID of the payment.","type":"string"}}}},"components/schemas/PaymentInstructionInstrument":{"id":"components/schemas/PaymentInstructionInstrument","kind":"json-schema","title":"Payment instrument","data":{"type":"object","title":"Payment instrument","required":["paymentInstrumentId"],"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}}},"components/schemas/PaymentInstructionMethods":{"id":"components/schemas/PaymentInstructionMethods","kind":"json-schema","title":"Payment Methods","data":{"type":"object","title":"Payment Methods","properties":{"methods":{"type":"array","description":"List of available payment methods.\nOnly payment methods with at least one active gateway account are allowed.\n\nIf not specified all available payment methods are displayed.\n\nCustomer can choose any of those as well as the payment instrument for them.\nAdditional steps occur via a redirect to `approvalUrl`.","items":{"$ref":"#/components/schemas/PaymentMethod"}},"receivedBy":{"description":"Name of the cash receiver.\nThis field is available only for the `cash` payment method.","type":"string"},"reference":{"description":"Reference data.\nThis field is available only for the `check` and `bank-transfer` payment methods.","type":"string"}}}},"components/schemas/PaymentInstruction":{"id":"components/schemas/PaymentInstruction","kind":"json-schema","title":"PaymentInstruction","data":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstructionToken"},{"$ref":"#/components/schemas/PaymentInstructionInstrument"},{"$ref":"#/components/schemas/PaymentInstructionMethods"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"}]}},"components/schemas/TransactionQuery":{"id":"components/schemas/TransactionQuery","kind":"json-schema","title":"TransactionQuery","data":{"type":"object","properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"result":{"description":"Result of the transaction.","type":"string","readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","suspended","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/TransactionUpdate":{"id":"components/schemas/TransactionUpdate","kind":"json-schema","title":"TransactionUpdate","data":{"type":"object","description":"Updates the status of a transaction to `completed` with a specified `result` and optional currency and amount values.","required":["result"],"properties":{"result":{"description":"Result of the transaction.","type":"string","enum":["abandoned","approved","canceled","declined"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double"},"currency":{"description":"Currency of the transaction.","$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/TransactionRefund":{"id":"components/schemas/TransactionRefund","kind":"json-schema","title":"TransactionRefund","data":{"type":"object","required":["amount"],"properties":{"amount":{"description":"Amount of the refund.","type":"number","format":"double"},"description":{"description":"Description of the refund.","type":"string","maxLength":255},"isProcessedOutside":{"description":"Specifies if the refund is processed outside of Rebilly.","type":"boolean","default":false}}}},"components/schemas/TransactionTimeline":{"id":"components/schemas/TransactionTimeline","kind":"json-schema","title":"TransactionTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["amount-adjusted","blocklist-matched","bump-offer-accepted","bump-offer-presented","bump-offer-rejected","customer-redirected-offsite","customer-returned","dcc-offer-accepted","dcc-offer-forced","dcc-offer-presented","dcc-offer-rejected","dispute-changed","dispute-created","dispute-forfeited","dispute-lost","dispute-responded","dispute-won","gateway-connection-failed","gateway-connection-timed-out","gateway-response-received","offsite-transaction-completed","quickbooks-payment-created","quickbooks-refund-receipt-created","quickbooks-transaction-task-failed","risk-score-changed","timeline-comment-created","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-capture-delayed","transaction-captured","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-initiated","transaction-payment-method-changed","transaction-partially-refunded","transaction-process-requested","transaction-processed","transaction-queried","transaction-reconciled","transaction-refunded","transaction-retried","transaction-rules-processed","transaction-scheduled-time-changed","transaction-timeout-resolved","transaction-updated","transaction-voided","transaction-waiting-gateway","transaction-waiting-gateway-completed"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AllowedIps":{"id":"components/schemas/AllowedIps","kind":"json-schema","title":"AllowedIps","data":{"description":"List of IP addresses that are permitted access.\nPrivate subnets are prohibited.\nTo remove restrictions, set this value to `null`.","type":["array","null"],"items":{"type":"string","format":"ip"},"example":["153.12.32.33","201.54.122.0/24","2001:0db8:abcd:0012:0000:0000:0000:ffff","2001:db8:abcd:12::0/64"]}},"components/schemas/ApiKey":{"id":"components/schemas/ApiKey","kind":"json-schema","title":"ApiKey","data":{"type":"object","description":"API secret Key.","required":["description"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"description":{"description":"API key description.","type":"string"},"type":{"description":"Type of API key.","type":"string","default":"secret","enum":["secret","publishable"]},"acl":{"description":"Specify access control list here if creating a restricted API key.\nSend all matching permission with an empty scope to allow all permissions.","$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"apiUser":{"description":"API user name.","type":"string","readOnly":true},"secretKey":{"description":"Value of the API secret key.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ChargeTransaction":{"id":"components/schemas/ChargeTransaction","kind":"json-schema","title":"ChargeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["charge"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RefundTransaction":{"id":"components/schemas/RefundTransaction","kind":"json-schema","title":"RefundTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["refund"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BuyFeeTransaction":{"id":"components/schemas/BuyFeeTransaction","kind":"json-schema","title":"BuyFeeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["buy-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SellFeeTransaction":{"id":"components/schemas/SellFeeTransaction","kind":"json-schema","title":"SellFeeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["sell-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RiskReserveTransaction":{"id":"components/schemas/RiskReserveTransaction","kind":"json-schema","title":"RiskReserveTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve"]},"riskReserve":{"type":"object","properties":{"releaseTime":{"description":"Time of risk reserve release.","type":["string","null"],"format":"date-time","readOnly":true}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RiskReserveReleaseTransaction":{"id":"components/schemas/RiskReserveReleaseTransaction","kind":"json-schema","title":"RiskReserveReleaseTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve-release"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ReverseTransaction":{"id":"components/schemas/ReverseTransaction","kind":"json-schema","title":"ReverseTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["reverse"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BalanceTransaction":{"id":"components/schemas/BalanceTransaction","kind":"json-schema","title":"Balance transaction","data":{"type":"object","title":"Balance transaction","discriminator":{"propertyName":"type","mapping":{"charge":"#/components/schemas/ChargeTransaction","refund":"#/components/schemas/RefundTransaction","buy-fee":"#/components/schemas/BuyFeeTransaction","sell-fee":"#/components/schemas/SellFeeTransaction","risk-reserve":"#/components/schemas/RiskReserveTransaction","risk-reserve-release":"#/components/schemas/RiskReserveReleaseTransaction","reverse":"#/components/schemas/ReverseTransaction"}},"oneOf":[{"$ref":"#/components/schemas/ChargeTransaction"},{"$ref":"#/components/schemas/RefundTransaction"},{"$ref":"#/components/schemas/BuyFeeTransaction"},{"$ref":"#/components/schemas/SellFeeTransaction"},{"$ref":"#/components/schemas/RiskReserveTransaction"},{"$ref":"#/components/schemas/RiskReserveReleaseTransaction"},{"$ref":"#/components/schemas/ReverseTransaction"}]}},"components/schemas/BillingPortal":{"id":"components/schemas/BillingPortal","kind":"json-schema","title":"BillingPortal","data":{"type":"object","required":["websiteId","slug","name"],"properties":{"id":{"type":"string","description":"ID of the billing portal.","readOnly":true,"maxLength":50,"example":"bill_prt_0YV7K5TYV5D1P9ZNKDT39KZC3C"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"slug":{"description":"Path segment that is appended to the billing portal URL to help make it human-readable.\nExample: `https://example.com/billing-portal/{slug}`.","type":"string","minLength":5,"maxLength":100},"name":{"description":"Billing portal name.\nThis name is for internal use and helps you to organize and differentiate billing portals.\nThis value is not displayed to your customers.","type":"string"},"customDomain":{"description":"Custom domain for the billing portal.\nThe default domain is: `portal.secure-payments.app`.","type":["string","null"],"maxLength":255},"features":{"description":"Features that can be enabled for the billing portal.","type":"object","properties":{"authenticateWithPassword":{"description":"Specifies if a customer can authenticate with a password.","type":"boolean","default":true},"orderCancel":{"description":"Specifies if a customer can cancel an order.","type":"boolean","default":true},"orderAddressEdit":{"description":"Specifies if a customer can change an order address.","type":"boolean","default":true},"paymentInstrumentAdd":{"description":"Specifies if a customer can add a new payment instrument.","type":"boolean","default":true},"paymentInstrumentUpdate":{"description":"Specifies if a customer can update their payment instruments.","type":"boolean","default":true},"paymentInstrumentDeactivate":{"description":"Specifies if a customer can disable their payment instruments.","type":"boolean","default":true}}},"customization":{"description":"Visual customization options for the billing portal.","type":"object","properties":{"logoId":{"type":["string","null"],"description":"File ID of the billing portal logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"colors":{"description":"Various colors used in the billing portal.","type":"object","properties":{"primary":{"description":"Primary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"secondary":{"description":"Secondary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed in the billing portal.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}}}},"status":{"description":"Status of the billing portal. If the status is `inactive`,\nthe billing portal URL results in a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SmtpAuthorizationNone":{"id":"components/schemas/SmtpAuthorizationNone","kind":"json-schema","title":"SmtpAuthorizationNone","data":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"],"default":"none"}}}},"components/schemas/SmtpAuthorizationCramMd5":{"id":"components/schemas/SmtpAuthorizationCramMd5","kind":"json-schema","title":"SmtpAuthorizationCramMd5","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["cram-md5"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorizationLogin":{"id":"components/schemas/SmtpAuthorizationLogin","kind":"json-schema","title":"SmtpAuthorizationLogin","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["login"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorizationPlain":{"id":"components/schemas/SmtpAuthorizationPlain","kind":"json-schema","title":"SmtpAuthorizationPlain","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["plain"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorization":{"id":"components/schemas/SmtpAuthorization","kind":"json-schema","title":"SmtpAuthorization","data":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/SmtpAuthorizationNone","cram-md5":"#/components/schemas/SmtpAuthorizationCramMd5","login":"#/components/schemas/SmtpAuthorizationLogin","plain":"#/components/schemas/SmtpAuthorizationPlain"}},"oneOf":[{"$ref":"#/components/schemas/SmtpAuthorizationNone"},{"$ref":"#/components/schemas/SmtpAuthorizationCramMd5"},{"$ref":"#/components/schemas/SmtpAuthorizationLogin"},{"$ref":"#/components/schemas/SmtpAuthorizationPlain"}]}},"components/schemas/SmtpCredential":{"id":"components/schemas/SmtpCredential","kind":"json-schema","title":"SmtpCredential","data":{"type":"object","description":"SMTP credential.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["smtp"]},"host":{"type":"string","description":"SMTP host name."},"port":{"type":"integer","description":"SMTP port value.","minimum":1,"maximum":65535,"default":25},"encryption":{"type":"string","description":"Encryption value.","enum":["none","tls","ssl"],"default":"none"},"auth":{"$ref":"#/components/schemas/SmtpAuthorization"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/WebhookAuthorizationNone":{"id":"components/schemas/WebhookAuthorizationNone","kind":"json-schema","title":"WebhookAuthorizationNone","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["none"],"default":"none"}},"required":["type"]}},"components/schemas/WebhookAuthorizationBasic":{"id":"components/schemas/WebhookAuthorizationBasic","kind":"json-schema","title":"WebhookAuthorizationBasic","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["basic"],"default":"none"},"username":{"description":"Username for basic authentication.","type":"string"},"password":{"description":"Password for basic authentication.","type":"string","format":"password"}},"required":["username","password","type"]}},"components/schemas/WebhookAuthorizationDigest":{"id":"components/schemas/WebhookAuthorizationDigest","kind":"json-schema","title":"WebhookAuthorizationDigest","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["digest"],"default":"none"},"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"}},"required":["username","password","type"]}},"components/schemas/WebhookAuthorization":{"id":"components/schemas/WebhookAuthorization","kind":"json-schema","title":"WebhookAuthorization","data":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/WebhookAuthorizationNone","basic":"#/components/schemas/WebhookAuthorizationBasic","digest":"#/components/schemas/WebhookAuthorizationDigest"}},"oneOf":[{"$ref":"#/components/schemas/WebhookAuthorizationNone"},{"$ref":"#/components/schemas/WebhookAuthorizationBasic"},{"$ref":"#/components/schemas/WebhookAuthorizationDigest"}]}},"components/schemas/WebhookCredential":{"id":"components/schemas/WebhookCredential","kind":"json-schema","title":"WebhookCredential","data":{"type":"object","description":"Credential for webhook authentication.\nCredentials are associated with a host and contain authentication details.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["webhook"]},"host":{"type":"string","description":"Name of the host.","pattern":"^[A-Za-z0-9-.]+$","example":"app-prod.example.com"},"auth":{"$ref":"#/components/schemas/WebhookAuthorization"}}}},"components/schemas/ExperianCredential":{"id":"components/schemas/ExperianCredential","kind":"json-schema","title":"ExperianCredential","data":{"type":"object","description":"Experian integration provides identity verification.\nFor more information, see [Experian integration](https://www.rebilly.com/docs/automations/experian-integration/#experian-integration).","required":["username","password","hmacKey","publicKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["experian"]},"username":{"type":"string","description":"Username of the Experian account."},"password":{"type":"string","description":"Password of the Experian account.","format":"password"},"hmacKey":{"type":"string","description":"HMAC key that is used to generate the signature for Experian requests.","format":"password","example":"PxOclToLSxW4oAB5N5HSdfoslyEWuvfkLjfHeNG2aZY~"},"publicKey":{"type":"string","description":"HMAC public key that is included in the signature for Experian requests.","example":"8831AA5552FE10CD"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/MailgunCredential":{"id":"components/schemas/MailgunCredential","kind":"json-schema","title":"MailgunCredential","data":{"type":"object","description":"Mailgun credential.","required":["emailFrom","apiKey","domain","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["mailgun"]},"emailFrom":{"type":"string","format":"email","description":"Address from which emails are sent.","minLength":1,"maxLength":254},"apiKey":{"type":"string","description":"Mailgun API key."},"domain":{"type":"string","description":"Mailgun domain."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OAuth2Credential":{"id":"components/schemas/OAuth2Credential","kind":"json-schema","title":"OAuth2Credential","data":{"type":"object","description":"OAuth2 credential.","required":["code","scopes","service","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["oauth2"]},"service":{"description":"Name of the service to which the OAuth2 credential relates.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"code":{"description":"OAuth2 code provided by the authentication server.","type":"string","example":"2/smAHUUr9jOxw_IOp47Y_dH1r2Y"},"accessToken":{"description":"OAuth2 access token.","readOnly":true,"type":"string","example":"S9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkh"},"refreshToken":{"description":"OAuth2 refresh token.","readOnly":true,"type":"string","example":"2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94"},"expirationTime":{"description":"Date and time when the access token expires.","readOnly":true,"type":["string","null"],"format":"date-time"},"scopes":{"description":"List of URLs that are granted OAuth2 access.","type":"array","items":{"type":"string"},"example":["https://www.googleapis.com/auth/drive.metadata.readonly"]},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PostmarkCredential":{"id":"components/schemas/PostmarkCredential","kind":"json-schema","title":"PostmarkCredential","data":{"type":"object","description":"Postmark credential.","required":["serverApiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["postmark"]},"serverApiToken":{"type":"string","description":"Postmark server API token.","example":"dd0508z9-2291-6794-3376-z0a70g12eqm9"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SendGridCredential":{"id":"components/schemas/SendGridCredential","kind":"json-schema","title":"SendGridCredential","data":{"type":"object","description":"SendGrid credential.","required":["apiKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["sendgrid"]},"apiKey":{"type":"string","description":"SendGrid API key.","example":"SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SESCredential":{"id":"components/schemas/SESCredential","kind":"json-schema","title":"SESCredential","data":{"type":"object","description":"Amazon Web Services (AWS) Simple Email Service (SES) credential.","required":["key","secret","region","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["aws-ses"]},"key":{"type":"string","description":"ID of the AWS access key.","example":"BWITYO4UARGDLMFY6UDP"},"secret":{"type":"string","description":"Secret AWS access key.","example":"8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG"},"region":{"type":"string","description":"AWS region name.","example":"us-west-2"},"configurationSetName":{"type":"string","description":"Name of configuration set from which emails are sent.","example":"SpecialConfigurationSet"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/TaxJarCredential":{"id":"components/schemas/TaxJarCredential","kind":"json-schema","title":"TaxJarCredential","data":{"type":"object","description":"TaxJar integration enables you to calculate taxes and create transactions for the Sales Tax AutoFile feature in your TaxJar account.\nFor more information, see [TaxJar integration](https://www.rebilly.com/docs/automations/tax-jar-integration/#taxjar-integration).","required":["apiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["taxjar"]},"apiToken":{"type":"string","description":"TaxJar API token.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","default":false,"example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AvalaraCredential":{"id":"components/schemas/AvalaraCredential","kind":"json-schema","title":"AvalaraCredential","data":{"type":"object","description":"Avalara integration enables you to calculate taxes and create transactions in your Avalara account.","required":["licenseKey","accountId","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["avalara"]},"licenseKey":{"type":"string","description":"Avalara license key.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"accountId":{"type":"string","description":"ID of the Avalara account.","example":"a1b2c3d4e5f6"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PlaidCredential":{"id":"components/schemas/PlaidCredential","kind":"json-schema","title":"PlaidCredential","data":{"type":"object","description":"Plaid integration provides customer bank credential verification,\nand simplifies the process of providing credentials for your customers.\nFor more information, see [Plaid integration](https://www.rebilly.com/docs/automations/plaid-integration/).","required":["clientId","secretToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["plaid"]},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ServiceCredential":{"id":"components/schemas/ServiceCredential","kind":"json-schema","title":"ServiceCredential","data":{"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/SmtpCredential","webhook":"#/components/schemas/WebhookCredential","experian":"#/components/schemas/ExperianCredential","mailgun":"#/components/schemas/MailgunCredential","oauth2":"#/components/schemas/OAuth2Credential","postmark":"#/components/schemas/PostmarkCredential","sendgrid":"#/components/schemas/SendGridCredential","aws-ses":"#/components/schemas/SESCredential","taxjar":"#/components/schemas/TaxJarCredential","avalara":"#/components/schemas/AvalaraCredential","plaid":"#/components/schemas/PlaidCredential"}},"oneOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"$ref":"#/components/schemas/WebhookCredential"},{"$ref":"#/components/schemas/ExperianCredential"},{"$ref":"#/components/schemas/MailgunCredential"},{"$ref":"#/components/schemas/OAuth2Credential"},{"$ref":"#/components/schemas/PostmarkCredential"},{"$ref":"#/components/schemas/SendGridCredential"},{"$ref":"#/components/schemas/SESCredential"},{"$ref":"#/components/schemas/TaxJarCredential"},{"$ref":"#/components/schemas/AvalaraCredential"},{"$ref":"#/components/schemas/PlaidCredential"}]}},"components/schemas/PostSmtpCredential":{"id":"components/schemas/PostSmtpCredential","kind":"json-schema","title":"PostSmtpCredential","data":{"allOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp"],"readOnly":false}}}]}},"components/schemas/PostWebhookCredential":{"id":"components/schemas/PostWebhookCredential","kind":"json-schema","title":"PostWebhookCredential","data":{"allOf":[{"$ref":"#/components/schemas/WebhookCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["webhook"],"readOnly":false}}}]}},"components/schemas/PostExperianCredential":{"id":"components/schemas/PostExperianCredential","kind":"json-schema","title":"PostExperianCredential","data":{"allOf":[{"$ref":"#/components/schemas/ExperianCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["experian"],"readOnly":false}}}]}},"components/schemas/PostMailgunCredential":{"id":"components/schemas/PostMailgunCredential","kind":"json-schema","title":"PostMailgunCredential","data":{"allOf":[{"$ref":"#/components/schemas/MailgunCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["mailgun"],"readOnly":false}}}]}},"components/schemas/PostOAuth2Credential":{"id":"components/schemas/PostOAuth2Credential","kind":"json-schema","title":"PostOAuth2Credential","data":{"allOf":[{"$ref":"#/components/schemas/OAuth2Credential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["oauth2"],"readOnly":false}}}]}},"components/schemas/PostPostmarkCredential":{"id":"components/schemas/PostPostmarkCredential","kind":"json-schema","title":"PostPostmarkCredential","data":{"allOf":[{"$ref":"#/components/schemas/PostmarkCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["postmark"],"readOnly":false}}}]}},"components/schemas/PostSendGridCredential":{"id":"components/schemas/PostSendGridCredential","kind":"json-schema","title":"PostSendGridCredential","data":{"allOf":[{"$ref":"#/components/schemas/SendGridCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["sendgrid"],"readOnly":false}}}]}},"components/schemas/PostAwsSesCredential":{"id":"components/schemas/PostAwsSesCredential","kind":"json-schema","title":"PostAwsSesCredential","data":{"allOf":[{"$ref":"#/components/schemas/SESCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["aws-ses"],"readOnly":false}}}]}},"components/schemas/PostTaxJarCredential":{"id":"components/schemas/PostTaxJarCredential","kind":"json-schema","title":"PostTaxJarCredential","data":{"allOf":[{"$ref":"#/components/schemas/TaxJarCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"],"readOnly":false}}}]}},"components/schemas/PostAvalaraCredential":{"id":"components/schemas/PostAvalaraCredential","kind":"json-schema","title":"PostAvalaraCredential","data":{"allOf":[{"$ref":"#/components/schemas/AvalaraCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["avalara"],"readOnly":false}}}]}},"components/schemas/PostPlaidCredential":{"id":"components/schemas/PostPlaidCredential","kind":"json-schema","title":"PostPlaidCredential","data":{"allOf":[{"$ref":"#/components/schemas/PlaidCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"],"readOnly":false}}}]}},"components/schemas/PatchServiceCredentialRequest":{"id":"components/schemas/PatchServiceCredentialRequest","kind":"json-schema","title":"PatchServiceCredentialRequest","data":{"type":"object","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","avalara"]}}}},"components/schemas/PatchPlaidCredentialRequest":{"id":"components/schemas/PatchPlaidCredentialRequest","kind":"json-schema","title":"PatchPlaidCredentialRequest","data":{"type":"object","description":"Plaid credential.","required":["type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"]}}}},"components/schemas/PatchTaxJarCredentialRequest":{"id":"components/schemas/PatchTaxJarCredentialRequest","kind":"json-schema","title":"PatchTaxJarCredentialRequest","data":{"type":"object","description":"TaxJar credential.","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","example":false},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"]}}}},"components/schemas/CustomDomain":{"id":"components/schemas/CustomDomain","kind":"json-schema","title":"CustomDomain","data":{"type":"object","required":["domain"],"properties":{"id":{"description":"ID of the custom domain.","type":"string","maxLength":255,"readOnly":true},"domain":{"description":"Fully qualified domain name.","type":"string","maxLength":255},"isVerified":{"description":"True if the domain is verified by Rebilly.","type":"boolean","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EmailDeliverySetting":{"id":"components/schemas/EmailDeliverySetting","kind":"json-schema","title":"EmailDeliverySetting","data":{"type":"object","required":["from","name"],"properties":{"id":{"type":"string","description":"ID of the email delivery setting.","readOnly":true,"maxLength":50,"example":"mail_dst_0YVCNQV8PSCERAJ7N1V4WWPZN2"},"from":{"description":"Email address of the sender.\n\n> **Important:** This email address must be unique within your account.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"name":{"description":"Name of the sender.","type":"string","example":"John Doe"},"status":{"description":"Status of the email message.","readOnly":true,"type":"string","enum":["pending","verified"]},"credentialId":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"provider":{"readOnly":true,"description":"Email service provider name.","type":"string","enum":["rebilly","smtp","aws-ses","mailgun","postmark","sendgrid"],"example":"rebilly"},"isDefault":{"type":"boolean","description":"Specifies if the email delivery setting is used by default.","default":false},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EmailMessage":{"id":"components/schemas/EmailMessage","kind":"json-schema","title":"EmailMessage","data":{"type":"object","required":["from","to","subject","text","html"],"properties":{"id":{"type":"string","description":"ID of the email message.","readOnly":true,"maxLength":50,"example":"mail_msg_0YVCNR8ZRBCVMAX28DP4XRFZVA"},"status":{"description":"Status of the email message.","type":"string","enum":["draft","outbox","sent","failed"],"default":"draft"},"metadata":{"description":"Metadata associated with the email message.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"eventType":"subscription-canceled"}},"credentialHash":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"from":{"description":"Email address of the sender.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"to":{"description":"List of email addresses to which the email message is sent.","type":"array","minItems":1,"items":{"type":"string","format":"email","maxLength":254},"example":["to-example@rebilly.com"]},"cc":{"description":"List of CC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"bcc":{"description":"List of BCC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"subject":{"description":"Subject of the email message.","type":"string","maxLength":998,"example":"Welcome dear customer!"},"text":{"description":"Body of the email message in plain text.","type":"string","example":"Email message text body"},"html":{"description":"Body of the email message in HTML format.","type":"string","example":"<p>Email message html body</p>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"description":"Type of attachment resource.","type":"string","example":"invoice"},"resourceId":{"type":"string","description":"ID of the attachment resource.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"}}}},"responseCode":{"type":["integer","null"],"description":"Status code returned by a mail service after an attempt to send email.","readOnly":true,"example":250},"responseBody":{"type":["string","null"],"description":"Body of response returned by a mail service after an attempt to send email.","readOnly":true},"initiatedTime":{"type":["string","null"],"description":"Date and time when the email is initiated.","format":"date-time","readOnly":true},"sentTime":{"type":["string","null"],"description":"Date and time when the email is sent.","format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EventType":{"id":"components/schemas/EventType","kind":"json-schema","title":"EventType","data":{"type":"string","description":"Type of Rebilly event.","readOnly":true,"enum":["account-password-reset-requested","account-verification-requested","aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","customer-created","customer-one-time-password-requested","customer-updated","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-modified","kyc-document-rejected","kyc-request-fulfilled","order-abandon-reminder","order-abandoned","order-completed","order-change-applied","order-change-canceled","order-change-created","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-created","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","ready-to-payout-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","trial-usage-limit-reached","order-delinquency-reached","autodeposit-lookup-performed"]}},"components/schemas/EmailNotification":{"id":"components/schemas/EmailNotification","kind":"json-schema","title":"EmailNotification","data":{"type":"object","description":"Email notification event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"count":{"type":"integer","readOnly":true,"description":"Total number of binds with `send-email` actions per event."},"activeCount":{"type":"integer","readOnly":true,"description":"Number of active binds with `send-email` actions per event."},"notifications":{"readOnly":true,"type":"array","description":"List of notifications.","items":{"type":"object","properties":{"labels":{"description":"Labels of the notification.","type":"array","items":{"type":"string"}},"title":{"type":"string","description":"Title of the notification."},"isActive":{"type":"boolean","description":"Specifies if the notification is enabled."}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SystemEvent":{"id":"components/schemas/SystemEvent","kind":"json-schema","title":"SystemEvent","data":{"type":"object","description":"Application event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"description":"Title of the system event.","type":"string"},"description":{"description":"Description of the system event.","type":"string"},"category":{"description":"Category of system event.","type":"string","enum":["billing","payments"]},"rulesCount":{"description":"Total number of rules associated with the system event.\nA rule is a configuration of an event and one or more actions.\nA rule can be configured to stop subsequent rules in the event list from being executed.","type":"integer","readOnly":true},"bindsCount":{"description":"Total number of binds associated with the system event.\nA bind is a configuration of an event and one or more actions.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}}},"components/schemas/RuleAction":{"id":"components/schemas/RuleAction","kind":"json-schema","title":"RuleAction","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"abandon-scheduled-payments":"#/components/schemas/RuleActionAbandonScheduledPayments","add-risk-score":"#/components/schemas/RuleActionAddRiskScore","adjust-ready-to-pay":"#/components/schemas/RuleActionAdjustReadyToPay","adjust-ready-to-payout":"#/components/schemas/RuleActionAdjustReadyToPayout","blocklist":"#/components/schemas/RuleActionAddBlockList","cancel-scheduled-payments":"#/components/schemas/RuleActionCancelScheduledPayments","create-intuit-quickbooks-balance-transaction-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","create-intuit-quickbooks-invoice":"#/components/schemas/RuleActionCreateIntuitQuickbooksInvoice","create-intuit-quickbooks-payment":"#/components/schemas/RuleActionCreateIntuitQuickbooksPayment","create-intuit-quickbooks-refund-receipt":"#/components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","create-intuit-quickbooks-revenue-recognition-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","decline-transaction":"#/components/schemas/RuleActionDeclineTransaction","check-ontario-restriction":"#/components/schemas/RuleActionCheckOntarioRestriction","display-other-choices":"#/components/schemas/RuleActionDisplayOtherChoices","guess-payment-card-expiration":"#/components/schemas/RuleActionGuessPaymentCardExpiration","perform-experian-check":"#/components/schemas/RuleActionPerformExperianCheck","pick-gateway-account":"#/components/schemas/RuleActionPickGatewayAccount","request-kyc":"#/components/schemas/RuleActionRequestKyc","request-physical-address":"#/components/schemas/RuleActionRequestPhysicalAddress","schedule-invoice-retry":"#/components/schemas/RuleActionScheduleInvoiceRetry","schedule-payment":"#/components/schemas/RuleActionSchedulePayment","schedule-reminder":"#/components/schemas/RuleActionScheduleReminder","send-email":"#/components/schemas/RuleActionSendEmail","stop-subscriptions":"#/components/schemas/RuleActionStopSubscriptions","tag-or-untag-customer":"#/components/schemas/RuleActionTagOrUntagCustomer","update-intuit-quickbooks-invoice":"#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","void-intuit-quickbooks-invoice":"#/components/schemas/RuleActionVoidIntuitQuickbooksInvoice"}},"properties":{"name":{"type":"string","description":"Name of the action.","enum":["abandon-scheduled-payments","add-risk-score","adjust-ready-to-pay","adjust-ready-to-payout","blocklist","cancel-scheduled-payments","create-intuit-quickbooks-balance-transaction-entry","create-intuit-quickbooks-invoice","create-intuit-quickbooks-payment","create-intuit-quickbooks-refund-receipt","create-intuit-quickbooks-revenue-recognition-entry","decline-transaction","check-ontario-restriction","display-other-choices","guess-payment-card-expiration","perform-experian-check","pick-gateway-account","remove-reminder","request-kyc","request-physical-address","reset-reminder","schedule-invoice-retry","schedule-payment","schedule-reminder","send-email","stop-subscriptions","tag-or-untag-customer","update-intuit-quickbooks-invoice","void-intuit-quickbooks-invoice","trigger-webhook","show-descriptor-disclaimer"]},"status":{"description":"Status of the action.","type":"string","default":"active","enum":["active","inactive"]}},"required":["name"]}},"components/schemas/RuleActionAbandonScheduledPayments":{"id":"components/schemas/RuleActionAbandonScheduledPayments","kind":"json-schema","title":"RuleActionAbandonScheduledPayments","data":{"description":"Abandon scheduled payments for an order that exceeds the configured delinquency period.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionAddRiskScore":{"id":"components/schemas/RuleActionAddRiskScore","kind":"json-schema","title":"RuleActionAddRiskScore","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Add risk score.","properties":{"score":{"type":"integer","default":0}}}]}},"components/schemas/AdjustReadyToPayPaymentCard":{"id":"components/schemas/AdjustReadyToPayPaymentCard","kind":"json-schema","title":"Payment card","data":{"type":"object","title":"Payment card","properties":{"paymentMethod":{"type":"string","enum":["payment-card"]},"feature":{"type":["string","null"],"description":"Name of the feature.","enum":["Apple Pay","Google Pay"]}}}},"components/schemas/AdjustReadyToPayAch":{"id":"components/schemas/AdjustReadyToPayAch","kind":"json-schema","title":"ACH","data":{"type":"object","title":"ACH","properties":{"paymentMethod":{"type":"string","enum":["ach"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["Plaid"]}}}},"components/schemas/AdjustReadyToPayPaypal":{"id":"components/schemas/AdjustReadyToPayPaypal","kind":"json-schema","title":"PayPal","data":{"type":"object","title":"PayPal","properties":{"paymentMethod":{"type":"string","enum":["paypal"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["PayPal billing agreement"]}}}},"components/schemas/AdjustReadyToPayGeneric":{"id":"components/schemas/AdjustReadyToPayGeneric","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["paypal"]}}]},"feature":{"type":["string","null"]}}}},"components/schemas/AdjustPaymentMethod":{"id":"components/schemas/AdjustPaymentMethod","kind":"json-schema","title":"AdjustPaymentMethod","data":{"type":"object","required":["paymentMethod","feature"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayPaymentCard","ach":"#/components/schemas/AdjustReadyToPayAch","paypal":"#/components/schemas/AdjustReadyToPayPaypal","cash":"#/components/schemas/AdjustReadyToPayGeneric","check":"#/components/schemas/AdjustReadyToPayGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayGeneric","Alipay":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayGeneric","Baloto":"#/components/schemas/AdjustReadyToPayGeneric","Beeline":"#/components/schemas/AdjustReadyToPayGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayGeneric","Bizum":"#/components/schemas/AdjustReadyToPayGeneric","Boleto":"#/components/schemas/AdjustReadyToPayGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayGeneric","Cleo":"#/components/schemas/AdjustReadyToPayGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayGeneric","echeck":"#/components/schemas/AdjustReadyToPayGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Efecty":"#/components/schemas/AdjustReadyToPayGeneric","EPS":"#/components/schemas/AdjustReadyToPayGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayGeneric","Giropay":"#/components/schemas/AdjustReadyToPayGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayGeneric","iDebit":"#/components/schemas/AdjustReadyToPayGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayGeneric","Interac":"#/components/schemas/AdjustReadyToPayGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayGeneric","invoice":"#/components/schemas/AdjustReadyToPayGeneric","iWallet":"#/components/schemas/AdjustReadyToPayGeneric","Jeton":"#/components/schemas/AdjustReadyToPayGeneric","jpay":"#/components/schemas/AdjustReadyToPayGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayGeneric","Klarna":"#/components/schemas/AdjustReadyToPayGeneric","KNOT":"#/components/schemas/AdjustReadyToPayGeneric","loonie":"#/components/schemas/AdjustReadyToPayGeneric","Matrix":"#/components/schemas/AdjustReadyToPayGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayGeneric","Megafon":"#/components/schemas/AdjustReadyToPayGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayGeneric","MTS":"#/components/schemas/AdjustReadyToPayGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayGeneric","Neteller":"#/components/schemas/AdjustReadyToPayGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayGeneric","OXXO":"#/components/schemas/AdjustReadyToPayGeneric","P24":"#/components/schemas/AdjustReadyToPayGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayGeneric","PayCash":"#/components/schemas/AdjustReadyToPayGeneric","Payeer":"#/components/schemas/AdjustReadyToPayGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayGeneric","Paymero":"#/components/schemas/AdjustReadyToPayGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayGeneric","Paynote":"#/components/schemas/AdjustReadyToPayGeneric","PinPay":"#/components/schemas/AdjustReadyToPayGeneric","phone":"#/components/schemas/AdjustReadyToPayGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayGeneric","POLi":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayGeneric","QIWI":"#/components/schemas/AdjustReadyToPayGeneric","QPay":"#/components/schemas/AdjustReadyToPayGeneric","QQPay":"#/components/schemas/AdjustReadyToPayGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayGeneric","Resurs":"#/components/schemas/AdjustReadyToPayGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayGeneric","SEPA":"#/components/schemas/AdjustReadyToPayGeneric","Skrill":"#/components/schemas/AdjustReadyToPayGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Sofort":"#/components/schemas/AdjustReadyToPayGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayGeneric","Tele2":"#/components/schemas/AdjustReadyToPayGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayGeneric","Trustly":"#/components/schemas/AdjustReadyToPayGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayGeneric","UPI":"#/components/schemas/AdjustReadyToPayGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayGeneric","voucher":"#/components/schemas/AdjustReadyToPayGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayGeneric","Webpay":"#/components/schemas/AdjustReadyToPayGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayPaymentCard"},{"$ref":"#/components/schemas/AdjustReadyToPayAch"},{"$ref":"#/components/schemas/AdjustReadyToPayPaypal"},{"$ref":"#/components/schemas/AdjustReadyToPayGeneric"}]}},"components/schemas/RuleActionAdjustReadyToPay":{"id":"components/schemas/RuleActionAdjustReadyToPay","kind":"json-schema","title":"RuleActionAdjustReadyToPay","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to pay.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if the payment methods associated to with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of payment methods allowed.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustPaymentMethod"}}}}]}},"components/schemas/AdjustReadyToPayoutGeneric":{"id":"components/schemas/AdjustReadyToPayoutGeneric","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","$ref":"#/components/schemas/AlternativePaymentMethods"}}}},"components/schemas/AdjustReadyToPayoutPaymentMethod":{"id":"components/schemas/AdjustReadyToPayoutPaymentMethod","kind":"json-schema","title":"AdjustReadyToPayoutPaymentMethod","data":{"type":"object","required":["paymentMethod"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayoutGeneric","ach":"#/components/schemas/AdjustReadyToPayoutGeneric","paypal":"#/components/schemas/AdjustReadyToPayoutGeneric","cash":"#/components/schemas/AdjustReadyToPayoutGeneric","check":"#/components/schemas/AdjustReadyToPayoutGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayoutGeneric","Alipay":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayoutGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayoutGeneric","Baloto":"#/components/schemas/AdjustReadyToPayoutGeneric","Beeline":"#/components/schemas/AdjustReadyToPayoutGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayoutGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayoutGeneric","Bizum":"#/components/schemas/AdjustReadyToPayoutGeneric","Boleto":"#/components/schemas/AdjustReadyToPayoutGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayoutGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayoutGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayoutGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Cleo":"#/components/schemas/AdjustReadyToPayoutGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayoutGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayoutGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayoutGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayoutGeneric","echeck":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Efecty":"#/components/schemas/AdjustReadyToPayoutGeneric","EPS":"#/components/schemas/AdjustReadyToPayoutGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayoutGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayoutGeneric","Giropay":"#/components/schemas/AdjustReadyToPayoutGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayoutGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","iDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayoutGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayoutGeneric","invoice":"#/components/schemas/AdjustReadyToPayoutGeneric","iWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","Jeton":"#/components/schemas/AdjustReadyToPayoutGeneric","jpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayoutGeneric","Klarna":"#/components/schemas/AdjustReadyToPayoutGeneric","KNOT":"#/components/schemas/AdjustReadyToPayoutGeneric","loonie":"#/components/schemas/AdjustReadyToPayoutGeneric","Matrix":"#/components/schemas/AdjustReadyToPayoutGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Megafon":"#/components/schemas/AdjustReadyToPayoutGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayoutGeneric","MTS":"#/components/schemas/AdjustReadyToPayoutGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayoutGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayoutGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayoutGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayoutGeneric","Neteller":"#/components/schemas/AdjustReadyToPayoutGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayoutGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayoutGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayoutGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","OXXO":"#/components/schemas/AdjustReadyToPayoutGeneric","P24":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayoutGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayoutGeneric","PayCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Payeer":"#/components/schemas/AdjustReadyToPayoutGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayoutGeneric","Paymero":"#/components/schemas/AdjustReadyToPayoutGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayoutGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayoutGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayoutGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayoutGeneric","Paynote":"#/components/schemas/AdjustReadyToPayoutGeneric","PinPay":"#/components/schemas/AdjustReadyToPayoutGeneric","phone":"#/components/schemas/AdjustReadyToPayoutGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayoutGeneric","POLi":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayoutGeneric","QIWI":"#/components/schemas/AdjustReadyToPayoutGeneric","QPay":"#/components/schemas/AdjustReadyToPayoutGeneric","QQPay":"#/components/schemas/AdjustReadyToPayoutGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayoutGeneric","Resurs":"#/components/schemas/AdjustReadyToPayoutGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayoutGeneric","SEPA":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Sofort":"#/components/schemas/AdjustReadyToPayoutGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayoutGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayoutGeneric","Tele2":"#/components/schemas/AdjustReadyToPayoutGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayoutGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayoutGeneric","Trustly":"#/components/schemas/AdjustReadyToPayoutGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayoutGeneric","UPI":"#/components/schemas/AdjustReadyToPayoutGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayoutGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayoutGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayoutGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayoutGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayoutGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayoutGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayoutGeneric"}]}},"components/schemas/RuleActionAdjustReadyToPayout":{"id":"components/schemas/RuleActionAdjustReadyToPayout","kind":"json-schema","title":"RuleActionAdjustReadyToPayout","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to payout.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if payment methods that are associated with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of allowed payment methods.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustReadyToPayoutPaymentMethod"}}}}]}},"components/schemas/RuleActionAddBlockList":{"id":"components/schemas/RuleActionAddBlockList","kind":"json-schema","title":"RuleActionAddBlockList","data":{"description":"Add customer data to blocklist.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"type":{"type":"string","enum":["customer-id","email","fingerprint","ip-address","payment-card"]},"ttl":{"type":"integer","description":"Blocklist TTL.\nThe default value is zero, which means the blocklist record does not expire.","default":0}},"required":["type"]}]}},"components/schemas/RuleActionCancelScheduledPayments":{"id":"components/schemas/RuleActionCancelScheduledPayments","kind":"json-schema","title":"RuleActionCancelScheduledPayments","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"skipStartedServicePeriod":{"type":"boolean","description":"Skip invoices with started service period.","default":false}}}]}},"components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","data":{"description":"Create an Intuit QuickBooks balance transaction entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks balance transaction entry description.\n\nFor example, `Balance transaction of type {{ balanceTransaction.type }} for transaction #{{ transaction.id }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksInvoice","data":{"description":"Create an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."},"customerDisplayName":{"description":"Customer display name in QuickBooks. Duplicate names are mapped to a single QuickBooks customer.\n\nEvent placeholders could be used as follows:\n- Organization name: `{{ invoice.customer.primaryAddress.organization }}`;\n- Full customer name: `{{ invoice.customer.firstName }} {{ invoice.customer.lastName }}`;\n- Customer ID: `{{ invoice.customer.id }}`.","type":"string"}},"required":["credentialHash","customerDisplayName","unearnedRevenueAccount","customerDisplayName"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksPayment":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksPayment","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksPayment","data":{"description":"Create an Intuit QuickBooks payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksRefundReceipt","data":{"description":"Create an Intuit QuickBooks refund receipt.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","data":{"description":"Create an Intuit QuickBooks revenue recognition entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks revenue recognition entry description.\n\nFor example, `Revenue recognition for invoice #{{ invoice.id }} item #{{ item.id }} – {{ item.description }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]}},"components/schemas/RuleActionDeclineTransaction":{"id":"components/schemas/RuleActionDeclineTransaction","kind":"json-schema","title":"RuleActionDeclineTransaction","data":{"description":"Decline transaction.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionCheckOntarioRestriction":{"id":"components/schemas/RuleActionCheckOntarioRestriction","kind":"json-schema","title":"RuleActionCheckOntarioRestriction","data":{"description":"Decline transactions not conforming to the Ontario restrictions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionDisplayOtherChoices":{"id":"components/schemas/RuleActionDisplayOtherChoices","kind":"json-schema","title":"RuleActionDisplayOtherChoices","data":{"description":"Display other choices.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"choices":{"type":"array","minItems":1,"items":{"type":"object","properties":{"langIso":{"description":"Language in ISO 639-1 code format.","type":"string"},"content":{"type":"string"}},"required":["langIso","content"]}}},"required":["choices"]}]}},"components/schemas/RuleActionGuessPaymentCardExpiration":{"id":"components/schemas/RuleActionGuessPaymentCardExpiration","kind":"json-schema","title":"RuleActionGuessPaymentCardExpiration","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionPerformExperianCheck":{"id":"components/schemas/RuleActionPerformExperianCheck","kind":"json-schema","title":"RuleActionPerformExperianCheck","data":{"description":"Perform Experian ProveID check on the customer.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"experianCredentialHash":{"description":"Hash of the Experian credential to use for performing the check.","type":"string","example":"58816e40-387e-4834-982f-fa1855a75f64"},"tagOnApprove":{"description":"Tag ID that should be used to tag the customer when the identity matches Experian records.","type":"string"},"tagOnReject":{"description":"Tag ID that should be used to tag the customer when the identity doesn't match Experian records.","type":"string"},"tagOnUnknown":{"description":"Tag ID that should be used to tag the customer when the identity is not found in Experian records or further analysis needed.","type":"string"}},"required":["experianCredentialHash"]}]}},"components/schemas/GatewayAccountPickInstruction":{"id":"components/schemas/GatewayAccountPickInstruction","kind":"json-schema","title":"GatewayAccountPickInstruction","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"gateway-account-weights":"#/components/schemas/PickInstructionGatewayAccountWeights","gateway-acquirer-weights":"#/components/schemas/PickInstructionGatewayAcquirerWeights"}},"properties":{"strategy":{"type":"string","enum":["weighted-random","round-robin"],"description":"Controls the picking strategy for gateway accounts.\nThe weighted-random strategy picks based on weighted-random every time.\nThe round-robin strategy tries a weighted-random different gateway account for consecutive attempts from same payment instrument.","default":"weighted-random"},"method":{"type":"string","enum":["gateway-account-weights","gateway-acquirer-weights"]}},"required":["method"]}},"components/schemas/PickInstructionGatewayAccountWeights":{"id":"components/schemas/PickInstructionGatewayAccountWeights","kind":"json-schema","title":"PickInstructionGatewayAccountWeights","data":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayAccountId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"weight":{"type":"integer","minimum":0}},"required":["gatewayAccountId","weight"]},"example":[{"gatewayAccountId":"my_gateway_account_1","weight":80},{"gatewayAccountId":"my_gateway_account_2","weight":20}]}},"required":["weightedList"]}]}},"components/schemas/PickInstructionGatewayAcquirerWeights":{"id":"components/schemas/PickInstructionGatewayAcquirerWeights","kind":"json-schema","title":"PickInstructionGatewayAcquirerWeights","data":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"$ref":"#/components/schemas/AcquirerName"},"weight":{"type":"integer","minimum":0}},"required":["gatewayName","acquirerName","weight"]},"example":[{"gatewayName":"TestProcessor","acquirerName":"AIB","weight":80},{"gatewayName":"TestProcessor","acquirerName":"B+S","weight":20}]}},"required":["weightedList"]}]}},"components/schemas/RuleActionPickGatewayAccount":{"id":"components/schemas/RuleActionPickGatewayAccount","kind":"json-schema","title":"RuleActionPickGatewayAccount","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"pickInstruction":{"$ref":"#/components/schemas/GatewayAccountPickInstruction"}},"required":["pickInstruction"]}]}},"components/schemas/RuleActionRequestKyc":{"id":"components/schemas/RuleActionRequestKyc","kind":"json-schema","title":"RuleActionRequestKyc","data":{"description":"Request KYC page to verify customer identity.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"excludePolicy":{"type":"string","description":"Specifies who should be excluded from the verification.","enum":["customers-with-accepted-document","customers-with-document","none"],"default":"customers-with-accepted-document"},"isMandatory":{"type":"boolean","description":"Is the verification mandatory.","default":true},"promptPolicy":{"type":"string","description":"When to prompt, before or after processing the transaction.","enum":["before-transaction-process","after-transaction-process"],"default":"before-transaction-process"},"rejectedBeforeTransactionProcessPolicy":{"type":"string","description":"What to do if verification is before transaction processing, and is rejected.","enum":["process-transaction","decline","use-alternate-gateway"],"default":"decline"},"alternateGatewayAccountIfRejected":{"type":"string","description":"Gateway account to use if use-alternate-gateway is selected for rejectedBeforeTransactionProcessPolicy."},"rejectedAfterTransactionProcessPolicy":{"type":"string","description":"What to do if verification is after transaction processing, and is rejected.","enum":["proceed"],"default":"proceed"},"optionalPolicy":{"type":"string","description":"What to do if verification is optional.","enum":["allow-bypass","allow-use-alternate-gateway"],"default":"allow-bypass"},"alternateGatewayAccountIfOptional":{"type":"string","description":"Gateway account to use if allow-use-alternate-gateway is selected for optionalPolicy."},"bypassCurrencyToDisplay":{"description":"Currency three letter code to display on the bypass link, if optional.","type":"string","default":"USD"}},"required":["documents","excludePolicy","isMandatory","promptPolicy","rejectedBeforeTransactionProcessPolicy","rejectedAfterTransactionProcessPolicy","optionalPolicy"]}]}},"components/schemas/RuleActionRequestPhysicalAddress":{"id":"components/schemas/RuleActionRequestPhysicalAddress","kind":"json-schema","title":"RuleActionRequestPhysicalAddress","data":{"description":"Displays a Rebilly-hosted page where the customer can provide a street address and postal code before the payment is sent to the gateway.\nThe page is displayed only if the customer's primary address is a PO Box.\nThe submitted values are stored in the `referenceData` field of the transaction using the `physicalAddress` and `physicalAddressPostalCode` keys.\nAfter the customer provides an address, the page is not displayed on their later payments.\nIf the customer skips this step, the page is displayed again on their next payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"instructionsText":{"description":"Text that is displayed above the form.\nHTML is permitted.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":65535},"buttonText":{"description":"Text of the button that the customer can press to submit the address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255},"skipLinkText":{"description":"Text of the link that the customer can select to skip the address step and continue the payment without providing an address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255}}}]}},"components/schemas/RuleActionScheduleInvoiceRetry":{"id":"components/schemas/RuleActionScheduleInvoiceRetry","kind":"json-schema","title":"RuleActionScheduleInvoiceRetry","data":{"description":"Schedule an invoice retry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Policy on the attempt finishes.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Policy on the retry ends.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}},"overrideRetryInstruction":{"description":"Specifies whether to replace the existing retry.","type":"boolean"}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies","overrideRetryInstruction"]}]}},"components/schemas/SchedulingMethodAuto":{"id":"components/schemas/SchedulingMethodAuto","kind":"json-schema","title":"SchedulingMethodAuto","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["auto"]}}}},"components/schemas/ScheduleInstruction":{"id":"components/schemas/ScheduleInstruction","kind":"json-schema","title":"ScheduleInstruction","data":{"type":"object","description":"Specifies when the instruction is performed.","discriminator":{"propertyName":"method","mapping":{"auto":"#/components/schemas/SchedulingMethodAuto","date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodAuto"},{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]}},"components/schemas/RuleActionSchedulePayment":{"id":"components/schemas/RuleActionSchedulePayment","kind":"json-schema","title":"RuleActionSchedulePayment","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Calculation instruction of scheduled time for payment.","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/ScheduleInstruction"},"amountPolicy":{"type":"string","enum":["invoice-amount-due"]}},"required":["scheduleInstruction","amountPolicy"]}]}},"components/schemas/ReminderScheduleInstruction":{"id":"components/schemas/ReminderScheduleInstruction","kind":"json-schema","title":"ReminderScheduleInstruction","data":{"type":"object","description":"Calculation instruction of the scheduled time.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]}},"components/schemas/RuleActionScheduleReminder":{"id":"components/schemas/RuleActionScheduleReminder","kind":"json-schema","title":"RuleActionScheduleReminder","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","deprecated":true,"properties":{"role":{"type":"string","enum":["all","renewal","trial-end"],"description":"Specifies the types of events that the reminder is applicable to.\nThe `renewal` and `trial-end` options are only available for order events.\nOther events must use the `all` option."},"schedule":{"type":"object","description":"Collection of schedule instructions.","properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/ReminderScheduleInstruction"}},"chronology":{"type":"string","enum":["before","after"]}},"required":["instructions","chronology"]}},"required":["role"]}]}},"components/schemas/RulesEmailNotification":{"id":"components/schemas/RulesEmailNotification","kind":"json-schema","title":"RulesEmailNotification","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the message."},"version":{"type":"string","description":"Version number of the message.\nUse this field to distinguish between multiple messages by name and version number.\nIf there are no versions, this field is empty."},"weight":{"type":"integer","description":"Weight distribution value that is assigned to a template for a split test.\nEach template in a split test can be assigned a weight.\nThe higher the weight value, the more likely the message template is used.\n\nThe split test algorithm does not assess locale when making a weighted template selection.","minimum":0,"maximum":100,"example":75,"default":100},"templates":{"description":"Array of message templates with language locale identifiers in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.\nA language is selected based on the customer's locale.\n\nIf no locale is configured for the customer, `en-US` (US English) is used.\n\nIf no template is available in the customer's locale,\na template locale is selected using a closest match algorithm.\n\nIf your email message templates are localized into more than one language,\nset a customer locale.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.","type":"array","minItems":1,"items":{"type":"object","required":["locale","subject","text","html","from","to"],"properties":{"locale":{"type":"string","description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR"},"from":{"type":"string","description":"Email address of the sender.\n\n> **Important:** This value must be a verified email address.\n\nTo verify an email address:\n  1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/).\n    In the response, you receive the email and a token.\n  1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter.\n\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to a verified `from` address,\nthe default verified `from` address is used.","maxLength":254,"example":"example@example.com"},"to":{"type":"array","description":"List of email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","minItems":1,"items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"cc":{"type":"array","description":"List of CC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"bcc":{"type":"array","description":"List of BCC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"subject":{"type":"string","description":"Subject of the message.\nThe use of template placeholders is permitted for this field.","maxLength":998,"example":"Demonstration subject"},"text":{"type":"string","description":"Text body of the message.\nTo use content from the `html` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"Demonstration text"},"html":{"type":"string","description":"HTML body of the message.\nTo use content from the `text` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"<p>Demonstration text</p>"},"editor":{"type":"string","description":"Source of the message.\nThis value is required for the email editor.\nThis value is not used for sending emails.\nIt is used by the editor to reproduce the message for future updates.","example":"<div class=\"block\">Demonstration text</div>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"type":"string","description":"Type of the attachment resource.","example":"customer"},"resourceId":{"type":"string","description":"ID of the attachment resource.\nTemplate placeholders are permitted.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"}}}}},"example":{"locale":"fr-FR","from":"example@example.com","to":["{{ invoice.customer.email }}"],"subject":"Sujet de démonstration","text":"Texte de démonstration","html":"<p>Texte de démonstration</p>","editor":"<div class=\"block\">Texte de démonstration</div>"}}}},"required":["templates"]}},"components/schemas/RuleActionSendEmail":{"id":"components/schemas/RuleActionSendEmail","kind":"json-schema","title":"RuleActionSendEmail","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the action."},"title":{"type":"string","description":"Title of the messages (this title appears in reports)."},"emails":{"type":"array","description":"List of messages.","minItems":1,"items":{"$ref":"#/components/schemas/RulesEmailNotification"}},"splitTestStartTime":{"type":"string","format":"date-time","description":"Split test start time."}},"required":["emails"]}]}},"components/schemas/RuleActionStopSubscriptions":{"id":"components/schemas/RuleActionStopSubscriptions","kind":"json-schema","title":"RuleActionStopSubscriptions","data":{"description":"Stop active subscriptions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionTagOrUntagCustomer":{"id":"components/schemas/RuleActionTagOrUntagCustomer","kind":"json-schema","title":"RuleActionTagOrUntagCustomer","data":{"description":"Tag or untag a customer with a specified list of tags.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"addingTags":{"description":"List of tag ID customer should be tagged with.","type":"array","maxItems":1000,"items":{"type":"string"}},"removingTags":{"description":"List of tag ID customer should be untagged from.","type":"array","maxItems":1000,"items":{"type":"string"}}},"required":["addingTags","removingTags"]}]}},"components/schemas/RuleActionUpdateIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionUpdateIntuitQuickbooksInvoice","data":{"description":"Update an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","unearnedRevenueAccount"]}]}},"components/schemas/RuleActionVoidIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionVoidIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionVoidIntuitQuickbooksInvoice","data":{"description":"Void an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash"]}]}},"components/schemas/Bind":{"id":"components/schemas/Bind","kind":"json-schema","title":"Bind","data":{"type":"object","description":"Rule information.","properties":{"id":{"description":"ID of the rule.","$ref":"#/components/schemas/ResourceId"},"name":{"description":"Name of the rule.","type":"string"},"labels":{"description":"Labels of the rule.","type":"array","uniqueItems":true,"example":["test-rule","category:foo"],"items":{"type":"string","pattern":"[a-zA-Z][a-zA-Z0-9:-]*"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"actions":{"description":"Actions that execute when an event occurs.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RuleAction"}}},"required":["name","actions"]}},"components/schemas/Rule":{"id":"components/schemas/Rule","kind":"json-schema","title":"Rule","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/Bind"},{"type":"object","properties":{"final":{"description":"Specifies if the rule stops subsequent rules in the event list from being executed.","type":"boolean","default":true}}}]}},"components/schemas/RuleSet":{"id":"components/schemas/RuleSet","kind":"json-schema","title":"RuleSet","data":{"type":"object","description":"Ruleset for a specific event.","properties":{"version":{"description":"Version of the ruleset.","type":"integer","readOnly":true},"binds":{"type":"array","description":"Binds always execute, regardless of rule based events.\nA bind is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Bind"}},"rules":{"type":"array","description":"Rules can be configured to stop subsequent rules in the event list from being executed.\nA rule is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Rule"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}},"required":["rules"]}},"components/schemas/RuleSetHistoryItem":{"id":"components/schemas/RuleSetHistoryItem","kind":"json-schema","title":"RuleSetHistoryItem","data":{"type":"object","description":"Version of ruleset.","readOnly":true,"properties":{"version":{"description":"Version of the ruleset.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}}},"components/schemas/GatewayAccount":{"id":"components/schemas/GatewayAccount","kind":"json-schema","title":"GatewayAccount","data":{"description":"Gateway account details.","type":"object","required":["gatewayName","method","acceptedCurrencies"],"discriminator":{"propertyName":"gatewayName","mapping":{"A1Gateway":"#/components/schemas/A1Gateway","ACI":"#/components/schemas/ACI","Adyen":"#/components/schemas/Adyen","Aera":"#/components/schemas/Aera","Aircash":"#/components/schemas/Aircash","Airpay":"#/components/schemas/Airpay","Airwallex":"#/components/schemas/Airwallex","AmazonPay":"#/components/schemas/AmazonPay","AmexVPC":"#/components/schemas/AmexVPC","Antom":"#/components/schemas/Antom","ApcoPay":"#/components/schemas/ApcoPay","AsiaPay":"#/components/schemas/AsiaPay","AsiaPaymentGateway":"#/components/schemas/AsiaPaymentGateway","AstroPayCard":"#/components/schemas/AstroPayCard","AuthorizeNet":"#/components/schemas/AuthorizeNet","Awepay":"#/components/schemas/Awepay","Bambora":"#/components/schemas/Bambora","BankSEND":"#/components/schemas/BankSEND","BitPay":"#/components/schemas/BitPay","BlueSnap":"#/components/schemas/BlueSnap","BraintreePayments":"#/components/schemas/BraintreePayments","Buckaroo":"#/components/schemas/Buckaroo","BVNK":"#/components/schemas/BVNK","CASHlib":"#/components/schemas/CASHlib","CODVoucher":"#/components/schemas/CODVoucher","Coinbase":"#/components/schemas/Coinbase","CoinGate":"#/components/schemas/CoinGate","CoinPayments":"#/components/schemas/CoinPayments","Cardknox":"#/components/schemas/Cardknox","Cashflows":"#/components/schemas/Cashflows","Cashterminal":"#/components/schemas/Cashterminal","CashToCode":"#/components/schemas/CashToCode","CauriPayment":"#/components/schemas/CauriPayment","Cayan":"#/components/schemas/Cayan","CCAvenue":"#/components/schemas/CCAvenue","Chase":"#/components/schemas/Chase","CheckoutCom":"#/components/schemas/CheckoutCom","Chillstock":"#/components/schemas/Chillstock","Circle":"#/components/schemas/Circle","Citadel":"#/components/schemas/Citadel","Clearhaus":"#/components/schemas/Clearhaus","Cleo":"#/components/schemas/Cleo","Conekta":"#/components/schemas/Conekta","Coppr":"#/components/schemas/Coppr","Cps":"#/components/schemas/Cps","Credorax":"#/components/schemas/Credorax","Cryptomus":"#/components/schemas/Cryptomus","Cryptonator":"#/components/schemas/Cryptonator","CyberSource":"#/components/schemas/CyberSource","DataCash":"#/components/schemas/DataCash","Dengi":"#/components/schemas/Dengi","Dimoco":"#/components/schemas/Dimoco","dLocal":"#/components/schemas/dLocal","Dragonphoenix":"#/components/schemas/Dragonphoenix","Dropayment":"#/components/schemas/Dropayment","Directa24":"#/components/schemas/Directa24","EasyPayDirect":"#/components/schemas/EasyPayDirect","EBANX":"#/components/schemas/EBANX","EPG":"#/components/schemas/EPG","EPro":"#/components/schemas/EPro","EcorePay":"#/components/schemas/EcorePay","Elavon":"#/components/schemas/Elavon","EMS":"#/components/schemas/EMS","ePay":"#/components/schemas/ePay","Euteller":"#/components/schemas/Euteller","Ezeebill":"#/components/schemas/Ezeebill","eZeeWallet":"#/components/schemas/eZeeWallet","ezyEFT":"#/components/schemas/ezyEFT","FinTecSystems":"#/components/schemas/FinTecSystems","Finrax":"#/components/schemas/Finrax","Flexepin":"#/components/schemas/Flexepin","Forte":"#/components/schemas/Forte","FundSend":"#/components/schemas/FundSend","gate2way":"#/components/schemas/gate2way","GET":"#/components/schemas/GET","Gigadat":"#/components/schemas/Gigadat","GlobalOne":"#/components/schemas/GlobalOne","GoCardless":"#/components/schemas/GoCardless","Gooney":"#/components/schemas/Gooney","Gpaysafe":"#/components/schemas/Gpaysafe","Greenbox":"#/components/schemas/Greenbox","HiPay":"#/components/schemas/HiPay","iCashOne":"#/components/schemas/iCashOne","ICEPAY":"#/components/schemas/ICEPAY","INOVAPAY":"#/components/schemas/INOVAPAY","Ilixium":"#/components/schemas/Ilixium","IMerchant":"#/components/schemas/IMerchant","Ingenico":"#/components/schemas/Ingenico","Inovio":"#/components/schemas/Inovio","InstaDebit":"#/components/schemas/InstaDebit","Intuit":"#/components/schemas/Intuit","IpayOptions":"#/components/schemas/IpayOptions","Isx":"#/components/schemas/Isx","JetPay":"#/components/schemas/JetPay","Jeton":"#/components/schemas/Jeton","JPMOrbital":"#/components/schemas/JPMOrbital","Khelocard":"#/components/schemas/Khelocard","Klarna":"#/components/schemas/Klarna","Konnektive":"#/components/schemas/Konnektive","Kushki":"#/components/schemas/Kushki","LaCore":"#/components/schemas/LaCore","Limepay":"#/components/schemas/Limepay","Loonio":"#/components/schemas/Loonio","loonie":"#/components/schemas/loonie","LPG":"#/components/schemas/LPG","MaxiCash":"#/components/schemas/MaxiCash","MercadoPago":"#/components/schemas/MercadoPago","MiFinity":"#/components/schemas/MiFinity","MobilePay":"#/components/schemas/MobilePay","Mollie":"#/components/schemas/Mollie","Moneris":"#/components/schemas/Moneris","Monolo":"#/components/schemas/Monolo","MonRem":"#/components/schemas/MonRem","MtaPay":"#/components/schemas/MtaPay","MuchBetter":"#/components/schemas/MuchBetter","MuchBetterGateway":"#/components/schemas/MuchBetterGateway","MyFatoorah":"#/components/schemas/MyFatoorah","Naewe":"#/components/schemas/Naewe","Neosurf":"#/components/schemas/Neosurf","NMI":"#/components/schemas/NMI","Netbanking":"#/components/schemas/Netbanking","Neteller":"#/components/schemas/Neteller","NGenius":"#/components/schemas/NGenius","NinjaWallet":"#/components/schemas/NinjaWallet","NordikCoin":"#/components/schemas/NordikCoin","NOWPayments":"#/components/schemas/NOWPayments","NuaPay":"#/components/schemas/NuaPay","OchaPay":"#/components/schemas/OchaPay","OmniMatrix":"#/components/schemas/OmniMatrix","Onlineueberweisen":"#/components/schemas/Onlineueberweisen","OnRamp":"#/components/schemas/OnRamp","Orbital":"#/components/schemas/Orbital","Pagadito":"#/components/schemas/Pagadito","Pagsmile":"#/components/schemas/Pagsmile","Panamerican":"#/components/schemas/Panamerican","PandaGateway":"#/components/schemas/PandaGateway","ParamountCommerce":"#/components/schemas/ParamountCommerce","ParamountEft":"#/components/schemas/ParamountEft","ParamountInterac":"#/components/schemas/ParamountInterac","Pay4Fun":"#/components/schemas/Pay4Fun","Paybilt":"#/components/schemas/Paybilt","PayCash":"#/components/schemas/PayCash","PayClub":"#/components/schemas/PayClub","Paycly":"#/components/schemas/Paycly","PayCom":"#/components/schemas/PayCom","PayEcards":"#/components/schemas/PayEcards","Paynote":"#/components/schemas/Paynote","PayPal":"#/components/schemas/PayPal","Payeezy":"#/components/schemas/Payeezy","Payflow":"#/components/schemas/Payflow","PayGlocal":"#/components/schemas/PayGlocal","PaymentAsia":"#/components/schemas/PaymentAsia","PaymenTechnologies":"#/components/schemas/PaymenTechnologies","PaymentsOS":"#/components/schemas/PaymentsOS","Paymero":"#/components/schemas/Paymero","Payper":"#/components/schemas/Payper","Payr":"#/components/schemas/Payr","PayRedeem":"#/components/schemas/PayRedeem","PayRetailers":"#/components/schemas/PayRetailers","Paysafe":"#/components/schemas/Paysafe","Paysafecard":"#/components/schemas/Paysafecard","Paysafecash":"#/components/schemas/Paysafecash","PayTabs":"#/components/schemas/PayTabs","PayU":"#/components/schemas/PayU","PayULatam":"#/components/schemas/PayULatam","Payvision":"#/components/schemas/Payvision","PayXpert":"#/components/schemas/PayXpert","PharosPayments":"#/components/schemas/PharosPayments","Piastrix":"#/components/schemas/Piastrix","Pin4Pay":"#/components/schemas/Pin4Pay","Plugnpay":"#/components/schemas/Plugnpay","PostFinance":"#/components/schemas/PostFinance","Powertranz":"#/components/schemas/Powertranz","PSiGate":"#/components/schemas/PSiGate","PPRO":"#/components/schemas/PPRO","Prosa":"#/components/schemas/Prosa","Quickpay":"#/components/schemas/Quickpay","Rapyd":"#/components/schemas/Rapyd","RPN":"#/components/schemas/RPN","Realex":"#/components/schemas/Realex","Realtime":"#/components/schemas/Realtime","Redsys":"#/components/schemas/Redsys","Rotessa":"#/components/schemas/Rotessa","Safecharge":"#/components/schemas/Safecharge","SaltarPay":"#/components/schemas/SaltarPay","SMSVoucher":"#/components/schemas/SMSVoucher","Sofort":"#/components/schemas/Sofort","Sagepay":"#/components/schemas/Sagepay","SeamlessChex":"#/components/schemas/SeamlessChex","SecureTrading":"#/components/schemas/SecureTrading","SecurionPay":"#/components/schemas/SecurionPay","Skrill":"#/components/schemas/Skrill","SmartInvoice":"#/components/schemas/SmartInvoice","SparkPay":"#/components/schemas/SparkPay","Splitit":"#/components/schemas/Splitit","StaticGateway":"#/components/schemas/StaticGateway","STPMexico":"#/components/schemas/STPMexico","Stripe":"#/components/schemas/Stripe","Tabby":"#/components/schemas/Tabby","Telr":"#/components/schemas/Telr","TestProcessor":"#/components/schemas/TestProcessor","Thunes":"#/components/schemas/Thunes","ToditoCash":"#/components/schemas/ToditoCash","Triple000":"#/components/schemas/Triple000","Truevo":"#/components/schemas/Truevo","TrustsPay":"#/components/schemas/TrustsPay","Trustly":"#/components/schemas/Trustly","TWINT":"#/components/schemas/TWINT","Txn":"#/components/schemas/Txn","Unlimit":"#/components/schemas/Unlimit","UPayCard":"#/components/schemas/UPayCard","USAePay":"#/components/schemas/USAePay","VantivLitle":"#/components/schemas/VantivLitle","VCreditos":"#/components/schemas/VCreditos","VegaWallet":"#/components/schemas/VegaWallet","Viva":"#/components/schemas/Viva","Wallet88":"#/components/schemas/Wallet88","Walpay":"#/components/schemas/Walpay","WesternUnion":"#/components/schemas/WesternUnion","Wirecard":"#/components/schemas/Wirecard","WorldlineAtosFrankfurt":"#/components/schemas/WorldlineAtosFrankfurt","Worldpay":"#/components/schemas/Worldpay","Zotapay":"#/components/schemas/Zotapay","eMerchantPay":"#/components/schemas/eMerchantPay","ecoPayz":"#/components/schemas/ecoPayz","ecoPayzTurkey":"#/components/schemas/ecoPayzTurkey","iCanPay":"#/components/schemas/iCanPay","iCheque":"#/components/schemas/iCheque","iDebit":"#/components/schemas/iDebit","vegaaH":"#/components/schemas/vegaaH","XPay":"#/components/schemas/XPay","Zimpler":"#/components/schemas/Zimpler"}},"properties":{"id":{"type":"string","description":"ID of the payment gateway account.","readOnly":true,"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"default":"Other","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"$ref":"#/components/schemas/PaymentMethod"},"acceptedCurrencies":{"description":"Accepted currencies.\nThis is an array of ISO 4217 currency codes.","type":"array","items":{"type":"string"}},"paymentCardSchemes":{"description":"Accepted payment card brands.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"status":{"description":"Status of the gateway account.","readOnly":true,"type":"string","enum":["active","inactive","pending","closed"]},"merchantCategoryCode":{"description":"Merchant category code of the payment gateway account.","type":"string","pattern":"^[0-9]{4}$","default":"0000"},"dccMarkup":{"description":"Dynamic currency conversion markup in basis points.\nThis value cannot be `0` if the `dccForceCurrency` field is empty.","type":["integer","null"],"minimum":-10000,"maximum":10000},"dccForceCurrency":{"type":["string","null"],"description":"Forces Dynamic Currency Conversion (DCC) to the specified currency on each sale.\nTo disable forced DCC, leave this field empty."},"dccForceConfirmation":{"type":"boolean","default":false,"description":"Specifies whether a confirmation step is required when `dccForceCurrency` is set."},"dccForceRounding":{"type":"boolean","default":false,"description":"Specifies that DCC quote amounts must be rounded half up to the nearest whole number."},"descriptor":{"description":"Gateway account descriptor value.","type":["string","null"]},"cityField":{"description":"Gateway account city field.\nThis value is also known as a line 2 descriptor.","type":["string","null"]},"excludedDccQuoteCurrencies":{"description":"Excluded Dynamic Currency Conversion (DCC) quote currencies.","type":"array","items":{"type":"string"}},"monthlyLimit":{"description":"Monthly limit on the amount money that the gateway account can process.","type":["number","null"],"format":"double","minimum":0},"approvalWindowTtl":{"description":"Allotted time, in seconds, in which an offsite transaction must be approved before it is automatically `abandoned`.","type":"integer","default":3600,"minimum":300,"maximum":16777215},"reconciliationWindowEnabled":{"description":"Specifies that if a transaction is not reconciled within the `reconciliationWindowTtl` time, the transaction is marked as `abandoned`.","type":"boolean","default":false},"reconciliationWindowTtl":{"description":"Allotted time, in seconds, in which a reconciliation must occur before it is automatically `abandoned`.","type":["integer","null"],"minimum":300,"maximum":16777215},"threeDSecure":{"description":"Specifies if a gateway account allows 3D Secure.","type":"boolean","default":false},"dynamicDescriptor":{"description":"Specifies if a gateway allows dynamic descriptors.","type":"boolean","default":false},"digitalWallets":{"$ref":"#/components/schemas/DigitalWallets"},"isDown":{"description":"Specifies if a gateway is in a downtime period.","type":"boolean","readOnly":true},"additionalFilters":{"description":"Additional filters used to determine if the gateway account can be selected to process a transaction.\n\nFor example, the filter may place a maximum amount value on transaction.\nIf a transaction exceeds this value, the gateway account is not used.\n\nFor more information see,\n[Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"],"example":"amount:1..100;bin:411111,444433"},"timeout":{"description":"Gateway account request timeout, in seconds.","type":["integer","null"],"minimum":10,"maximum":120},"token":{"description":"Gateway account token.","type":["string","null"],"readOnly":true,"example":"TwiX3f92k4AiBE27BzTbQ38hHjicBz_w"},"sticky":{"description":"Specifies if all future payments by the customer's payment instrument are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":"boolean","default":true},"setupInstruction":{"type":"string","default":"do-nothing","description":"Creates zero, one, or more child transactions such as `authorize` and `void`.\nThe transactions are linked to the `setup` transaction by the `parentTransactionId` relationship.","enum":["authorize","authorize-and-void","sca","do-nothing"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount and currency of the request.","authorize-and-void":"Creates an `authorize` transaction followed by a `void`, if the `authorize` is approved.\nIf the request amount is $0, then a $1 authorize is created. Otherwise the request amount is used.","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}},"readyToPayoutInstruction":{"type":"string","default":"none","description":"Defines the mode of gateway payout behaviour for the Ready to payout operation.","enum":["all","covered-payout","approved-payment","none"],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway. This is the default value, merchants must opt into payouts."}},"payoutLimits":{"description":"Payout limits for the gateway account applied during payout request auto-allocation.\nThese limits do not apply to manual allocations.\n\nThis field is distinct from deposit and sale\n[volume limits](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountlimitcollection/).","oneOf":[{"$ref":"#/components/schemas/GatewayAccountPayoutLimits"},{"type":"null"}]},"transactionEmailAliasTemplate":{"description":"Email address template used in place of a customer's real email address when sending transaction data to a processor.\nUse `{{customerId}}` as a placeholder for the customer's ID.\nWhen empty, the customer's real email address is used.","type":["string","null"],"example":"{{customerId}}@receipts.example.com"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","onBoardingUrl","dynamicIpnUrl","staticIpnUrl"]}}}}}}},"components/schemas/A1Gateway":{"id":"components/schemas/A1Gateway","kind":"json-schema","title":"A1Gateway","data":{"description":"A1Gateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"A1Gateway credentials object.","properties":{"accountId":{"type":"string","description":"ID of the A1Gateway account."},"password":{"type":"string","description":"A1Gateway password.","format":"password","writeOnly":true}},"required":["accountId","password"]}}}]}},"components/schemas/ThreeDSecureIO3dsServer":{"id":"components/schemas/ThreeDSecureIO3dsServer","kind":"json-schema","title":"ThreeDSecureIO3dsServer","data":{"description":"ThreeDSecureIO 3DS Server configuration.\nAt least one of the Acquirer merchant ID and BIN fields from the same provider (Amex ID and BIN, JCB ID and BIN, Discover ID and BIN, Mastercard ID and BIN, or Visa ID and BIN) must be provided.","type":"object","required":["name","merchantName","merchantCountry","merchantUrl","transactionType"],"properties":{"name":{"type":"string","description":"Merchant plug-in name.","enum":["ThreeDSecureIO3dsServer"]},"acquirerMerchantIdVisa":{"type":"string","description":"Merchant ID (MID) of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdMastercard":{"type":"string","description":"Merchant ID (MID) of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdAmex":{"type":"string","description":"Merchant ID (MID) of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdDiscover":{"type":"string","description":"Merchant ID (MID) of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdJcb":{"type":"string","description":"Merchant ID (MID) of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"merchantName":{"type":"string","description":"Name of the merchant.","maxLength":40},"merchantAcquirerBinVisa":{"type":"string","description":"BIN of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinMastercard":{"type":"string","description":"BIN of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinAmex":{"type":"string","description":"BIN of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinDiscover":{"type":"string","description":"BIN of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinJcb":{"type":"string","description":"BIN of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantCountry":{"type":"string","description":"Merchant country in ISO Alpha-2 code format.","maxLength":2,"example":"US"},"merchantUrl":{"type":"string","description":"URL of the merchant's website.","maxLength":2048},"transactionType":{"type":"string","enum":["01","03","10","11","28"],"description":"Identifies the type of transaction that is being authenticated.","x-enumDescriptions":{"1":"Goods/Service purchase.","3":"Check acceptance.","10":"Account funding.","11":"Quasi-Cash transaction. Indicates the type of 3RI request.","28":"Prepaid activation and load."}},"declineNotEnrolled":{"type":"boolean","description":"Specifies whether to decline transactions if a payment card is not enrolled.","default":false},"forceChallenge":{"type":"boolean","description":"Specifies if the 3D Secure authentication must be forced into challenge flow.","default":false}}}},"components/schemas/ACI":{"id":"components/schemas/ACI","kind":"json-schema","title":"ACI","data":{"description":"ACI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ACI credentials object.","properties":{"entityId":{"type":"string"},"accessToken":{"type":"string","format":"password","writeOnly":true}},"required":["entityId","accessToken"]},"settings":{"type":"object","description":"ACI settings object.","properties":{"url":{"type":"string","description":"ACI custom server URL."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Adyen":{"id":"components/schemas/Adyen","kind":"json-schema","title":"Adyen","data":{"description":"Adyen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Adyen credentials object.","properties":{"merchantAccount":{"type":"string","description":"Adyen merchant account."},"apiKey":{"type":"string","description":"Adyen API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Adyen HMAC key to verify IPN signature.","format":"password","writeOnly":true}},"required":["merchantAccount","apiKey"]},"settings":{"type":"object","description":"Adyen settings object.","properties":{"store":{"type":"string","description":"E-commerce or point-of-sale store that is processing the payment.","minLength":1,"maxLength":16},"url":{"type":"string","description":"Adyen post URL."},"splitPayments":{"type":"array","description":"Adyen split payments.","items":{"type":"object","properties":{"percentage":{"description":"Percentage of the transaction amount.","type":"number","format":"double","minimum":0,"maximum":100,"example":0.5},"commissionAmount":{"description":"Fixed commission amount in minor units.","type":"number","format":"integer","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"account":{"description":"ID of the balance account where the split amount is sent.","type":"string"},"merchantCountry":{"description":"Two-letter ISO 3166 alpha-2 code of the merchant's country.","type":"string","example":"US"},"type":{"description":"Account type of the split payment.","type":"string","enum":["BalanceAccount","Commission","Remainder","PaymentFee"]}}}},"totalTaxRate":{"type":"number","format":"double","description":"Total tax percentage as a decimal.\nUse this field to calculate the total tax amount to send with level 2 enhanced scheme data.","example":5.5,"minimum":0.01,"maximum":100},"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false,"example":false},"riskProfile":{"type":"string","description":"Adyen risk profile."},"levelTwoThreeDataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Level 2/3 data."},"mastercardDpaId":{"type":"string","description":"ID of the Digital Payment Application (DPA) for Mastercard Secure Card on File (SCOF)."},"mastercardServiceId":{"type":"string","description":"ID of the Mastercard Secure Card on File (SCOF) service."}},"required":["url"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Aera":{"id":"components/schemas/Aera","kind":"json-schema","title":"Aera","data":{"description":"Aera gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aera credentials object.","properties":{"clientId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["clientId","apiKey","ipnSecret"]}}}]}},"components/schemas/Aircash":{"id":"components/schemas/Aircash","kind":"json-schema","title":"Aircash","data":{"description":"Aircash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aircash credentials object.","properties":{"partnerId":{"type":"string","description":"ID of the Aircash partner."},"privateKey":{"writeOnly":true,"type":"string","description":"Private key of the Aircash partner.","format":"password","x-multiline":true},"privateKeyPassword":{"writeOnly":true,"type":"string","description":"Private key password of the Aircash partner.","format":"password"}},"required":["partnerId","privateKey","privateKeyPassword"]}}}]}},"components/schemas/Airpay":{"id":"components/schemas/Airpay","kind":"json-schema","title":"Airpay","data":{"description":"Airpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airpay credentials object.","properties":{"username":{"type":"string","description":"Airpay username."},"merchantId":{"type":"string","description":"ID of the Airpay merchant."},"password":{"writeOnly":true,"type":"string","description":"Airpay password.","format":"password"},"apiKey":{"type":"string","description":"Airpay API key.","format":"password","writeOnly":true}},"required":["username","merchantId","password","apiKey"]}}}]}},"components/schemas/Airwallex":{"id":"components/schemas/Airwallex","kind":"json-schema","title":"Airwallex","data":{"description":"Airwallex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airwallex credentials object.","properties":{"clientId":{"type":"string","description":"Airwallex client ID."},"apiKey":{"type":"string","description":"Airwallex API key.","format":"password","writeOnly":true}},"required":["clientId","apiKey"]},"settings":{"type":"object","description":"Airwallex settings object.","properties":{"deviceIdCustomField":{"type":"string","description":"Name of the transaction custom field that holds the device ID."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/AmazonPay":{"id":"components/schemas/AmazonPay","kind":"json-schema","title":"AmazonPay","data":{"description":"AmazonPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the AmazonPay merchant."},"storeId":{"type":"string","description":"ID of the AmazonPay store."},"publicKeyId":{"type":"string","description":"ID of the AmazonPay public key."},"privateKey":{"description":"ID of the AmazonPay private key.","type":"string","format":"password","x-multiline":true,"writeOnly":true}},"required":["privateKey","storeId","publicKeyId","merchantId"]}}}]}},"components/schemas/AmexVPC":{"id":"components/schemas/AmexVPC","kind":"json-schema","title":"AmexVPC","data":{"description":"AmexVPC gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"AmexVPC credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the AmexVPC merchant."},"accessCode":{"type":"string","description":"AmexVPC access Code.","format":"password","writeOnly":true},"user":{"type":"string","description":"AmexVPC account user.\nThis field is used for refund, void, and capture transactions."},"password":{"type":"string","description":"AmexVPC account password.\nThis field is used for refund, void, and capture transactions.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","user","password"]},"settings":{"type":"object","description":"AmexVPC settings object.","properties":{"url":{"type":"string","description":"Virtual payment client URL."}},"required":["url"]}}}]}},"components/schemas/Antom":{"id":"components/schemas/Antom","kind":"json-schema","title":"Antom","data":{"description":"Antom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Antom credentials object.","properties":{"clientId":{"type":"string","description":"Antom client ID."},"privateKey":{"type":"string","description":"Antom private key.","format":"password","writeOnly":true,"x-multiline":true}},"required":["clientId","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ApcoPay":{"id":"components/schemas/ApcoPay","kind":"json-schema","title":"ApcoPay","data":{"description":"ApcoPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ApcoPay credentials object.","properties":{"profileID":{"type":"string","description":"ID of the ApcoPay profile."},"secretWord":{"type":"string","description":"ApcoPay secret word.","format":"password","writeOnly":true},"MerchantID":{"type":"string","description":"ID of the ApcoPay merchant."},"MerchantPassword":{"type":"string","description":"ApcoPay merchant password.","format":"password","writeOnly":true}},"required":["profileID","secretWord","MerchantID","MerchantPassword"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"ApcoPay method.","enum":["AFTERPAY","BANCONTACT","CREDITCLICK","FLEXEPIN","IDEAL","JPAY","OCTAPAY","ONLINEUBERWEISEN","ORIENTALWALLET","VENUSPOINT","ZIMPLER"]}},"required":["method"]}}}]}},"components/schemas/AsiaPay":{"id":"components/schemas/AsiaPay","kind":"json-schema","title":"AsiaPay","data":{"description":"AsiaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPay credentials object.","properties":{"merchantId":{"type":"string","description":"AsiaPay merchant number."},"loginId":{"type":"string","description":"AsiaPay login ID."},"secretKey":{"type":"string","description":"AsiaPay secret key for hash.","format":"password","writeOnly":true},"password":{"type":"string","description":"AsiaPay password.","format":"password","writeOnly":true}},"required":["merchantId","loginId","password","secretKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for AsiaPay API."}},"required":["baseUrl"]}}}]}},"components/schemas/AsiaPaymentGateway":{"id":"components/schemas/AsiaPaymentGateway","kind":"json-schema","title":"AsiaPaymentGateway","data":{"description":"AsiaPaymentGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPaymentGateway credentials object.","properties":{"merchantNumber":{"type":"string","description":"AsiaPaymentGateway merchant number."},"secretKey":{"type":"string","description":"AsiaPaymentGateway secret key for hash.","format":"password","writeOnly":true}},"required":["merchantNumber","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/AstroPayCard":{"id":"components/schemas/AstroPayCard","kind":"json-schema","title":"AstroPayCard","data":{"description":"AstroPay Card gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AstroPay Card credentials object.","properties":{"x_login":{"type":"string","description":"AstroPay Card login."},"x_tran_key":{"type":"string","description":"AstroPay Card transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"AstroPay Card secret key.","format":"password","writeOnly":true},"api_key":{"type":"string","description":"OneTouch Astropay API key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key"]},"settings":{"type":"object","description":"AstroPay Card settings object.","properties":{"oneTouchApi":{"type":"boolean","description":"Specifies whether to use a OneTouch AstroPay API.","default":false},"useOneTouchSdk":{"type":"boolean","description":"Specifies whether to use the OneTouch AstroPay SDK.","default":false},"merchantName":{"type":"string","description":"Displayed merchant name for AstroPay OneTouch."},"merchantLogoUrl":{"type":"string","description":"Displayed merchant logo for AstroPay OneTouch."}}}}}]}},"components/schemas/AuthorizeNet":{"id":"components/schemas/AuthorizeNet","kind":"json-schema","title":"AuthorizeNet","data":{"description":"AuthorizeNet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiLoginId":{"type":"string","description":"ID of the AuthorizeNet API login."},"transactionKey":{"description":"AuthorizeNet transaction key.","type":"string","format":"password","writeOnly":true}},"required":["apiLoginId","transactionKey"]}}}]}},"components/schemas/Awepay":{"id":"components/schemas/Awepay","kind":"json-schema","title":"Awepay","data":{"description":"Awepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Awepay credentials object.","properties":{"sid":{"type":"string","description":"ID of the Awepay site."},"rcode":{"type":"string","description":"Awepay rcode.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Awepay secret key for the P2P REST API.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Awepay API key for REST API.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Awepay public key for REST API.","x-multiline":true},"privateKey":{"type":"string","description":"Awepay private key for REST API.","format":"password","x-multiline":true,"writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Awepay setting.","properties":{"useP2pRest":{"type":"boolean","description":"Specifies whether to use the P2P REST API."},"useRestApi":{"type":"boolean","description":"Specifies whether to use REST API."},"methodType":{"type":"string","description":"Awepay method type."}}}}}]}},"components/schemas/Bambora":{"id":"components/schemas/Bambora","kind":"json-schema","title":"Bambora","data":{"description":"Bambora gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Bambora merchant."},"apiPasscode":{"type":"string","description":"Bambora API passcode.","format":"password","writeOnly":true}},"required":["merchantId","apiPasscode"]}}}]}},"components/schemas/BankSEND":{"id":"components/schemas/BankSEND","kind":"json-schema","title":"BankSEND","data":{"description":"BankSEND gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BankSEND credentials object.","properties":{"merchantId":{"description":"ID of the BankSEND merchant.","type":"string"},"merchantToken":{"type":"string","format":"password","description":"BankSEND merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/BitPay":{"id":"components/schemas/BitPay","kind":"json-schema","title":"BitPay","data":{"description":"BitPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BitPay credentials object.","properties":{"token":{"type":"string","description":"BitPay merchant API token.","format":"password","writeOnly":true}},"required":["token"]}}}]}},"components/schemas/BlueSnap":{"id":"components/schemas/BlueSnap","kind":"json-schema","title":"BlueSnap","data":{"description":"BlueSnap gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BlueSnap credentials object.","properties":{"username":{"type":"string","description":"API username of the BlueSnap merchant."},"merchantId":{"type":"string","description":"ID of the BlueSnap merchant."},"password":{"type":"string","description":"API password of the BlueSnap merchant.","format":"password","writeOnly":true},"dataProtectionKey":{"type":"string","description":"Data protection key of the BlueSnap merchant.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false},"salesTaxAmount":{"type":"number","format":"double","description":"Sales tax amount as a decimal to send with level 2/3 data.","example":0.06},"metadataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the BlueSnap transaction metadata."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/BraintreePayments":{"id":"components/schemas/BraintreePayments","kind":"json-schema","title":"BraintreePayments","data":{"description":"BraintreePayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"BraintreePayments public key."},"privateKey":{"type":"string","description":"BraintreePayments private key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the BraintreePayments merchant.","format":"password","writeOnly":true},"merchantAccountId":{"type":"string","description":"ID of the BraintreePayments merchant account.","format":"password","writeOnly":true}},"required":["publicKey","privateKey","merchantId","merchantAccountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Buckaroo":{"id":"components/schemas/Buckaroo","kind":"json-schema","title":"Buckaroo","data":{"description":"Buckaroo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Buckaroo credentials object.","properties":{"schemeKey":{"type":"string","description":"Scheme key."},"websiteKey":{"type":"string","description":"Website key."},"secretKey":{"description":"Secret key.","type":"string","format":"password"}},"required":["websiteKey","secretKey"]},"settings":{"type":"object","properties":{"useSepaRecurring":{"type":"boolean","description":"Specifies whether to use SEPA as recurring method.","default":false}}}}}]}},"components/schemas/BVNK":{"id":"components/schemas/BVNK","kind":"json-schema","title":"BVNK","data":{"description":"BVNK gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BVNK credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID of the BVNK merchant."},"hawkAuthId":{"type":"string","description":"HAWK auth ID.","format":"password","writeOnly":true},"hawkAuthKey":{"type":"string","description":"HAWK auth key.","format":"password","writeOnly":true}},"required":["merchantId","hawkAuthId","hawkAuthKey"]},"settings":{"type":"object","description":"BVNK settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/CASHlib":{"id":"components/schemas/CASHlib","kind":"json-schema","title":"CASHlib","data":{"description":"CASHlib gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CASHlib credentials object.","properties":{"apiKey":{"type":"string","description":"CASHlib API key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the CASHlib merchant."}},"required":["apiKey","merchantId"]}}}]}},"components/schemas/CODVoucher":{"id":"components/schemas/CODVoucher","kind":"json-schema","title":"CODVoucher","data":{"description":"CODVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CODVoucher credentials object.","properties":{"apiKey":{"type":"string","description":"CODVoucher API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"CODVoucher API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/AmountAdjustmentTolerance":{"id":"components/schemas/AmountAdjustmentTolerance","kind":"json-schema","title":"AmountAdjustmentTolerance","data":{"type":"integer","description":"Tolerance percentage for the settled amount.","minimum":0,"maximum":5,"example":5}},"components/schemas/Coinbase":{"id":"components/schemas/Coinbase","kind":"json-schema","title":"Coinbase","data":{"description":"Coinbase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coinbase credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Coinbase settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/CoinGate":{"id":"components/schemas/CoinGate","kind":"json-schema","title":"CoinGate","data":{"description":"CoinGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"authToken":{"type":"string","format":"password","description":"Authentication token.","writeOnly":true}},"required":["authToken"]},"settings":{"type":"object","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.\nThis field defaults to the transaction currency.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"},"adjustAmount":{"type":"boolean","description":"Specifies whether to adjust the amount that is received from the downstream gateway.","default":false,"example":false}}}}}]}},"components/schemas/CoinPayments":{"id":"components/schemas/CoinPayments","kind":"json-schema","title":"CoinPayments","data":{"description":"CoinPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CoinPayments credentials object.","required":["publicKey","privateKey","ipnSecret"],"properties":{"publicKey":{"type":"string","description":"CoinPayments public key."},"privateKey":{"type":"string","format":"password","description":"CoinPayments private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"CoinPayments IPN secret.","writeOnly":true},"merchantId":{"type":"string","format":"password","description":"ID of the CoinPayments merchant.","writeOnly":true},"clientId":{"type":"string","description":"CoinPayments client ID required for API (version 2)."},"clientSecret":{"type":"string","format":"password","description":"CoinPayments client secret required for API (version 2).","writeOnly":true}}},"settings":{"type":"object","properties":{"useCallbackAddress":{"type":"boolean","description":"Specifies if the callback address payment type must be used."},"useV2Api":{"type":"boolean","description":"Specifies if the CoinPayments API (version 2) must be used.\nThis requires both CoinPayments client ID and secret to be provided."},"apiUrl":{"type":"string","description":"URL of the CoinPayments API (version 2).","default":"https://api.coinpayments.com"}}}}}]}},"components/schemas/Cardknox":{"id":"components/schemas/Cardknox","kind":"json-schema","title":"Cardknox","data":{"description":"Cardknox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xKey":{"type":"string","description":"Cardknox xKey.","format":"password","writeOnly":true}},"required":["xKey"]}}}]}},"components/schemas/Cashflows":{"id":"components/schemas/Cashflows","kind":"json-schema","title":"Cashflows","data":{"description":"Cashflows gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authId":{"type":"string","description":"ID of the Cashflows authentication."},"authPassword":{"type":"string","description":"ID of the Cashflows authentication password.","format":"password","writeOnly":true}},"required":["authPassword","authId"]}}}]}},"components/schemas/Cashterminal":{"id":"components/schemas/Cashterminal","kind":"json-schema","title":"Cashterminal","data":{"description":"Cashterminal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"secretKey":{"description":"Cashterminal secret key.","type":"string","format":"password","writeOnly":true}},"required":["secretKey"]}}}]}},"components/schemas/CashToCode":{"id":"components/schemas/CashToCode","kind":"json-schema","title":"CashToCode","data":{"description":"CashToCode gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CashToCode credentials object.","properties":{"cashToCodeUsername":{"type":"string","description":"CashToCode credentials username."},"cashToCodePassword":{"type":"string","description":"CashToCode credentials password.","format":"password","writeOnly":true},"merchantUsername":{"type":"string","description":"Merchant credentials username."},"merchantPassword":{"type":"string","description":"Merchant credentials password.","format":"password","writeOnly":true},"mid":{"type":"string","description":"CashToCode Merchant Identifier Number (MID) or brand name."}},"required":["cashToCodeUsername","cashToCodePassword","merchantUsername","merchantPassword"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base API URL."},"skipAmountSelection":{"type":"boolean","description":"Specifies whether to skip the amount selection screen.","default":false},"amounts":{"type":"array","description":"Amounts for which transactions are processed.","items":{"type":"number","format":"double","minimum":0}}}}}}]}},"components/schemas/CauriPayment":{"id":"components/schemas/CauriPayment","kind":"json-schema","title":"CauriPayment","data":{"description":"CauriPayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CauriPayment credentials object.","properties":{"publicKey":{"type":"string","description":"CauriPayment merchant public key."},"privateKey":{"type":"string","description":"CauriPayment merchant private key.","format":"password","writeOnly":true}},"required":["publicKey","privateKey"]}}}]}},"components/schemas/Cayan":{"id":"components/schemas/Cayan","kind":"json-schema","title":"Cayan","data":{"description":"Cayan gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSiteId":{"type":"string","description":"ID of the Cayan merchant site."},"merchantName":{"type":"string","description":"Cayan merchant name."},"merchantKey":{"type":"string","description":"Cayan merchant key.","format":"password","writeOnly":true}},"required":["merchantSiteId","merchantName","merchantKey"]}}}]}},"components/schemas/CCAvenue":{"id":"components/schemas/CCAvenue","kind":"json-schema","title":"CCAvenue","data":{"description":"CCAvenue gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CCAvenue credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the CCAvenue merchant."},"accessCode":{"type":"string","description":"CCAvenue access code.","format":"password","writeOnly":true},"workingKey":{"type":"string","description":"CCAvenue working key.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","workingKey"]},"settings":{"type":"object","properties":{"useStandingInstructionApi":{"description":"Specifies whether to use the Standing Instruction API.","type":"boolean","default":false}}}}}]}},"components/schemas/Chase":{"id":"components/schemas/Chase","kind":"json-schema","title":"Chase","data":{"description":"Chase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Chase NetConnect username."},"password":{"type":"string","description":"Chase NetConnect password.","format":"password","writeOnly":true},"coNumber":{"type":"string","description":"Chase CO number used for delimited file reports."},"divisionId":{"type":"string","description":"ID of the Chase division."},"partialAuth":{"type":"boolean","description":"Specifies whether to support partial authentications.","default":false}},"required":["username","password","coNumber","divisionId","partialAuth"]}}}]}},"components/schemas/CheckoutCom":{"id":"components/schemas/CheckoutCom","kind":"json-schema","title":"CheckoutCom","data":{"description":"Checkout.com gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Checkout.com credentials object.","properties":{"secretKey":{"type":"string","format":"password","description":"Checkout.com secret API key.\nGenerate this key in the Checkout.com dashboard under Developers->API keys section.","writeOnly":true},"signatureKey":{"type":"string","format":"password","description":"Checkout.com webhook signature key.\nGenerate this key in the Checkout.com dashboard under Developers->Webhooks section.","writeOnly":true}},"required":["secretKey"]},"settings":{"type":"object","properties":{"markAsWaitingGatewayOnPendingPayout":{"type":"boolean","description":"Specifies whether to mark pending payouts as 'waiting-gateway/unknown' instead of 'approved'.","default":false},"subEntityIdWebsiteCustomField":{"type":"string","description":"Name of the website custom field that holds the sub-entity ID."},"processingChannelId":{"type":"string","description":"Checkout.com processing channel ID.\nCheckout.com secret API key can be configured with a default processing channel ID.\nOtherwise the processing channel ID needs to be set."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Chillstock":{"id":"components/schemas/Chillstock","kind":"json-schema","title":"Chillstock","data":{"description":"Chillstock gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Chillstock credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID)."},"privateKey":{"type":"string","description":"Chillstock private key.","format":"password","x-multiline":true,"writeOnly":true},"publicKey":{"type":"string","description":"Chillstock public key."}},"required":["merchantId","privateKey"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is forced to sandbox mode.","default":false}}}}}]}},"components/schemas/Circle":{"id":"components/schemas/Circle","kind":"json-schema","title":"Circle","data":{"description":"Circle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Circle credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"Circle API key.","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Citadel":{"id":"components/schemas/Citadel","kind":"json-schema","title":"Citadel","data":{"description":"Citadel gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Citadel credentials object.","properties":{"storeName":{"type":"string","description":"Citadel store name."},"storeId":{"type":"string","description":"ID of the Citadel store."},"username":{"type":"string","description":"Citadel username."},"password":{"type":"string","description":"Citadel password.","format":"password","writeOnly":true}},"required":["storeName","storeId","username","password"]}}}]}},"components/schemas/Clearhaus":{"id":"components/schemas/Clearhaus","kind":"json-schema","title":"Clearhaus","data":{"description":"Clearhaus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Clearhaus API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Cleo":{"id":"components/schemas/Cleo","kind":"json-schema","title":"Cleo","data":{"description":"Cleo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cleo credentials object.","properties":{"accessToken":{"type":"string","description":"Cleo access token.","format":"password","writeOnly":true}},"required":["accessToken"]}}}]}},"components/schemas/Conekta":{"id":"components/schemas/Conekta","kind":"json-schema","title":"Conekta","data":{"description":"Conekta gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Conekta credentials object.","properties":{"apiKey":{"type":"string","description":"Conekta private API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Conekta settings object.","properties":{"baseUrl":{"type":"string","description":"Base API URL."}}}}}]}},"components/schemas/Coppr":{"id":"components/schemas/Coppr","kind":"json-schema","title":"Coppr","data":{"description":"Coppr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coppr credentials object.","properties":{"organizationId":{"type":"string","description":"ID of the Coppr organization."},"apiKey":{"type":"string","description":"Coppr API key.","format":"password","writeOnly":true}},"required":["organizationId","apiKey"]},"settings":{"type":"object","description":"Coppr settings object.","properties":{"rebillyPublishableKey":{"type":"string","description":"Rebilly publishable API key.\nIf this value is provided, a payment token is created for each transaction.\nPayment card transactions are declined if this value is not provided.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)."}}}}}]}},"components/schemas/Cps":{"id":"components/schemas/Cps","kind":"json-schema","title":"Cps","data":{"description":"CPS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CPS credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the CPS gateway."},"password":{"type":"string","description":"Password of the CPS gateway.","format":"password","writeOnly":true}},"required":["clientKey","password"]},"settings":{"type":"object","properties":{"paymentUrl":{"type":"string","description":"Payment URL of the CPS gateway for server-to-server integration."}},"required":["paymentUrl"]}}}]}},"components/schemas/Credorax":{"id":"components/schemas/Credorax","kind":"json-schema","title":"Credorax","data":{"description":"Credorax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Credorax merchant."},"merchantMd5Signature":{"type":"string","description":"Credorax MD5 signature.","format":"password","writeOnly":true}},"required":["merchantId","merchantMd5Signature"]}}}]}},"components/schemas/Cryptomus":{"id":"components/schemas/Cryptomus","kind":"json-schema","title":"Cryptomus","data":{"description":"Cryptomus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptomus credentials object.","properties":{"merchantId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]},"settings":{"type":"object","properties":{"refundAddress":{"type":"string","description":"Address where the refund is sent."}}}}}]}},"components/schemas/Cryptonator":{"id":"components/schemas/Cryptonator","kind":"json-schema","title":"Cryptonator","data":{"description":"Cryptonator gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptonator credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the Cryptonator merchant."},"secret":{"type":"string","description":"Cryptonator secret.","format":"password","writeOnly":true}},"required":["merchant_id","secret"]}}}]}},"components/schemas/CyberSource":{"id":"components/schemas/CyberSource","kind":"json-schema","title":"CyberSource","data":{"description":"CyberSource gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CyberSource credentials object.","properties":{"accessKey":{"type":"string","description":"CyberSource access key."},"profileId":{"type":"string","description":"ID of the CyberSource profile."},"secretKey":{"type":"string","description":"CyberSource secret key.","format":"password","writeOnly":true}},"required":["accessKey","profileId","secretKey"]}}}]}},"components/schemas/DataCash":{"id":"components/schemas/DataCash","kind":"json-schema","title":"DataCash","data":{"description":"DataCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"client":{"type":"string","description":"DataCash client."},"password":{"type":"string","description":"DataCash password.","format":"password","writeOnly":true},"reportGroup":{"type":"string","description":"DataCash report group."},"reportUser":{"type":"string","description":"DataCash report user."},"reportPassword":{"type":"string","description":"DataCash report password.","format":"password","writeOnly":true},"visaPayoutsClient":{"type":"string","description":"DataCash client for Visa OCT (Original Credit Transfer) payouts."},"visaPayoutsPassword":{"type":"string","description":"DataCash password for Visa OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true},"masterCardPayoutsClient":{"type":"string","description":"DataCash client for MasterCard OCT (Original Credit Transfer) payouts."},"masterCardPayoutsPassword":{"type":"string","description":"DataCash password for MasterCard OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true}},"required":["client","password"]},"settings":{"type":"object","description":"Datacash settings object.","properties":{"policy":{"type":"integer","description":"Policy.","minimum":0,"maximum":7,"default":2},"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]}},"components/schemas/Dengi":{"id":"components/schemas/Dengi","kind":"json-schema","title":"Dengi","data":{"description":"Dengi gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"projectId":{"type":"string","description":"ID of the Dengi project."},"publicKey":{"type":"string","description":"Dengi public key.","format":"password","writeOnly":true},"refundKey":{"type":"string","description":"Dengi refund key.","format":"password","writeOnly":true}},"required":["projectId","publicKey","refundKey"]}}}]}},"components/schemas/Dimoco":{"id":"components/schemas/Dimoco","kind":"json-schema","title":"Dimoco","data":{"description":"Dimoco gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Dimoc merchant."},"orderId":{"type":"string","description":"ID of the Dimoc project."},"password":{"type":"string","format":"password","description":"ID of the Dimoc project.","writeOnly":true}},"required":["merchantId","orderId","password"]}}}]}},"components/schemas/dLocal":{"id":"components/schemas/dLocal","kind":"json-schema","title":"dLocal","data":{"description":"dLocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"dLocal login."},"xTransKey":{"type":"string","description":"dLocal transKey."},"secretKey":{"type":"string","format":"password","description":"dLocal secret key.","writeOnly":true},"xPayoutLogin":{"type":"string","description":"dLocal payout login."},"xPayoutTransKey":{"type":"string","description":"dLocal payout transKey."},"payoutSecretKey":{"type":"string","format":"password","description":"dLocal payout secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"dLocal settings object.","properties":{"createInstallmentPlan":{"type":"boolean","default":false,"description":"Specifies whether to create an installment plan and use it for payment."},"customerDocumentCustomField":{"type":"string","description":"Name of the transaction custom field that holds the customer document.\nUse this setting to skip the intermediate step of collecting the customer document for payment card transactions."},"requestAddress":{"type":"boolean","default":false,"description":"Specifies if the customer is asked for a billing address on the document ID page."}}}}}]}},"components/schemas/Dragonphoenix":{"id":"components/schemas/Dragonphoenix","kind":"json-schema","title":"Dragonphoenix","data":{"description":"Dragonphoenix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dragonphoenix credentials object.","properties":{"sid":{"type":"string","description":"ID of the Dragonphoenix site."},"rcode":{"type":"string","description":"Dragonphoenix rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]}}}]}},"components/schemas/Dropayment":{"id":"components/schemas/Dropayment","kind":"json-schema","title":"Dropayment","data":{"description":"Dropayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dropayment credentials object.","properties":{"login":{"type":"string","description":"Dropayment login."},"endpointId":{"type":"string","description":"ID of the Dropayment end point."},"secretKey":{"type":"string","description":"Dropayment secret key.","format":"password","writeOnly":true}},"required":["login","endpointId","secretKey"]}}}]}},"components/schemas/Directa24Banks":{"id":"components/schemas/Directa24Banks","kind":"json-schema","title":"Directa24Banks","data":{"type":"string","enum":["AA","AL","AZ","B","BAB","BB","BC","BE","BL","BM","BN","BP","BQ","BU","BV","BW","BX","BZ","CA","CE","CI","CU","EF","EN","EY","FA","FB","FC","GC","GG","HC","I","IA","IB","JM","LC","LE","LL","MC","ME","MD","MP","MT","NB","OM","OX","PC","PH","PL","SB","SC","SE","SF","SM","SS","ST","SU","TC","TK","TG","TR","TY","RY","UB","UI","UL","US","VD","VI","WA","WP","WU","XA"]}},"components/schemas/Directa24":{"id":"components/schemas/Directa24","kind":"json-schema","title":"Directa24","data":{"description":"Directa24 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Directa24 credentials object.","properties":{"x_login":{"type":"string","description":"Directa24 login."},"x_tran_key":{"type":"string","description":"Directa24 transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"Directa24 secret key.","format":"password","writeOnly":true},"web_pay_login":{"type":"string","description":"Directa24 web pay status login."},"web_pay_tran_key":{"type":"string","description":"Directa24 web pay status password.","format":"password","writeOnly":true},"cashout_login":{"type":"string","description":"Directa24 cashout login."},"cashout_password":{"type":"string","description":"Directa24 cashout password.","format":"password","writeOnly":true},"chargebackAccessKey":{"type":"string","description":"Directa24 chargeback access key (email)."},"chargebackSecretKey":{"type":"string","description":"Directa24 chargeback secret key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key","web_pay_login","web_pay_tran_key"]},"settings":{"type":"object","description":"Directa24 settings object.","properties":{"banks":{"type":"array","description":"List of banks that is displayed to customers.","items":{"$ref":"#/components/schemas/Directa24Banks"}},"skipStep":{"type":"boolean","description":"Specifies whether to skip the enter user personal information step."},"useV3Api":{"type":"boolean","description":"Specifies whether to use Directa24 API version 3."},"storeIdNumber":{"type":"boolean","description":"Specifies whether to store the customer ID number for future use."}}}}}]}},"components/schemas/EasyPayDirect":{"id":"components/schemas/EasyPayDirect","kind":"json-schema","title":"EasyPayDirect","data":{"description":"EasyPayDirect gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EasyPayDirect credentials object.","properties":{"secretKey":{"type":"string","description":"API secret key of the EasyPayDirect account.","format":"password","writeOnly":true}},"required":["secretKey"]}}}]}},"components/schemas/EBANX":{"id":"components/schemas/EBANX","kind":"json-schema","title":"EBANX","data":{"description":"EBANX gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EBANX credentials object.","properties":{"integrationKey":{"type":"string","description":"EBANX integration key.","format":"password","writeOnly":true}},"required":["integrationKey"]}}}]}},"components/schemas/EPG":{"id":"components/schemas/EPG","kind":"json-schema","title":"EPG","data":{"description":"EPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPG credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the merchant."},"productId":{"type":"string","description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"merchantPassword":{"type":"string","description":"Merchant password.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Merchant key.","format":"password","writeOnly":true}},"required":["merchantId","productId","merchantPassword","merchantKey"]}}}]}},"components/schemas/EPro":{"id":"components/schemas/EPro","kind":"json-schema","title":"EPro","data":{"description":"EPro gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPro credentials object.","properties":{"apiSecretKey":{"type":"string","description":"EPro secret API key.","format":"password","writeOnly":true}},"required":["apiSecretKey"]}}}]}},"components/schemas/EcorePay":{"id":"components/schemas/EcorePay","kind":"json-schema","title":"EcorePay","data":{"description":"EcorePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the EcorePay account."},"accountAuth":{"type":"string","description":"EcorePay account authentication.","format":"password","writeOnly":true}},"required":["accountId","accountAuth"]}}}]}},"components/schemas/Elavon":{"id":"components/schemas/Elavon","kind":"json-schema","title":"Elavon","data":{"description":"Elavon gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Elavon credentials object.","properties":{"ssl_merchant_id":{"type":"string","description":"ID of the Elavon merchant."},"ssl_user_id":{"type":"string","description":"ID of the Elavon user."},"ssl_pin":{"type":"string","description":"Elavon pin.","format":"password","writeOnly":true}},"required":["ssl_merchant_id","ssl_user_id","ssl_pin"]}}}]}},"components/schemas/EMS":{"id":"components/schemas/EMS","kind":"json-schema","title":"EMS","data":{"description":"EMS e-Commerce (XML) API gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"settings":{"type":"object","description":"EMS settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours."}}},"credentials":{"type":"object","description":"EMS credentials object.","properties":{"storeId":{"type":"string","description":"ID of the EMS store."},"userId":{"type":"string","description":"ID of the EMS account."},"password":{"type":"string","format":"password","description":"EMS password.","writeOnly":true},"privateKey":{"type":"string","format":"password","description":"Private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"Private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Client certificate.","x-multiline":true},"clientCertificatePassword":{"type":"string","format":"password","description":"Client certificate password.","writeOnly":true},"serverCertificate":{"type":"string","description":"Server certificate.","x-multiline":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPassword":{"type":"string","format":"password","description":"SFTP reconciliation password.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["storeId","userId","password","privateKey","privateKeyPassword","clientCertificate","clientCertificatePassword","serverCertificate"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ePay":{"id":"components/schemas/ePay","kind":"json-schema","title":"ePay","data":{"description":"ePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ePay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ePay merchant."},"secretKey":{"type":"string","format":"password","description":"ePay secret key.","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/Euteller":{"id":"components/schemas/Euteller","kind":"json-schema","title":"Euteller","data":{"description":"Euteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Euteller credentials object.","properties":{"username":{"type":"string","description":"Euteller username."},"password":{"type":"string","format":"password","description":"Euteller password.","writeOnly":true}},"required":["username","password"]}}}]}},"components/schemas/Ezeebill":{"id":"components/schemas/Ezeebill","kind":"json-schema","title":"Ezeebill","data":{"description":"Ezeebill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ezeebill credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID) of the Ezeebill gateway."},"accessId":{"type":"string","description":"Access ID of the Ezeebill gateway.","format":"password","writeOnly":true},"terminalId":{"type":"string","description":"Terminal ID of the Ezeebill gateway."},"operatorId":{"type":"string","description":"Operator ID of the Ezeebill gateway."},"password":{"type":"string","description":"API access operator password of the Ezeebill gateway.","format":"password","writeOnly":true},"hashKey":{"type":"string","description":"Hash key of the Ezeebill gateway.","format":"password","writeOnly":true}},"required":["merchantId","accessId","terminalId","operatorId","password","hashKey"]}}}]}},"components/schemas/eZeeWallet":{"id":"components/schemas/eZeeWallet","kind":"json-schema","title":"eZeeWallet","data":{"description":"eZeeWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"eZeeWallet credentials object.","properties":{"apiUsername":{"type":"string","description":"eZeeWallet API username.","format":"password","writeOnly":true},"apiPassword":{"type":"string","description":"eZeeWallet API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]}},"components/schemas/ezyEFT":{"id":"components/schemas/ezyEFT","kind":"json-schema","title":"ezyEFT","data":{"description":"ezyEFT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ezyEFT credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ezyEFT merchant."},"merchantToken":{"type":"string","format":"password","description":"ezyEFT merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/FinTecSystems":{"id":"components/schemas/FinTecSystems","kind":"json-schema","title":"FinTecSystems","data":{"description":"FinTecSystems gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"FinTecSystems credentials object.","properties":{"apiKey":{"type":"string","description":"FinTecSystems API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"FinTecSystems settings object.","properties":{"recipientIBAN":{"type":"string","description":"IBAN of the recipient account."},"recipientBIC":{"type":"string","description":"BIC of the recipient account."},"recipientCountry":{"type":"string","description":"Two letter country code.","enum":["AT","CH","DE"]},"recipientHolder":{"type":"string","description":"Account holder of the recipient account."}},"required":["recipientIBAN","recipientBIC","recipientHolder","recipientCountry"]}}}]}},"components/schemas/Finrax":{"id":"components/schemas/Finrax","kind":"json-schema","title":"Finrax","data":{"description":"Finrax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Finrax credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Finrax business."},"apiKey":{"type":"string","description":"Finrax API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Finrax API secret.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Finrax public key.\nThis value is used to verify IPN signature.","x-multiline":true}},"required":["businessId","apiKey","apiSecret"]},"settings":{"type":"object","description":"Finrax settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/Flexepin":{"id":"components/schemas/Flexepin","kind":"json-schema","title":"Flexepin","data":{"description":"Flexepin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Flexepin API key."},"apiSecret":{"type":"string","description":"Flexepin API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]},"settings":{"type":"object","description":"Flexepin settings object.","properties":{"adjustAmountFromVoucher":{"type":"boolean","description":"Specifies whether to adjust the amount or currency based on a Flexepin voucher.","default":false,"example":false}}}}}]}},"components/schemas/Forte":{"id":"components/schemas/Forte","kind":"json-schema","title":"Forte","data":{"description":"Forte gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the Forte account."},"locationId":{"type":"string","description":"ID of the Forte location."},"apiAccessId":{"type":"string","description":"ID of the Forte API access.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Forte API secret key.","format":"password","writeOnly":true}},"required":["accountId","locationId","apiAccessId","apiSecretKey"]}}}]}},"components/schemas/FundSend":{"id":"components/schemas/FundSend","kind":"json-schema","title":"FundSend","data":{"description":"FundSend gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the FundSend client."},"secretWord":{"type":"string","description":"FundSend secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/gate2way":{"id":"components/schemas/gate2way","kind":"json-schema","title":"gate2way","data":{"description":"gate2way gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"gate2way credentials object.","properties":{"apiKey":{"type":"string","description":"API key of gate2way account.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"API secret of gate2way account.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/GET":{"id":"components/schemas/GET","kind":"json-schema","title":"GET","data":{"description":"GET gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the GET account."}},"required":["accountId"]}}}]}},"components/schemas/Gigadat":{"id":"components/schemas/Gigadat","kind":"json-schema","title":"Gigadat","data":{"description":"Gigadat gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gigadat credentials object.","properties":{"campaignId":{"type":"string","description":"ID of the Gigadat campaign."},"accessToken":{"type":"string","description":"Gigadat access token.","format":"password","writeOnly":true},"securityToken":{"type":"string","description":"Gigadat security token.","format":"password","writeOnly":true}},"required":["campaignId","accessToken","securityToken"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"methodType":{"type":"string","description":"Specifies whether the Gigadat method type is enforced as CPI or ETI, regardless of the payment method associated with the gateway account.","enum":["CPI","ETI"]},"autodepositLookup":{"type":"boolean","description":"Perform Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Autodeposit lookup result."}},"required":["sandbox"]}}}]}},"components/schemas/GlobalOne":{"id":"components/schemas/GlobalOne","kind":"json-schema","title":"GlobalOne","data":{"description":"GlobalOne gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the GlobalOne terminal."},"sharedSecret":{"type":"string","description":"GlobalOne shared secret.","format":"password","writeOnly":true}},"required":["terminalId","sharedSecret"]}}}]}},"components/schemas/GoCardless":{"id":"components/schemas/GoCardless","kind":"json-schema","title":"GoCardless","data":{"description":"GoCardless gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"GoCardless API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Gooney":{"id":"components/schemas/Gooney","kind":"json-schema","title":"Gooney","data":{"description":"Gooney gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gooney credentials object.","properties":{"apiUser":{"type":"string","description":"Gooney API user."},"apiPassword":{"type":"string","description":"Gooney API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Gooney API key."},"apiSecret":{"type":"string","description":"Gooney API secret.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey","apiSecret"]}}}]}},"components/schemas/Gpaysafe":{"id":"components/schemas/Gpaysafe","kind":"json-schema","title":"Gpaysafe","data":{"description":"Gpaysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Gpaysafe apiKey."}},"required":["apiKey"]}}}]}},"components/schemas/Greenbox":{"id":"components/schemas/Greenbox","kind":"json-schema","title":"Greenbox","data":{"description":"Greenbox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Greenbox credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Greenbox client."},"locationId":{"type":"string","description":"ID of the Greenbox location."},"clientSecret":{"type":"string","description":"Greenbox client secret.","format":"password","writeOnly":true}},"required":["clientId","clientSecret","locationId"]}}}]}},"components/schemas/HiPay":{"id":"components/schemas/HiPay","kind":"json-schema","title":"HiPay","data":{"description":"HiPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"HiPay credentials object.","properties":{"apiUsername":{"type":"string","description":"HiPay API user name."},"apiPassword":{"type":"string","description":"HiPay API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]}},"components/schemas/iCashOne":{"id":"components/schemas/iCashOne","kind":"json-schema","title":"iCashOne","data":{"description":"Configuration object for the iCashOne gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for the iCashOne gateway.","properties":{"apiKey":{"writeOnly":true,"format":"password","type":"string","description":"API key for the iCashOne API."},"secretKey":{"writeOnly":true,"format":"password","type":"string","description":"Secret key for the iCashOne API."}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"Settings object for the iCashOne gateway.","properties":{"merchantName":{"type":"string","description":"Merchant name to be displayed on the checkout page."}}}}}]}},"components/schemas/ICEPAY":{"id":"components/schemas/ICEPAY","kind":"json-schema","title":"ICEPAY","data":{"description":"ICEPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ICEPAY credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ICEPAY merchant.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"ICEPAY API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/INOVAPAY":{"id":"components/schemas/INOVAPAY","kind":"json-schema","title":"INOVAPAY","data":{"description":"INOVAPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"INOVAPAY credentials object.","properties":{"apiKey":{"type":"string","description":"INOVAPAY API key."},"apiSecret":{"type":"string","description":"INOVAPAY API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/Ilixium":{"id":"components/schemas/Ilixium","kind":"json-schema","title":"Ilixium","data":{"description":"Ilixium gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ilixium credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Ilixium merchant."},"accountId":{"type":"string","description":"ID of the Ilixium account."},"digestPassword":{"type":"string","description":"Ilixium digest password.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantId","accountId","digestPassword"]},"settings":{"type":"object","description":"Ilixium settings object.","properties":{"useIpFrame":{"type":"boolean","description":"Specifies whether to force Ilixium to process using Ip Frame."},"useCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a previous approval credit endpoint for payouts."},"useStandaloneCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a standalone (token) credit endpoint for payouts."},"platform":{"type":"string","description":"Direct API platform.","default":"itix","enum":["itix","tpg"]},"usePaceCreditEndpoint":{"type":"boolean","description":"Specifies whether to use PACE API endpoint for payouts."}}},"threeDSecureServer":{"type":"object","description":"Ilixium 3DS server.","properties":{"name":{"description":"Name of the merchant plug-in.","type":"string","enum":["Ilixium3dsServer"]}}}}}]}},"components/schemas/IMerchant":{"id":"components/schemas/IMerchant","kind":"json-schema","title":"IMerchant","data":{"description":"IMerchant gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials of the IMerchant gateway.","properties":{"apiKey":{"type":"string","description":"IMerchant API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Ingenico":{"id":"components/schemas/Ingenico","kind":"json-schema","title":"Ingenico","data":{"description":"Ingenico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Ingenico merchant."},"apiKeyId":{"type":"string","description":"ID of the Ingenico API key."},"apiSecretKey":{"type":"string","description":"Ingenico API secret key.","format":"password","writeOnly":true},"skipFraudService":{"type":"boolean","description":"Ingenico skip fraud service."}},"required":["merchantId","apiKeyId","apiSecretKey"]}}}]}},"components/schemas/Inovio":{"id":"components/schemas/Inovio","kind":"json-schema","title":"Inovio","data":{"description":"Inovio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Inovio credentials object.","properties":{"username":{"type":"string","description":"Inovio username."},"password":{"type":"string","description":"Inovio password.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","description":"Inovio settings object.","properties":{"websiteId":{"type":"string","description":"ID of the Inovio website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"merchantAccountId":{"type":"string","description":"ID of the Inovio merchant account."},"productId":{"type":"string","description":"ID of the Inovio product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"required":["websiteId","merchantAccountId","productId"]}}}]}},"components/schemas/InstaDebit":{"id":"components/schemas/InstaDebit","kind":"json-schema","title":"InstaDebit","data":{"description":"InstaDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"InstaDebit credentials object.","properties":{"merchantId":{"type":"string","description":"InstaDebit merchant account number."},"password":{"type":"string","description":"InstaDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."}}}}}]}},"components/schemas/Intuit":{"id":"components/schemas/Intuit","kind":"json-schema","title":"Intuit","data":{"description":"Intuit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"Intuit client_id key."},"clientSecret":{"type":"string","description":"Intuit client_secret key.","format":"password","writeOnly":true}},"required":["clientId","clientSecret"]}}}]}},"components/schemas/IpayOptions":{"id":"components/schemas/IpayOptions","kind":"json-schema","title":"IpayOptions","data":{"description":"Ipay Options gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Ipay Options credentials object.","properties":{"sid":{"type":"string","description":"ID of the Ipay Options website."},"rcode":{"type":"string","description":"Ipay Options rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Ipay Options settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display an extra step where the user must enter their email and DNI number."},"subdomain":{"type":"string","description":"Subdomain to use when sending request to IpayOptions.","enum":["miglite","w88asiapay"]},"platform":{"type":"string","description":"Platform which IpayOptions processes.","enum":["SOAP","TxHandler","SecureHosted"]},"cardType":{"type":"string","description":"Manually set the card_type for iDEAL.","enum":["ideal","idealqr","sofort"]}}}}}]}},"components/schemas/Isx":{"id":"components/schemas/Isx","kind":"json-schema","title":"Isx","data":{"description":"Isx gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Isx credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Isx API merchant."},"workflow":{"type":"string","description":"Isx workflow."},"apiClient":{"type":"string","description":"Isx API client."},"apiToken":{"type":"string","description":"Isx API token.","format":"password","writeOnly":true}},"required":["merchantId","workflow","apiClient","apiToken"]}}}]}},"components/schemas/JetPay":{"id":"components/schemas/JetPay","kind":"json-schema","title":"JetPay","data":{"description":"JetPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"TerminalID":{"type":"string","description":"ID of the JetPay terminal."}},"required":["TerminalID"]}}}]}},"components/schemas/Jeton":{"id":"components/schemas/Jeton","kind":"json-schema","title":"Jeton","data":{"description":"Jeton gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Jeton API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Jeton secret.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"Jeton method.","enum":["CHECKOUT","DIRECT","QR","JETGO"]}},"required":["method"]}}}]}},"components/schemas/JPMOrbital":{"id":"components/schemas/JPMOrbital","kind":"json-schema","title":"JPMOrbital","data":{"description":"JPMOrbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the JPMOrbital merchant."},"username":{"type":"string","description":"Username of the JPMOrbital merchant."},"password":{"type":"string","description":"Password of the JPMOrbital merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]}}}]}},"components/schemas/Khelocard":{"id":"components/schemas/Khelocard","kind":"json-schema","title":"Khelocard","data":{"description":"Khelocard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["merchantId","referrer","apiKey","apiSecret"],"properties":{"merchantId":{"type":"string","description":"ID of the Khelocard merchant."},"referrer":{"type":"string","description":"Referrer URL registered at Khelocard.","format":"uri"},"apiKey":{"type":"string","description":"Khelocard API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Khelocard API secret.","format":"password","writeOnly":true}}}}}]}},"components/schemas/Klarna":{"id":"components/schemas/Klarna","kind":"json-schema","title":"Klarna","data":{"description":"Klarna gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","password"],"properties":{"username":{"type":"string","description":"Klarna API username."},"password":{"type":"string","description":"Klarna API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["region"],"properties":{"region":{"type":"string","description":"Klarna API region.","enum":["EU","NA","OC"]},"usePayNowStandalone":{"type":"boolean","description":"Specifies whether to use the Klarna Pay Now Standalone method.","default":false,"example":false}}}}}]}},"components/schemas/Konnektive":{"id":"components/schemas/Konnektive","kind":"json-schema","title":"Konnektive","data":{"description":"Konnektive gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["loginId","password"],"properties":{"loginId":{"type":"string","description":"ID of the Konnektive API login."},"password":{"type":"string","description":"Konnektive API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["campaignId","productId"],"properties":{"campaignId":{"type":"string","description":"Konnektive campaign ID for which the order is being placed."},"productId":{"type":"string","description":"Konnektive campaign product ID for which the order is being placed.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}}}]}},"components/schemas/Kushki":{"id":"components/schemas/Kushki","kind":"json-schema","title":"Kushki","data":{"description":"Kushki gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Kushki credentials object.","properties":{"privateKey":{"writeOnly":true,"format":"password","type":"string","description":"Kushki private API key."}},"required":["privateKey"]},"settings":{"type":"object","description":"Kushki settings object.","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/LaCore":{"id":"components/schemas/LaCore","kind":"json-schema","title":"LaCore","data":{"description":"LaCore gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LaCore credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the LaCore merchant."},"username":{"type":"string","description":"Username of the LaCore merchant."},"password":{"type":"string","description":"Password of the LaCore merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Limepay":{"id":"components/schemas/Limepay","kind":"json-schema","title":"Limepay","data":{"description":"Limepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"Limepay login."},"xTransKey":{"type":"string","description":"Limepay transKey."},"secretKey":{"type":"string","format":"password","description":"Limepay secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"Limepay settings object.","properties":{"storeDocumentId":{"type":"boolean","description":"Specifies whether to store the document ID."}}}}}]}},"components/schemas/Loonio":{"id":"components/schemas/Loonio","kind":"json-schema","title":"Loonio","data":{"description":"Loonio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Loonio credentials object.","properties":{"username":{"type":"string","description":"Username of the merchant."},"password":{"type":"string","description":"Password of the merchant.","format":"password","writeOnly":true},"accountId":{"type":"string","description":"Account ID of the merchant."}},"required":["username","password","accountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/loonie":{"id":"components/schemas/loonie","kind":"json-schema","title":"loonie","data":{"description":"loonie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"loonie credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the loonie merchant."},"merchantToken":{"type":"string","format":"password","description":"loonie merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/LPG":{"id":"components/schemas/LPG","kind":"json-schema","title":"LPG","data":{"description":"LPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LPG credentials object.","properties":{"publicKey":{"type":"string","description":"LPG public API key."},"secureKey":{"type":"string","description":"LPG secure API key.","format":"password","writeOnly":true},"payoutUsername":{"type":"string","description":"LPG payout account username.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"LPG payout account password.","format":"password","writeOnly":true}},"required":["publicKey","secureKey"]}}}]}},"components/schemas/MaxiCash":{"id":"components/schemas/MaxiCash","kind":"json-schema","title":"MaxiCash","data":{"description":"MaxiCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MaxiCash credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the MaxiCash API merchant."},"password":{"type":"string","description":"MaxiCash API password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/MercadoPago":{"id":"components/schemas/MercadoPago","kind":"json-schema","title":"MercadoPago","data":{"description":"MercadoPago gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MercadoPago credentials object.","properties":{"publicKey":{"type":"string","description":"MercadoPago public key."},"accessToken":{"type":"string","description":"MercadoPago access token.","format":"password","writeOnly":true}},"required":["publicKey","accessToken"]},"settings":{"type":"object","description":"Settings object.","properties":{"collectDeviceId":{"type":"boolean","description":"Specifies collect and send device ID to MercadoPago.","default":false,"example":false}}}}}]}},"components/schemas/MiFinity":{"id":"components/schemas/MiFinity","kind":"json-schema","title":"MiFinity","data":{"description":"MiFinity gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MiFinity credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"MiFinity API key.","writeOnly":true},"mifinityAccountNumber":{"type":"string","format":"password","description":"MiFinity account number.","writeOnly":true},"accountHolderId":{"type":"string","description":"ID of the MiFinity account holder."},"brandId":{"type":"string","description":"Three-digit ID provided by MiFinity which indicates through which brand the call made."}},"required":["apiKey","mifinityAccountNumber","accountHolderId"]}}}]}},"components/schemas/MobilePay":{"id":"components/schemas/MobilePay","kind":"json-schema","title":"MobilePay","data":{"description":"MobilePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSerialNumber":{"type":"string","description":"Serial number of the MobilePay merchant."},"subscriptionKey":{"type":"string","description":"Subscription key of the MobilePay merchant."},"clientId":{"type":"string","description":"ID of the MobilePay client."},"clientSecret":{"type":"string","description":"MobilePay client secret.","format":"password","writeOnly":true}},"required":["merchantSerialNumber","subscriptionKey","clientId","clientSecret"]}}}]}},"components/schemas/Mollie":{"id":"components/schemas/Mollie","kind":"json-schema","title":"Mollie","data":{"description":"Mollie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Mollie credentials object.","properties":{"apiKey":{"type":"string","description":"Mollie API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Moneris":{"id":"components/schemas/Moneris","kind":"json-schema","title":"Moneris","data":{"description":"Moneris gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiToken":{"type":"string","description":"Moneris API token.","format":"password","writeOnly":true},"storeId":{"type":"string","description":"ID of the Moneris store."}},"required":["storeId","apiToken"]}}}]}},"components/schemas/Monolo":{"id":"components/schemas/Monolo","kind":"json-schema","title":"Monolo","data":{"description":"Monolo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Monolo credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Monolo merchant account."},"apiKey":{"type":"string","description":"Monolo API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Monolo secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Monolo settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/MonRem":{"id":"components/schemas/MonRem","kind":"json-schema","title":"MonRem","data":{"description":"MonRem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MonRem credentials object.","properties":{"clientId":{"type":"string","description":"Client ID of the MonRem."},"username":{"type":"string","description":"Username of the MonRem."},"password":{"type":"string","description":"Password of the MonRem.","format":"password","writeOnly":true},"clientSecret":{"type":"string","description":"Client secret of the MonRem.","format":"password","writeOnly":true}},"required":["clientId","username","password","clientSecret"]}}}]}},"components/schemas/MtaPay":{"id":"components/schemas/MtaPay","kind":"json-schema","title":"MtaPay","data":{"description":"MTA Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the MTA Pay account."},"partyId":{"type":"string","description":"ID of the MTA Pay party."},"md5key":{"type":"string","description":"MTA Pay MD5 key.","format":"password","writeOnly":true}},"required":["accountId","partyId","md5key"]},"settings":{"type":"object","description":"MTA Pay settings object.","properties":{"goods":{"type":"string","description":"MTA Pay goods."},"mobilePay":{"type":"string","description":"MTA Pay mobile pay parameter."}},"required":["mobilePay","goods"]}}}]}},"components/schemas/MuchBetter":{"id":"components/schemas/MuchBetter","kind":"json-schema","title":"MuchBetter","data":{"description":"MuchBetter gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetter credentials object.","properties":{"merchantAccountId":{"type":"string","description":"ID of the MuchBetter merchant account."},"apiKey":{"type":"string","description":"MuchBetter API key.","format":"password","writeOnly":true}},"required":["merchantAccountId","apiKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"brandName":{"type":"string","description":"MuchBetter brand name used for reporting and logo."},"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetter.","default":false}}}}}]}},"components/schemas/MuchBetterGateway":{"id":"components/schemas/MuchBetterGateway","kind":"json-schema","title":"MuchBetterGateway","data":{"description":"MuchBetterGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetterGateway credentials object.","properties":{"apiKey":{"type":"string","description":"MuchBetterGateway API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"MuchBetterGateway secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetterGateway.","default":false}}}}}]}},"components/schemas/MyFatoorah":{"id":"components/schemas/MyFatoorah","kind":"json-schema","title":"MyFatoorah","data":{"description":"MyFatoorah gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MyFatoorah credentials object.","properties":{"apiKey":{"type":"string","description":"MyFatoorah API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Naewe":{"id":"components/schemas/Naewe","kind":"json-schema","title":"Naewe","data":{"description":"Naewe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Naewe credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Naewe merchant account."},"apiKey":{"type":"string","description":"Naewe API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Naewe secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Naewe settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/Neosurf":{"id":"components/schemas/Neosurf","kind":"json-schema","title":"Neosurf","data":{"description":"Neosurf gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neosurf credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Neosurf merchant."},"secretKey":{"type":"string","description":"Neosurf API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/NMI":{"id":"components/schemas/NMI","kind":"json-schema","title":"NMI","data":{"description":"NMI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username of the NMI merchant."},"password":{"type":"string","description":"Password of the NMI merchant.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"NMI API key.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"disableStoredCredentials":{"description":"Specifies whether to disable NMI stored credentials for Customer Initiated Transactions (CIT) and Merchant Initiated Transactions (MIT).","type":"boolean","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Netbanking":{"id":"components/schemas/Netbanking","kind":"json-schema","title":"Netbanking","data":{"description":"Netbanking gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Netbanking credentials object.","properties":{"midcode":{"type":"string","description":"Netbanking Merchant Identification (MID) code."},"midsecret":{"type":"string","description":"Netbanking Merchant Identification (MID) secret key.","format":"password","writeOnly":true}},"required":["midcode","midsecret"]}}}]}},"components/schemas/Neteller":{"id":"components/schemas/Neteller","kind":"json-schema","title":"Neteller","data":{"description":"Neteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neteller credentials object.","properties":{"paysafePaymentsApiUsername":{"type":"string","description":"Neteller Paysafe Payments API username for a private key."},"paysafePaymentsApiPassword":{"type":"string","description":"Neteller Paysafe Payments API password for a private key.","format":"password","writeOnly":true}},"required":["paysafePaymentsApiUsername","paysafePaymentsApiPassword"]},"settings":{"type":"object","properties":{"populateCustomerEmail":{"type":"boolean","description":"Specifies whether to the populate customer email at payment."}}}}}]}},"components/schemas/NGenius":{"id":"components/schemas/NGenius","kind":"json-schema","title":"NGenius","data":{"description":"NGenius gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NGenius credentials object.","properties":{"outletId":{"type":"string","description":"ID of the NGenius outlet."},"apiKey":{"type":"string","description":"NGenius API key.","format":"password","writeOnly":true}},"required":["outletId","apiKey"]}}}]}},"components/schemas/NinjaWallet":{"id":"components/schemas/NinjaWallet","kind":"json-schema","title":"NinjaWallet","data":{"description":"NinjaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NinjaWallet credentials object.","properties":{"apiKey":{"type":"string","description":"NinjaWallet API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"NinjaWallet secret.","format":"password","writeOnly":true},"passphrase":{"type":"string","description":"NinjaWallet passphrase.","format":"password","writeOnly":true}},"required":["apiKey","secret","passphrase"]}}}]}},"components/schemas/NordikCoin":{"id":"components/schemas/NordikCoin","kind":"json-schema","title":"NordikCoin","data":{"description":"NordikCoin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NordikCoin credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the NordikCoin merchant."},"secret":{"type":"string","description":"NordikCoin secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]}}}]}},"components/schemas/NOWPayments":{"id":"components/schemas/NOWPayments","kind":"json-schema","title":"NOWPayments","data":{"description":"NOWPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NOWPayments credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey","ipnSecret"]},"settings":{"type":"object","description":"NOWPayments settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/NuaPay":{"id":"components/schemas/NuaPay","kind":"json-schema","title":"NuaPay","data":{"description":"NuaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NuaPay credentials object.","properties":{"nuaPayCommonName":{"type":"string","description":"NuaPay common name."},"nuaPaySerialNumber":{"type":"string","description":"NuaPay serial number."},"nuaPayAccountId":{"type":"string","description":"ID of the NuaPay account."},"nuaPayOriginatorIban":{"type":"string","description":"NuaPay origiantor IBAN.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key.","format":"password","writeOnly":true},"nuaPayPrivateKey":{"type":"string","description":"NuaPay private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["nuaPayCommonName","nuaPaySerialNumber","nuaPayAccountId","nuaPayOriginatorIban","nuaPayApiKey","nuaPayPrivateKey"]}}}]}},"components/schemas/OchaPay":{"id":"components/schemas/OchaPay","kind":"json-schema","title":"OchaPay","data":{"description":"OchaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiUsername":{"type":"string","description":"OchaPay username."},"apiPassword":{"type":"string","description":"OchaPay API password.","format":"password","writeOnly":true},"secretWord":{"type":"string","description":"OchaPay secret word.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword","secretWord"]}}}]}},"components/schemas/OmniMatrix":{"id":"components/schemas/OmniMatrix","kind":"json-schema","title":"OmniMatrix","data":{"description":"OmniMatrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OmniMatrix credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the OmniMatrix merchant."},"secret":{"type":"string","description":"OmniMatrix secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]},"settings":{"type":"object","description":"OmniMatrix settings object.","properties":{"usePreconfiguredAmounts":{"type":"boolean","description":"Specifies if the user must be redirected to a hosted page to select the closest amount when it is not in the list of preconfigured amounts.","default":false,"example":false}}}}}]}},"components/schemas/Onlineueberweisen":{"id":"components/schemas/Onlineueberweisen","kind":"json-schema","title":"Onlineueberweisen","data":{"description":"Onlineueberweisen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Onlineueberweisen credentials object.","properties":{"apiKey":{"type":"string","description":"Onlineueberweisen API key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"isxSiinSecret":{"type":"string","description":"Secret for checksum verification for SEPA Instant Instant Notification (SIIN).","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["apiKey"]},"settings":{"type":"object","description":"Onlineueberweisen settings object.","properties":{"payformCode":{"type":"string","description":"Onlineueberweisen code to use a customized PayForm template.","default":"default"},"extraStep":{"type":"boolean","description":"Specifies whether to display a page where the user must enter their bank country and account holder name.","default":false}}}}}]}},"components/schemas/OnRamp":{"id":"components/schemas/OnRamp","kind":"json-schema","title":"OnRamp","data":{"description":"OnRamp gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OnRamp credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"OnRamp settings object.","properties":{"useServerToServerApi":{"type":"boolean","description":"Specifies whether to use OnRamp server to server API.","default":false},"logoUrl":{"type":"string","description":"Set this value to use a custom logo.","format":"uri"}}}}}]}},"components/schemas/Orbital":{"id":"components/schemas/Orbital","kind":"json-schema","title":"Orbital","data":{"description":"Orbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Orbital credentials object.","properties":{"apiKey":{"type":"string","description":"Orbital API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Orbital settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","enum":["USD","EUR","GBP"]},"mainCryptoCurrency":{"description":"Blockchain network to be used.","type":"string","enum":["ETH","SOL","TRX"]},"logoImageUrl":{"description":"Logo image in PNG or SVG format to be displayed on the deposit screen.","type":"string"},"productImageUrl":{"description":"Product image in JPEG format to be displayed on the deposit screen.","type":"string"}}}}}]}},"components/schemas/Pagadito":{"id":"components/schemas/Pagadito","kind":"json-schema","title":"Pagadito","data":{"description":"Pagadito gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pagadito credentials object.","properties":{"uid":{"type":"string","format":"password","description":"Pagadito UID.","writeOnly":true},"wsk":{"type":"string","format":"password","description":"Pagadito WSK.","writeOnly":true}},"required":["uid","wsk"]},"settings":{"type":"object","properties":{"useRecurringApi":{"type":"boolean","default":false,"description":"Specifies whether to use the Pagadito API for reoccurring payments."}}}}}]}},"components/schemas/Pagsmile":{"id":"components/schemas/Pagsmile","kind":"json-schema","title":"Pagsmile","data":{"description":"Pagsmile gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Pagsmile merchant."},"appId":{"type":"string","description":"ID of the Pagsmile application."},"secretKey":{"type":"string","description":"Pagsmile MD5 key.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Pagsmile secret key for the Trade Pay API.\nThe key starts with `Pagsmile_sk`.","format":"password","writeOnly":true}},"required":["merchantId","appId","secretKey"]},"settings":{"type":"object","description":"Pagsmile settings object.","properties":{"useTradePay":{"type":"boolean","description":"Specifies whether to use the Trade Pay API.","default":false,"example":false}}}}}]}},"components/schemas/Panamerican":{"id":"components/schemas/Panamerican","kind":"json-schema","title":"Panamerican","data":{"description":"Panamerican gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Panamerican credentials object.","properties":{"key":{"type":"string","description":"Panamerican key."},"password":{"type":"string","description":"Panamerican password.","format":"password","writeOnly":true}},"required":["key","password"]},"settings":{"type":"object","description":"Panamerican settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display a step where the user must enter their ID number."},"convertToAscii":{"type":"boolean","description":"Specifies whether to convert all chars to ascii."}},"required":["extraStep"]}}}]}},"components/schemas/PandaGateway":{"id":"components/schemas/PandaGateway","kind":"json-schema","title":"PandaGateway","data":{"description":"Panda gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Panda merchant code."},"apiCode":{"type":"string","description":"Panda API code."},"signKey":{"type":"string","description":"Panda sign key.","format":"password","writeOnly":true}},"required":["merchantCode","apiCode","signKey"]}}}]}},"components/schemas/ParamountCommerce":{"id":"components/schemas/ParamountCommerce","kind":"json-schema","title":"ParamountCommerce","data":{"description":"ParamountCommerce gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountCommerce credentials object.","properties":{"merchantId":{"type":"string","description":"ParamountCommerce merchant ID."},"appId":{"type":"string","description":"ParamountCommerce application ID."},"clientId":{"type":"string","description":"ParamountCommerce client ID."},"clientSecret":{"type":"string","description":"ParamountCommerce client secret.","format":"password","writeOnly":true}},"required":["merchantId","appId","clientId","clientSecret"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"string","description":"ParamountCommerce merchant sub ID."},"merchantTransactionType":{"type":"string","description":"ParamountCommerce merchant transaction type.","enum":["POKER","CASINO","BINGO","SPORTS_BETTING","DIGITAL_REMITTANCE","E_SPORTS"]},"useDirectDeposit":{"type":"boolean","description":"Specifies whether to use One-Click Payments.","default":false,"example":false}},"required":["merchantSubId","merchantTransactionType"]}}}]}},"components/schemas/ParamountEft":{"id":"components/schemas/ParamountEft","kind":"json-schema","title":"ParamountEft","data":{"description":"Paramount gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paramount credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the merchant account."},"merchant_pass":{"type":"string","description":"Merchant account password.","format":"password","writeOnly":true},"payee":{"type":"string","description":"Merchant name or descriptor."}},"required":["merchant_id","merchant_pass","payee"]}}}]}},"components/schemas/ParamountInterac":{"id":"components/schemas/ParamountInterac","kind":"json-schema","title":"ParamountInterac","data":{"description":"ParamountInterac gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountInterac credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ParamountInterac merchant."},"encryptionKey":{"type":"string","description":"ParamountInterac encryption key.","format":"password","writeOnly":true},"password":{"type":"string","description":"ParamountInterac password for query.","format":"password","writeOnly":true}},"required":["merchantId","encryptionKey","password"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."},"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."},"paymentFlow":{"type":"string","description":"Specifies whether to create an Interac payment request loaded directly on a specific preselected payment flow, and skip the flow selection page.","enum":["request_money","manual"]}}}}}]}},"components/schemas/Pay4Fun":{"id":"components/schemas/Pay4Fun","kind":"json-schema","title":"Pay4Fun","data":{"description":"Pay4Fun gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pay4Fun credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Pay4Fun merchant."},"merchantSecret":{"type":"string","description":"Pay4Fun merchant secret.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Pay4Fun merchant key.","format":"password","writeOnly":true}},"required":["merchantId","merchantSecret","merchantKey"]}}}]}},"components/schemas/Paybilt":{"id":"components/schemas/Paybilt","kind":"json-schema","title":"Paybilt","data":{"description":"Paybilt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paybilt credentials object.","properties":{"tokenId":{"type":"string","description":"ID of the Paybilt token API."},"tokenApiKey":{"type":"string","description":"Paybilt token API key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Paybilt API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Paybilt HMAC key used to verify webhook signatures.","format":"password","writeOnly":true}},"required":["tokenId","tokenApiKey","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]}},"components/schemas/PayCash":{"id":"components/schemas/PayCash","kind":"json-schema","title":"PayCash","data":{"description":"PayCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCash credentials object.","properties":{"emisor":{"type":"string","description":"PayCash merchant identifier."},"token":{"type":"string","description":"PayCash token.","format":"password","writeOnly":true}},"required":["emisor","token"]}}}]}},"components/schemas/PayClub":{"id":"components/schemas/PayClub","kind":"json-schema","title":"PayClub","data":{"description":"PayClub gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayClub credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayClub merchant."},"accountNumber":{"type":"string","description":"PayClub account number."},"signKey":{"type":"string","format":"password","description":"PayClub sign key.","writeOnly":true}},"required":["merchantId","accountNumber","signKey"]},"settings":{"type":"object","properties":{"use3DSChannel":{"type":"boolean","description":"Specifies whether to use a 3DS channel."}}}}}]}},"components/schemas/Paycly":{"id":"components/schemas/Paycly","kind":"json-schema","title":"Paycly","data":{"description":"Paycly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paycly credentials object.","properties":{"apiToken":{"writeOnly":true,"format":"password","type":"string","description":"Paycly API token."},"websiteId":{"writeOnly":true,"type":"string","description":"Paycly Website ID."}},"required":["apiToken","websiteId"]}}}]}},"components/schemas/PayCom":{"id":"components/schemas/PayCom","kind":"json-schema","title":"PayCom","data":{"description":"PayCom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCom credentials object.","properties":{"apiKey":{"type":"string","description":"PayCom API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayEcards":{"id":"components/schemas/PayEcards","kind":"json-schema","title":"PayEcards","data":{"description":"PayEcards gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayEcards credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the PayEcards gateway."},"password":{"type":"string","description":"Password of the PayEcards gateway.","format":"password","writeOnly":true},"paymentUrl":{"type":"string","description":"Payment URL of the PayEcards gateway for S2S integration."}},"required":["clientKey","password","paymentUrl"]}}}]}},"components/schemas/Paynote":{"id":"components/schemas/Paynote","kind":"json-schema","title":"Paynote","data":{"description":"Paynote gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"Paynote public key."},"secretKey":{"type":"string","format":"password","description":"Paynote secret key.","writeOnly":true}},"required":["publicKey","secretKey"]}}}]}},"components/schemas/PayPal":{"id":"components/schemas/PayPal","kind":"json-schema","title":"PayPal","data":{"description":"PayPal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"PayPal credentials object.\nThis object specifies the PayPal Partner account from which a gateway account is registered.","properties":{"partnerId":{"type":"string","description":"ID of the PayPal Partner account."},"partnerClientId":{"type":"string","description":"ID of the PayPal Partner account API client."},"partnerSecret":{"type":"string","description":"Secret key for the PayPal Partner account API client.","format":"password","writeOnly":true},"partnerBnCode":{"type":"string","description":"BN Code for the PayPal Partner account.\nThis unique code tracks the source of API requests."}}},"settings":{"type":"object","description":"PayPal settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on PayPal.","format":"uri"},"enableGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to allow users without PayPal accounts to pay using credit or debit cards."},"useHostedCheckoutForm":{"type":"boolean","default":false,"description":"Specifies whether to use a Rebilly hosted PayPal form instead of redirecting customers to PayPal.\nFor more information, see [Create a payment form using the Rebilly API](https://www.rebilly.com/docs/dev-docs/create-a-hosted-payment-form/)."},"forceGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to suppress the PayPal payment method when a guest checkout is available.\nThis option is only applicable when `useHostedCheckoutForm` is enabled."},"enableAlternativePaymentMethods":{"type":"boolean","default":false,"description":"Specifies whether to allow customers to pay using the alternative payment options supported by PayPal.\nWhen enabled, customers must manually approve all payments."}}}}}]}},"components/schemas/Payeezy":{"id":"components/schemas/Payeezy","kind":"json-schema","title":"Payeezy","data":{"description":"Payeezy gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Payeezy merchant."},"merchantToken":{"type":"string","description":"Merchant token.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"API key."},"apiSecret":{"type":"string","description":"API secret.","format":"password","writeOnly":true}},"required":["merchantId","merchantToken","apiKey","apiSecret"]}}}]}},"components/schemas/Payflow":{"id":"components/schemas/Payflow","kind":"json-schema","title":"Payflow","data":{"description":"Payflow gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payflow credentials object.","properties":{"user":{"type":"string","description":"Payflow user.\nIf you set up one or more additional users on the account,\nthis value is the ID of the user that is authorized to process transactions.\nIf do not set up additional users on the account,\n`user` has the same value as `vendor`."},"vendor":{"type":"string","description":"ID of the Payflow merchant login."},"password":{"type":"string","description":"Payflow merchant password.","format":"password","writeOnly":true}},"required":["user","vendor","password"]}}}]}},"components/schemas/PayGlocal":{"id":"components/schemas/PayGlocal","kind":"json-schema","title":"PayGlocal","data":{"description":"PayGlocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayGlocal credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayGlocal merchant (MID)."},"privateKeyId":{"type":"string","description":"Key ID of the merchant RSA private key used to sign payment API requests."},"publicKeyId":{"type":"string","description":"Key ID of the PayGlocal RSA public key used to encrypt payment API request payloads."},"publicKey":{"type":"string","description":"PayGlocal RSA public key used to encrypt payment API request payloads and verify merchant callback token signatures.","x-multiline":true},"privateKey":{"type":"string","description":"Merchant RSA private key used to sign payment API requests.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantId","privateKeyId","publicKeyId","publicKey","privateKey"]}}}]}},"components/schemas/PaymentAsia":{"id":"components/schemas/PaymentAsia","kind":"json-schema","title":"PaymentAsia","data":{"description":"PaymentAsia gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PaymentAsia credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"PaymentAsia API key.","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/PaymenTechnologies":{"id":"components/schemas/PaymenTechnologies","kind":"json-schema","title":"PaymenTechnologies","data":{"description":"PaymenTechnologies gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"ID of the PaymenTechnologies authenticate."},"authenticatePw":{"type":"string","description":"PaymenTechnologies authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"PaymenTechnologies API public key."},"secretKey":{"type":"string","description":"PaymenTechnologies API secret key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PaymenTechnologies API key required for query operations.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey","apiKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/PaymentsOS":{"id":"components/schemas/PaymentsOS","kind":"json-schema","title":"PaymentsOS","data":{"description":"PaymentsOS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"appId":{"type":"string","description":"ID of the PaymentsOS application."},"publicKey":{"type":"string","description":"PaymentsOS public key."},"privateKey":{"type":"string","format":"password","description":"PaymentsOS private key.","writeOnly":true}},"required":["appId","privateKey","publicKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Paymero":{"id":"components/schemas/Paymero","kind":"json-schema","title":"Paymero","data":{"description":"Paymero gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paymero credentials object.","properties":{"apiKey":{"type":"string","description":"Paymero API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Paymero settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"mainCurrency":{"description":"Blockchain on which the currency is processed.","type":"string","enum":["TRX","ETH"]},"amountExceeded":{"description":"Specifies whether to decline transactions when the amount received exceeds the amount requested.","type":"boolean","default":false}}}}}]}},"components/schemas/Payper":{"id":"components/schemas/Payper","kind":"json-schema","title":"Payper","data":{"description":"Payper gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payper credentials object.","required":["secretKey"],"properties":{"secretKey":{"type":"string","format":"password","description":"Payper secret key.","writeOnly":true}}},"settings":{"type":"object","properties":{"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."}}}}}]}},"components/schemas/Payr":{"id":"components/schemas/Payr","kind":"json-schema","title":"Payr","data":{"description":"Payr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Payr client."},"secretWord":{"type":"string","description":"Payr secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API.\nThis API is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API.\nThis API is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/PayRedeem":{"id":"components/schemas/PayRedeem","kind":"json-schema","title":"PayRedeem","data":{"description":"PayRedeem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRedeem credentials object.","properties":{"apiUser":{"type":"string","description":"PayRedeem API user."},"apiPassword":{"type":"string","description":"PayRedeem API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PayRedeem API key.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayRetailers":{"id":"components/schemas/PayRetailers","kind":"json-schema","title":"PayRetailers","data":{"description":"PayRetailers gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRetailers credentials object.","properties":{"shopId":{"type":"string","description":"ID of the PayRetailers shop."},"secretKey":{"type":"string","description":"Secret key value of the PayRetailers API.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]}},"components/schemas/Paysafe":{"id":"components/schemas/Paysafe","kind":"json-schema","title":"Paysafe","data":{"description":"Paysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"storeId":{"type":"string","description":"ID of the Paysafe store."},"storePwd":{"type":"string","description":"Paysafe store password.","format":"password","writeOnly":true},"accountNum":{"type":"string","description":"Paysafe account number."}},"required":["storeId","storePwd","accountNum"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Paysafecard":{"id":"components/schemas/Paysafecard","kind":"json-schema","title":"Paysafecard","data":{"description":"Paysafecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecard API key.","format":"password","writeOnly":true},"reconciliationApiKey":{"type":"string","description":"Paysafecard reconciliation API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Paysafecash":{"id":"components/schemas/Paysafecash","kind":"json-schema","title":"Paysafecash","data":{"description":"Paysafecash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/PayTabs":{"id":"components/schemas/PayTabs","kind":"json-schema","title":"PayTabs","data":{"description":"PayTabs gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayTabs credentials object.","properties":{"profileId":{"type":"string","description":"ID of the PayTabs profile."},"clientKey":{"type":"string","description":"PayTabs client key."},"serverKey":{"type":"string","format":"password","description":"PayTabs server key.","writeOnly":true}},"required":["profileId","clientKey","serverKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for PayTabs API."}}}}}]}},"components/schemas/PayU":{"id":"components/schemas/PayU","kind":"json-schema","title":"PayU","data":{"description":"PayU gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayU credentials object.","properties":{"merchantKey":{"type":"string","description":"Merchant key of the PayU merchant."},"merchantSalt":{"type":"string","description":"Merchant salt of the PayU merchant.","format":"password","writeOnly":true}},"required":["merchantKey","merchantSalt"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayULatam":{"id":"components/schemas/PayULatam","kind":"json-schema","title":"PayULatam","data":{"description":"PayULatam gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayULatam credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayULatam merchant."},"accountId":{"type":"string","description":"ID of the PayULatam account."},"apiLogin":{"type":"string","description":"PayULatam API login."},"apiKey":{"type":"string","description":"PayULatam API key.","format":"password","writeOnly":true}},"required":["merchantId","accountId","apiLogin","apiKey"]}}}]}},"components/schemas/Payvision":{"id":"components/schemas/Payvision","kind":"json-schema","title":"Payvision","data":{"description":"Payvision gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"memberId":{"type":"string","description":"ID of the Payvision member."},"memberGuid":{"type":"string","description":"Payvision member guid.","format":"password","writeOnly":true}},"required":["memberId","memberGuid"]},"settings":{"type":"object","description":"Payvision settings object.","properties":{"avs":{"type":"boolean","description":"Specifies whether to use Payvision AVS."},"delay":{"type":"integer","description":"Automatic capture delay in hours."},"merchantAccountType":{"type":"integer","description":"Payvision merchant account type."}},"required":["merchantAccountType"]}}}]}},"components/schemas/PayXpert":{"id":"components/schemas/PayXpert","kind":"json-schema","title":"PayXpert","data":{"description":"Configuration for the PayXpert gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for PayXpert.","properties":{"username":{"type":"string","description":"Username for the PayXpert API."},"password":{"type":"string","description":"Password for the PayXpert API.","format":"password","writeOnly":true}},"required":["username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PharosPayments":{"id":"components/schemas/PharosPayments","kind":"json-schema","title":"PharosPayments","data":{"description":"PharosPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PharosPayments credentials object.","properties":{"username":{"type":"string","description":"Authentication username."},"password":{"description":"Authentication password.","type":"string","format":"password"},"merchantCode":{"type":"string","description":"Merchant code."},"terminalCode":{"type":"string","description":"Terminal code."}},"required":["username","password","merchantCode","terminalCode"]}}}]}},"components/schemas/Piastrix":{"id":"components/schemas/Piastrix","kind":"json-schema","title":"Piastrix","data":{"description":"Piastrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Piastrix credentials object.","properties":{"shopId":{"type":"string","description":"ID of the Piastrix shop."},"secretKey":{"type":"string","description":"Piastrix secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]},"settings":{"type":"object","description":"Piastrix settings object.","properties":{"tolerancePercentage":{"type":"integer","description":"Tolerance percentage for settled amounts.","minimum":0,"maximum":5,"example":5}}}}}]}},"components/schemas/Pin4Pay":{"id":"components/schemas/Pin4Pay","kind":"json-schema","title":"Pin4Pay","data":{"description":"Pin4Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","requestOrigin","codigoCliente","keyValue"],"properties":{"username":{"type":"string","description":"Pin4Pay API username."},"requestOrigin":{"type":"string","description":"Pin4Pay API request origin."},"codigoCliente":{"type":"string","description":"Pin4Pay API codigo cliente."},"keyValue":{"type":"string","description":"Pin4Pay API password.","format":"password","writeOnly":true}}}}}]}},"components/schemas/Plugnpay":{"id":"components/schemas/Plugnpay","kind":"json-schema","title":"Plugnpay","data":{"description":"Plugnpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publisher-name":{"type":"string","description":"ID of the Plugnpay member."},"publisher-password":{"type":"string","description":"Plugnpay AVS.","format":"password","writeOnly":true}},"required":["publisher-name","publisher-password"]}}}]}},"components/schemas/PostFinance":{"id":"components/schemas/PostFinance","kind":"json-schema","title":"PostFinance","data":{"description":"PostFinance gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PostFinance credentials object.","properties":{"pspId":{"type":"string","description":"ID of the PostFinance PSP."},"merchantId":{"type":"string","description":"ID of the PostFinance merchant."},"sftpUsername":{"type":"string","description":"PostFinance SFTP username."},"publicKey":{"type":"string","x-multiline":true,"description":"PostFinance public key."},"privateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance private key.","writeOnly":true},"keyPassphrase":{"type":"string","format":"password","description":"PostFinance key passphrase.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance SFTP private key.","writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"PostFinance SFTP key passphrase.","writeOnly":true}},"required":["pspId","merchantId","sftpUsername","publicKey","privateKey","keyPassphrase","sftpPrivateKey","sftpKeyPassphrase"]},"settings":{"type":"object","properties":{"skipPaymentFileUpload":{"type":"boolean","default":false,"description":"Specifies whether to skip the payment file upload screen."},"enableAliasAuthentication":{"type":"boolean","default":false,"description":"Specifies whether to enable alias authentication."}}}}}]}},"components/schemas/Powertranz":{"id":"components/schemas/Powertranz","kind":"json-schema","title":"Powertranz","data":{"description":"Powertranz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Powertranz credentials object.","properties":{"merchantId":{"type":"string","description":"Powertranz merchant ID."},"password":{"type":"string","description":"Powertranz password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/PSiGate":{"id":"components/schemas/PSiGate","kind":"json-schema","title":"PSiGate","data":{"description":"PSiGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username or store name."},"password":{"type":"string","description":"Password of the PSiGate gateway account.","format":"password","writeOnly":true},"clientId":{"type":"string","description":"Client ID."},"clientApiKey":{"type":"string","description":"Client API key.","format":"password","writeOnly":true},"disputeUsername":{"type":"string","description":"Username for fetching disputes."},"disputePassword":{"type":"string","description":"Password for fetching disputes.","format":"password","writeOnly":true}},"required":["username","password","clientId","clientApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PPRO":{"id":"components/schemas/PPRO","kind":"json-schema","title":"PPRO","data":{"description":"PPRO gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PPRO credentials object.","properties":{"login":{"type":"string","description":"PPRO merchant API username."},"password":{"type":"string","description":"PPRO merchant API password.","format":"password","writeOnly":true},"contractId":{"type":"string","description":"ID of the PPRO contract.\nThis value is used for API credentials."},"privateKey":{"type":"string","format":"password","description":"PPRO private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"PPRO private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Public key.","x-multiline":true},"serverCertificate":{"type":"string","description":"PPRO CA certificate.","x-multiline":true},"notificationSecret":{"type":"string","format":"password","description":"Secret used for IPN URLs.","writeOnly":true},"sharedSecret":{"type":"string","format":"password","description":"Secret used for redirect URLs.","writeOnly":true}},"required":["login","password","contractId","privateKey","privateKeyPassword","clientCertificate","serverCertificate","notificationSecret","sharedSecret"]}}}]}},"components/schemas/Prosa":{"id":"components/schemas/Prosa","kind":"json-schema","title":"Prosa","data":{"description":"Prosa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Prosa credentials object.","properties":{"entityId":{"type":"string","description":"ID of the Prosa entity."},"accessToken":{"type":"string","format":"password","description":"Prosa access token.","writeOnly":true}},"required":["entityId","accessToken"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Quickpay":{"id":"components/schemas/Quickpay","kind":"json-schema","title":"Quickpay","data":{"description":"Quickpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Quickpay credentials object.","properties":{"apiKey":{"type":"string","description":"Quickpay API key.","format":"password","writeOnly":true},"privateKey":{"type":"string","description":"Private key of the Quickpay account that signs callback checksums.","format":"password","writeOnly":true}},"required":["apiKey","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Rapyd":{"id":"components/schemas/Rapyd","kind":"json-schema","title":"Rapyd","data":{"description":"Rapyd gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Rapyd credentials object.","properties":{"accessKey":{"type":"string","description":"Rapyd access key."},"secretKey":{"type":"string","format":"password","description":"Rapyd secret key.","writeOnly":true}},"required":["accessKey","secretKey"]},"settings":{"type":"object","description":"Rapyd settings object.","properties":{"ipnUrl":{"type":"string","description":"Instant Payment Notification (IPN) URL configured on Rapyd.\nThis value is used to calculate the signature."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/RPN":{"id":"components/schemas/RPN","kind":"json-schema","title":"RPN","data":{"description":"RPN gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"mid":{"type":"string","description":"RPN merchant identifier."},"key":{"type":"string","description":"RPN key.","format":"password","writeOnly":true}},"required":["mid","key"]}}}]}},"components/schemas/Realex":{"id":"components/schemas/Realex","kind":"json-schema","title":"Realex","data":{"description":"Realex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Realex merchant."},"secretKey":{"type":"string","description":"Realex secret key.","format":"password","writeOnly":true},"rebatePassword":{"type":"string","description":"Realex rebate password.","format":"password","writeOnly":true},"account":{"type":"string","description":"Realex account."}},"required":["merchantId","secretKey","rebatePassword","account"]}}}]}},"components/schemas/Realtime":{"id":"components/schemas/Realtime","kind":"json-schema","title":"Realtime","data":{"description":"Realtime gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Realtime client."},"secretWord":{"type":"string","description":"Realtime secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/Redsys":{"id":"components/schemas/Redsys","kind":"json-schema","title":"Redsys","data":{"description":"Redsys gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Redsys merchant code.","format":"password","writeOnly":true},"secretCode":{"type":"string","description":"Redsys secret code.","format":"password","writeOnly":true}},"required":["merchantCode","secretCode"]},"settings":{"type":"object","description":"Redsys settings object.","properties":{"terminal":{"type":"string","description":"Redsys terminal."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Rotessa":{"id":"components/schemas/Rotessa","kind":"json-schema","title":"Rotessa","data":{"description":"Rotessa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Rotessa credentials object.","properties":{"apiKey":{"type":"string","description":"Rotessa API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Rotessa settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay."}},"required":["delay"]}}}]}},"components/schemas/Safecharge":{"id":"components/schemas/Safecharge","kind":"json-schema","title":"Safecharge","data":{"description":"Safecharge gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Safecharge credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Safecharge merchant."},"siteId":{"type":"string","description":"ID of the Safecharge site."},"secretKey":{"type":"string","description":"Safecharge secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey","siteId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/SaltarPay":{"id":"components/schemas/SaltarPay","kind":"json-schema","title":"SaltarPay","data":{"description":"SaltarPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SaltarPay credentials object.","properties":{"apiKey":{"type":"string","description":"SaltarPay API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"SaltarPay secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]}}}]}},"components/schemas/SMSVoucher":{"id":"components/schemas/SMSVoucher","kind":"json-schema","title":"SMSVoucher","data":{"description":"SMSVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"AppId":{"type":"string","description":"ID of the SMSVoucher application."}},"required":["AppId"]}}}]}},"components/schemas/Sofort":{"id":"components/schemas/Sofort","kind":"json-schema","title":"Sofort","data":{"description":"Sofort gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Sofort credentials object.","properties":{"configKey":{"type":"string","description":"Sofort configuration key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["configKey"]}}}]}},"components/schemas/Sagepay":{"id":"components/schemas/Sagepay","kind":"json-schema","title":"Sagepay","data":{"description":"Sagepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"M_ID":{"type":"string","description":"ID of the Sagepay merchant."},"M_KEY":{"type":"string","description":"Sagepay merchant key.","format":"password","writeOnly":true}},"required":["M_ID","M_KEY"]}}}]}},"components/schemas/SeamlessChex":{"id":"components/schemas/SeamlessChex","kind":"json-schema","title":"SeamlessChex","data":{"description":"SeamlessChex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SeamlessChex credentials object.","properties":{"publicKey":{"type":"string","description":"SeamlessChex publishable key."},"secretKey":{"type":"string","description":"SeamlessChex secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]}}}]}},"components/schemas/SecureTrading":{"id":"components/schemas/SecureTrading","kind":"json-schema","title":"SecureTrading","data":{"description":"SecureTrading gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecureTrading credentials object.","properties":{"websiteId":{"type":"string","description":"ID of the SecureTrading website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"username":{"type":"string","description":"SecureTrading web service username."},"password":{"type":"string","description":"SecureTrading web service password.","format":"password","writeOnly":true},"notificationPassword":{"type":"string","description":"SecureTrading notification password.\nThis password is used to authenticate webhook requests.","format":"password","writeOnly":true}},"required":["websiteId","username","password","notificationPassword"]},"settings":{"type":"object","description":"SecureTrading settings object.","properties":{"enableRecurring":{"type":"boolean","description":"Enables recurring payments.","default":false},"useParentTransactionOnFile":{"type":"boolean","description":"Enables subsequent MIT payments to include \"parenttransactionreference\" value.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/SecurionPay":{"id":"components/schemas/SecurionPay","kind":"json-schema","title":"SecurionPay","data":{"description":"SecurionPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecurionPay credentials object.","properties":{"secretApiKey":{"type":"string","format":"password","description":"SecurionPay secret API key.","writeOnly":true}},"required":["secretApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Skrill":{"id":"components/schemas/Skrill","kind":"json-schema","title":"Skrill","data":{"description":"Skrill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Skrill credentials object.","properties":{"accountEmail":{"type":"string","description":"Email address of your Skrill merchant account."},"secretWord":{"type":"string","description":"Secret word used for MD5 signature verifications.","format":"password","writeOnly":true},"mqiPassword":{"type":"string","description":"Password used during MQI or API requests.","format":"password","writeOnly":true},"currencyAccountIds":{"type":"string","description":"Comma-separated list of currency account IDs."},"merchantId":{"type":"string","description":"ID of the Skrill merchant account.\nThis value is required if `enableCustomerVerification` is set to `true`."}},"required":["accountEmail","secretWord"]},"settings":{"type":"object","properties":{"merchantFields":{"type":"string","description":"Comma-separated list of name-value merchant field pairs.\nExample: `key1:value1,key2:value2`."},"useSPX":{"type":"boolean","description":"Specifies whether to use SPX code for PIX payment method.","default":false},"enableCustomerVerification":{"type":"boolean","description":"Specifies whether to perform a Customer Verification Service check before the payout.","default":false,"example":false}}}}}]}},"components/schemas/SmartInvoice":{"id":"components/schemas/SmartInvoice","kind":"json-schema","title":"SmartInvoice","data":{"description":"SmartInvoice gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SmartInvoice credentials object.","properties":{"merchantId":{"type":"string","description":"SmartInvoice merchant account UID."},"applicationId":{"type":"string","description":"SmartInvoice application UID.","format":"password","writeOnly":true}},"required":["merchantId","applicationId"]}}}]}},"components/schemas/SparkPay":{"id":"components/schemas/SparkPay","kind":"json-schema","title":"SparkPay","data":{"description":"SparkPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SparkPay credentials object.","properties":{"shopId":{"type":"string","description":"ID of the SparkPay shop."},"secretKey":{"type":"string","description":"SparkPay secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]}},"components/schemas/Splitit":{"id":"components/schemas/Splitit","kind":"json-schema","title":"Splitit","data":{"description":"Splitit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"Splitit terminal ID."},"username":{"type":"string","description":"Splitit username."},"password":{"type":"string","description":"Splitit password.","format":"password","writeOnly":true}},"required":["terminalId","username","password"]},"settings":{"type":"object","description":"Splitit settings object.","properties":{"numberOfInstallmentsCustomField":{"type":"string","description":"Name of the transaction custom field that holds the number of installments."}}}}}]}},"components/schemas/StaticGateway":{"id":"components/schemas/StaticGateway","kind":"json-schema","title":"StaticGateway","data":{"description":"StaticGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"}]}},"components/schemas/STPMexicoBanks":{"id":"components/schemas/STPMexicoBanks","kind":"json-schema","title":"STPMexicoBanks","data":{"type":"integer","enum":[37006,37009,37019,37135,37166,37168,40002,40012,40014,40021,40030,40036,40037,40042,40044,40058,40059,40060,40062,40072,40102,40103,40106,40108,40110,40112,40113,40124,40126,40127,40128,40129,40130,40131,40132,40133,40136,40137,40138,40140,40141,40143,40145,40147,40148,40150,40151,40152,40154,40155,40156,40158,90600,90601,90602,90605,90606,90608,90613,90614,90616,90617,90620,90621,90623,90626,90627,90628,90630,90631,90634,90636,90637,90638,90640,90642,90646,90648,90649,90652,90653,90655,90656,90659,90670,90671,90674,90677,90678,90679,90680,90681,90683,90684,90685,90686,90687,90689,90901,90902]}},"components/schemas/STPMexico":{"id":"components/schemas/STPMexico","kind":"json-schema","title":"STPMexico","data":{"description":"STP Mexico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"STP Mexico credentials object.","properties":{"companyName":{"type":"string","description":"STP Mexico account company name."},"beneficiaryName":{"type":"string","description":"Name of the bank account holder that is receiving payments."},"bankId":{"description":"ID of the bank receiving payments.\nA list of bank IDs can be found in STP Mexico integration documentation.","$ref":"#/components/schemas/STPMexicoBanks"},"bankAccountNumber":{"type":"string","description":"Bank account number of the payments recipient."},"privateKey":{"type":"string","description":"STP Mexico private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"Passphrase for the private key.","format":"password","writeOnly":true}},"required":["companyName","beneficiaryName","bankId","bankAccountNumber","privateKey","keyPassphrase"]}}}]}},"components/schemas/Stripe":{"id":"components/schemas/Stripe","kind":"json-schema","title":"Stripe","data":{"description":"Stripe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"Stripe Connect credentials object.\nThe credentials object may be provided to control the Stripe Connect account to which the gateway account is connected.","properties":{"stripeClientId":{"type":"string","description":"ID of the Stripe account client."},"stripeSecret":{"type":"string","description":"Stripe Connect account secret key account.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Stripe settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on Stripe.","format":"uri"},"disablePaymentIntents":{"type":"boolean","description":"Specifies whether to use the Charges API instead of the PaymentIntents API.","default":false},"enforceOffSession":{"type":"boolean","description":"Specifies if the `off_session` parameter is set to `true` in Stripe requests.","default":false},"copyCredentialsFrom":{"type":"string","description":"ID of an existing Stripe gateway account from which credentials are copied in order to skip the onboarding process."},"setupFutureUsage":{"type":"string","description":"Indicates intent to make future payments with this payment method.\n- `on_session`: Reuse the payment method when the customer is present.\n- `off_session`: Reuse the payment method when the customer may or may not be present.","enum":["off_session","on_session"]},"applicationFeePercentage":{"type":"integer","description":"Percentage of transaction amount uses for sending application fee to Stripe.","minimum":0,"maximum":100},"includeCardNetwork":{"type":"boolean","description":"Specifies whether to include payment card network in the request to Stripe.","default":false},"radarSessionCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Radar Session ID."}}},"threeDSecureServer":{"type":"object","required":["name"],"description":"Stripe Integrated.","properties":{"name":{"type":"string","description":"Name of the Stripe 3DS server.","enum":["Stripe3dsServer"]},"enforceThreeDSecure":{"type":"boolean","description":"Specifies if Stripe must perform 3D Secure.\nThis option overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds)."}}}}}]}},"components/schemas/Tabby":{"id":"components/schemas/Tabby","kind":"json-schema","title":"Tabby","data":{"description":"Tabby gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Tabby credentials object.","properties":{"publicKey":{"type":"string","description":"Public API key of Tabby account.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Secret API key of Tabby account.","format":"password","writeOnly":true},"merchantCode":{"type":"string","description":"Merchant code of Tabby account."}},"required":["publicKey","merchantCode"]},"settings":{"type":"object","description":"Tabby settings object.","properties":{"category":{"type":"string","description":"Tabby merchant category."}}}}}]}},"components/schemas/Telr":{"id":"components/schemas/Telr","kind":"json-schema","title":"Telr","data":{"description":"Telr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Telr credentials object.","properties":{"storeId":{"type":"string","description":"Hosted payment page V2 store identifier."},"hostedPageAuthenticationKey":{"type":"string","description":"Hosted payment page V2 authentication key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Service API merchant identifier."},"serviceApiKey":{"type":"string","description":"Service API key.","format":"password","writeOnly":true},"remoteApiKey":{"type":"string","description":"Remote API key.","format":"password","writeOnly":true}},"required":["storeId","hostedPageAuthenticationKey","merchantId","serviceApiKey"]},"settings":{"type":"object","description":"Telr settings object.","properties":{"transactionDescription":{"type":"string","description":"Default transaction description.\nLeave this field blank to use website URL."}}}}}]}},"components/schemas/TestProcessor":{"id":"components/schemas/TestProcessor","kind":"json-schema","title":"TestProcessor","data":{"description":"TestProcessor gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Thunes":{"id":"components/schemas/Thunes","kind":"json-schema","title":"Thunes","data":{"description":"Thunes gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Thunes credentials object.","properties":{"apiKey":{"type":"string","description":"Thunes API key used for HTTP basic authentication.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Thunes API secret used for HTTP basic authentication.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Thunes merchant identifier."},"paymentPageId":{"type":"string","description":"Thunes payment page identifier for hosted checkout."}},"required":["apiKey","apiSecret","merchantId","paymentPageId"]},"settings":{"type":"object","description":"Thunes settings object.","required":["transactionType"],"properties":{"transactionType":{"type":"string","description":"Payer type for the Thunes payment order.","enum":["C2B","B2B"]}}}}}]}},"components/schemas/ToditoCash":{"id":"components/schemas/ToditoCash","kind":"json-schema","title":"ToditoCash","data":{"description":"ToditoCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ToditoCash credentials object.","properties":{"apiKey":{"type":"string","description":"ToditoCash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Triple000":{"id":"components/schemas/Triple000","kind":"json-schema","title":"Triple000","data":{"description":"Triple000 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Triple000 credentials object.","properties":{"username":{"type":"string","description":"Username of the Triple000 merchant."},"password":{"type":"string","format":"password","description":"Triple000 password.","writeOnly":true},"secretWord":{"type":"string","format":"password","description":"Triple000 secret word.","writeOnly":true}},"required":["username","password","secretWord"]}}}]}},"components/schemas/Truevo":{"id":"components/schemas/Truevo","kind":"json-schema","title":"Truevo","data":{"description":"Truevo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Truevo credentials object.","properties":{"mid":{"type":"string","description":"Truevo merchant identifier."},"tid":{"type":"string","description":"Truevo terminal identifier."},"token":{"type":"string","description":"Truevo authentication token.","format":"password","writeOnly":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP reconciliation private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"IPN secret that is used to validate incoming IPN requests.","writeOnly":true}},"required":["mid","tid","token"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/TrustsPay":{"id":"components/schemas/TrustsPay","kind":"json-schema","title":"TrustsPay","data":{"description":"TrustsPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"TrustsPay credentials object.","required":["merchantNo","gatewayNo","signkey"],"properties":{"merchantNo":{"type":"string","description":"TrustsPay merchant number."},"gatewayNo":{"type":"string","description":"TrustsPay gateway number."},"signkey":{"type":"string","format":"password","description":"TrustsPay sign key.","writeOnly":true}}}}}]}},"components/schemas/Trustly":{"id":"components/schemas/Trustly","kind":"json-schema","title":"Trustly","data":{"description":"Trustly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Trustly credentials object.","properties":{"username":{"type":"string","description":"Trustly username."},"password":{"type":"string","description":"Trustly password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Trustly public key.","x-multiline":true},"privateKey":{"type":"string","description":"Trustly private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["username","password","publicKey","privateKey"]}}}]}},"components/schemas/TWINT":{"id":"components/schemas/TWINT","kind":"json-schema","title":"TWINT","data":{"description":"TWINT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"TWINT credentials object.","properties":{"storeUuid":{"type":"string","description":"TWINT store UUID."},"cashRegisterId":{"type":"string","description":"ID of the cash register."},"publicKey":{"type":"string","description":"TWINT public key.","x-multiline":true},"privateKey":{"type":"string","description":"TWINT private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"TWINT key passphrase.","format":"password","writeOnly":true}},"required":["storeUuid","cashRegisterId","publicKey","privateKey","keyPassphrase"]},"settings":{"type":"object","description":"TWINT settings object.","properties":{"cashRegisterType":{"type":"string","description":"TWINT cash register type."}},"required":["cashRegisterType"]}}}]}},"components/schemas/Txn":{"id":"components/schemas/Txn","kind":"json-schema","title":"Txn","data":{"description":"Txn gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Txn credentials object.","properties":{"apiKey":{"type":"string","description":"API key of the Txn.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Txn settings object.","properties":{"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."},"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"accountCurrency":{"type":"string","description":"Cryptocurrency of the merchant account."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout.","enum":["btc","usdt","eth","xrp"]}}}}}]}},"components/schemas/Unlimit":{"id":"components/schemas/Unlimit","kind":"json-schema","title":"Unlimit","data":{"description":"Unlimit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Unlimit credentials object.","properties":{"terminalId":{"type":"string","description":"ID of the Unlimit terminal."},"password":{"type":"string","description":"Password of the Unlimit terminal merchant.","format":"password","writeOnly":true},"ipnSecret":{"type":"string","description":"IPN secret of the Unlimit merchant.","format":"password","writeOnly":true}},"required":["terminalId","password","ipnSecret"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/UPayCard":{"id":"components/schemas/UPayCard","kind":"json-schema","title":"UPayCard","data":{"description":"UPayCard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"receiver_account":{"type":"string","description":"UPayCard merchant receiver account."},"key":{"type":"string","description":"UPayCard merchant key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"UPayCard merchant secret.","format":"password","writeOnly":true}},"required":["receiver_account","key","secret"]},"settings":{"type":"object","description":"UpayCard settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/USAePay":{"id":"components/schemas/USAePay","kind":"json-schema","title":"USAePay","data":{"description":"USAePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"sourceKey":{"type":"string","description":"USAePay source key.","format":"password","writeOnly":true},"pin":{"type":"string","description":"USAePay pin.","format":"password","writeOnly":true}},"required":["sourceKey","pin"]}}}]}},"components/schemas/VantivLitle":{"id":"components/schemas/VantivLitle","kind":"json-schema","title":"VantivLitle","data":{"description":"VantivLitle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"VantivLitle username."},"password":{"type":"string","description":"VantivLitle password.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the VantivLitle merchant."}},"required":["username","password","merchantId"]}}}]}},"components/schemas/VCreditos":{"id":"components/schemas/VCreditos","kind":"json-schema","title":"VCreditos","data":{"description":"VCreditos gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VCreditos credentials object.","properties":{"publicKey":{"type":"string","description":"VCreditos API public key."},"secretKey":{"type":"string","description":"VCreditos API secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]},"settings":{"type":"object","description":"VCreditos settings object.","properties":{"merchantWebsiteLoginLabel":{"type":"string","description":"Label caption for a merchant website login input."},"merchantWebsiteLoginDescription":{"type":"string","description":"Description block for a merchant website login input."}}}}}]}},"components/schemas/VegaWallet":{"id":"components/schemas/VegaWallet","kind":"json-schema","title":"VegaWallet","data":{"description":"VegaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VegaWallet credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the VegaWallet merchant."},"password":{"type":"string","description":"VegaWallet merchant password.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"VegaWallet payout password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/Viva":{"id":"components/schemas/Viva","kind":"json-schema","title":"Viva","data":{"description":"Viva gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Viva credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Viva OAuth 2.0."},"clientSecret":{"type":"string","description":"Secret of the Viva OAuth 2.0.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the Viva basic authentication."},"apiKey":{"type":"string","description":"API key for Viva basic authentication.","format":"password","writeOnly":true},"ipnKey":{"type":"string","description":"Key of the Viva IPN validation."}},"required":["clientId","clientSecret","merchantId","apiKey","ipnKey"]},"settings":{"type":"object","description":"Viva settings object.","properties":{"sourceCode":{"description":"Payment source links to the merchant.","type":"string"},"customerTransaction":{"description":"This optional parameter adds a friendly description to the payment order that you want to display to the customer on the payment form.","type":"string"}}}}}]}},"components/schemas/Wallet88":{"id":"components/schemas/Wallet88","kind":"json-schema","title":"Wallet88","data":{"description":"Wallet88 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Wallet88 credentials object.","properties":{"sid":{"type":"string","description":"ID of the Wallet88 API site."},"rcode":{"type":"string","description":"Wallet88 API rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Wallet88 settings object.","properties":{"paymentCardMethod":{"description":"Method to send for payment card.","type":"string","enum":["creditcard","mastercard","visa"],"default":"creditcard"}}}}}]}},"components/schemas/Walpay":{"id":"components/schemas/Walpay","kind":"json-schema","title":"Walpay","data":{"description":"Walpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantName":{"type":"string","description":"Walpay merchant name."},"merchantPin":{"type":"string","description":"Walpay merchant pin.","format":"password","writeOnly":true}},"required":["merchantName","merchantPin"]}}}]}},"components/schemas/WesternUnion":{"id":"components/schemas/WesternUnion","kind":"json-schema","title":"WesternUnion","data":{"description":"WesternUnion gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"WesternUnion credentials object.","properties":{"clientId":{"type":"string","description":"ID of the WesternUnion client."},"certificateCommonName":{"type":"string","description":"WesternUnion certificate Common Name (CN)."},"certificateSerialNumber":{"type":"string","description":"WesternUnion certificate Serial Number (SN)."}},"required":["clientId","certificateCommonName","certificateSerialNumber"]}}}]}},"components/schemas/Wirecard":{"id":"components/schemas/Wirecard","kind":"json-schema","title":"Wirecard","data":{"description":"Wirecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantUsername":{"type":"string","description":"Wirecard merchant username."},"merchantPassword":{"type":"string","description":"Wirecard merchant password.","format":"password","writeOnly":true},"businessSignature":{"type":"string","description":"Wirecard merchant business case signature.","format":"password","writeOnly":true},"delay":{"type":"integer","description":"Automatic capture delay."},"sftpUsername":{"type":"string","description":"Wirecard SFTP username."},"sftpPrivateKey":{"type":"string","description":"Wirecard SFTP private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantUsername","merchantPassword","businessSignature","delay"]}}}]}},"components/schemas/WorldlineAtosFrankfurt":{"id":"components/schemas/WorldlineAtosFrankfurt","kind":"json-schema","title":"WorldlineAtosFrankfurt","data":{"description":"WorldlineAtosFrankfurt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"credentials":{"type":"object","description":"WorldlineAtosFrankfurt credentials.","properties":{"cardAcceptorIdCode":{"type":"string","description":"Card acceptor ID Code."},"acquiringInstitutionIdentificationCode":{"type":"string","description":"Identification code of the acquiring institution."},"mpgId":{"type":"string","description":"Merchant payment gateway ID from Mastercard."},"clientCertificate":{"type":"string","description":"Client certificate for mutual TLS (mTLS) authentication.","format":"password","writeOnly":true,"x-multiline":true},"privateKey":{"type":"string","description":"Client private key for mutual TLS (mTLS) authentication.","format":"password","x-multiline":true,"writeOnly":true}},"required":["cardAcceptorIdCode","acquiringInstitutionIdentificationCode","mpgId","clientCertificate","privateKey"]},"settings":{"type":"object","description":"WorldlineAtosFrankfurt settings.","properties":{"cardAcceptorName":{"type":"string","description":"Name of the card acceptor."},"cardAcceptorLocation":{"type":"string","description":"Location of the card acceptor."},"cardAcceptorCountryCode":{"type":"string","description":"Country code of the card acceptor."},"terminalIds":{"type":"string","description":"Comma-separated list of terminal IDs."}},"required":["cardAcceptorName","cardAcceptorLocation","cardAcceptorCountryCode"]}}}]}},"components/schemas/Worldpay":{"id":"components/schemas/Worldpay","kind":"json-schema","title":"Worldpay","data":{"description":"Worldpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Worldpay merchant code.","format":"password","writeOnly":true},"merchantPassword":{"type":"string","description":"Worldpay merchant password.","format":"password","writeOnly":true},"payoutMerchantCode":{"type":"string","description":"Optional alternate merchant code for payouts.","format":"password","writeOnly":true},"payoutMerchantPassword":{"type":"string","description":"Optional alternate merchant password for payouts.","format":"password","writeOnly":true},"alternativePaymentsUsername":{"type":"string","description":"OneClick platform username, required for non-card payment methods."},"alternativePaymentsPassword":{"type":"string","description":"OneClick platform password, required for non-card payment methods.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantCode","merchantPassword"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0},"enforceStoredCredentials":{"type":"string","description":"Specifies whether to enforce stored credentials.\n`mit-enabled` means that stored credentials are sent only on merchant initiated transactions. This is the expected usage.\n`always-enabled` means that stored credentials are also used, if available, for customer facing transactions.","enum":["disabled","mit-enabled","always-enabled"],"default":"disabled"},"merchantInitiatedReason":{"type":"string","description":"Value to send with merchant-initiated transactions.","enum":["UNSCHEDULED","RECURRING","INSTALMENT","REAUTH","DELAYED","INCREMENTAL","RESUBMISSION","NOSHOW"],"default":"UNSCHEDULED"}}}}}]}},"components/schemas/Zotapay":{"id":"components/schemas/Zotapay","kind":"json-schema","title":"Zotapay","data":{"description":"Zotapay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"endpointId":{"type":"string","description":"ID of the Zotapay endpoint."},"merchantId":{"type":"string","description":"ID of the Zotapay merchant."},"merchantSecretKey":{"type":"string","description":"Zotapay merchant secret key.","format":"password","writeOnly":true}},"required":["endpointId","merchantId","merchantSecretKey"]}}}]}},"components/schemas/eMerchantPay":{"id":"components/schemas/eMerchantPay","kind":"json-schema","title":"eMerchantPay","data":{"description":"eMerchantPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the eMerchantPay client."},"apiKey":{"type":"string","description":"eMerchantPay API key.","format":"password","writeOnly":true},"username":{"type":"string","description":"eMerchantPay username for the Genesis platform."},"token":{"type":"string","description":"eMerchantPay token for the Genesis platform."},"password":{"type":"string","description":"eMerchantPay password for the Genesis platform.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"eMerchantPay settings object.","properties":{"useGenesisPlatform":{"type":"boolean","description":"Specifies whether to use the Genesis platform on eMerchantPay.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ecoPayz":{"id":"components/schemas/ecoPayz","kind":"json-schema","title":"ecoPayz","data":{"description":"ecoPayz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayz credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayz payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayz merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayz merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayz settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]}},"components/schemas/ecoPayzTurkey":{"id":"components/schemas/ecoPayzTurkey","kind":"json-schema","title":"ecoPayzTurkey","data":{"description":"ecoPayzTurkey gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayzTurkey credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayzTurkey payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayzTurkey merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayzTurkey merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayzTurkey settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]}},"components/schemas/iCanPay":{"id":"components/schemas/iCanPay","kind":"json-schema","title":"iCanPay","data":{"description":"iCanPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"Authenticate ID of the iCanPay account."},"authenticatePw":{"type":"string","description":"iCanPay authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"iCanPay API public key."},"secretKey":{"type":"string","description":"iCanPay API secret key.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/iCheque":{"id":"components/schemas/iCheque","kind":"json-schema","title":"iCheque","data":{"description":"iCheque gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the iCheque client."},"secretWord":{"type":"string","description":"iCheque secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API that is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API that is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/iDebit":{"id":"components/schemas/iDebit","kind":"json-schema","title":"iDebit","data":{"description":"iDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"iDebit credentials object.","properties":{"merchantId":{"type":"string","description":"iDebit merchant account number."},"password":{"type":"string","description":"iDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"ID of the merchant or organization."}}}}}]}},"components/schemas/vegaaH":{"id":"components/schemas/vegaaH","kind":"json-schema","title":"vegaaH","data":{"description":"vegaaH gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the vegaaH terminal."},"password":{"type":"string","description":"vegaaH password.","format":"password","writeOnly":true}},"required":["terminalId","password"]}}}]}},"components/schemas/XPay":{"id":"components/schemas/XPay","kind":"json-schema","title":"XPay","data":{"description":"XPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"XPay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the XPay merchant."},"encryptionKey":{"type":"string","format":"password","writeOnly":true,"description":"XPay encryption key."}},"required":["merchantId","encryptionKey"]}}}]}},"components/schemas/Zimpler":{"id":"components/schemas/Zimpler","kind":"json-schema","title":"Zimpler","data":{"description":"Zimpler configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Zimpler credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Zimpler merchant."},"apiKey":{"type":"string","description":"Zimpler API key.","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]}}}]}},"components/schemas/DigitalWallets":{"id":"components/schemas/DigitalWallets","kind":"json-schema","title":"Digital Wallets","data":{"type":"object","description":"Configure which digital wallets are enabled.","title":"Digital Wallets","properties":{"applePay":{"type":"object","description":"Apple Pay digital wallet configuration. If not using Apple Pay,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Apple Pay is enabled.","default":false},"displayName":{"description":"String of 64, or fewer, UTF-8 characters containing the canonical name for your store,\nwhich is suitable for display.\nDo not localize this name.","type":["string","null"],"example":"Test merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"googlePay":{"type":"object","description":"Google Pay™ digital wallet configuration. If not using Google Pay™,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Google Pay™ is enabled.","default":false},"merchantName":{"description":"Merchant name in Google Pay™.","type":["string","null"],"example":"Test merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay™.\nThis uses the fully qualified domain name.","type":["string","null"],"example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}}}},"components/schemas/GatewayAccountPayoutLimits":{"id":"components/schemas/GatewayAccountPayoutLimits","kind":"json-schema","title":"GatewayAccountPayoutLimits","data":{"description":"Payout method limits for payout request auto-allocation.\nLimits apply to auto-allocation only.\nManual allocations are uncapped.\n\nValidation is per currency.\nWhen multiple limit types contain\nan entry for the same currency, the following requirements apply:\n- `minPerTransaction.amount < maxPerTransaction.amount`.\n- `minPerTransaction.amount <= maxPerPeriod.amount`.","type":"object","minProperties":1,"properties":{"maxPerTransaction":{"description":"Maximum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":3000},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":3000,"currency":"CAD"}]},"minPerTransaction":{"description":"Minimum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":100,"currency":"CAD"}]},"maxPerPeriod":{"description":"Maximum amount limit for a rolling period.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency","period"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":10000},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"period":{"description":"Rolling period for the amount limit.","type":"string","enum":["24-hours"],"x-enumDescriptions":{"24-hours":"Rolling 24-hour period."}}}},"example":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"example":{"maxPerTransaction":[{"amount":3000,"currency":"CAD"}],"minPerTransaction":[{"amount":100,"currency":"CAD"}],"maxPerPeriod":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}}},"components/schemas/ValidationErrorExtensions":{"id":"components/schemas/ValidationErrorExtensions","kind":"json-schema","title":"ValidationErrorExtensions","data":{"type":"object","properties":{"invalidFields":{"description":"Invalid field details.","type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}}}},"components/schemas/InvalidError":{"id":"components/schemas/InvalidError","kind":"json-schema","title":"InvalidError","data":{"description":"Invalid data sent.","allOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/ValidationErrorExtensions"}]}},"components/schemas/GatewayAccountDowntimeSchedule":{"id":"components/schemas/GatewayAccountDowntimeSchedule","kind":"json-schema","title":"GatewayAccountDowntimeSchedule","data":{"type":"object","required":["startTime","endTime"],"properties":{"id":{"type":"string","description":"ID of the gateway account downtime schedule.","readOnly":true,"maxLength":50,"example":"gw_dwn_0YVCXRK9TKCC6AMAPFB9M4RXDP"},"status":{"description":"Status of the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["pending","ongoing","finished"]},"reason":{"description":"Reason for the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["scheduled-maintenance","daily-limit-reached","monthly-limit-reached","gateway-unreachable"]},"startTime":{"description":"Date and time when the gateway account scheduled downtime starts.","type":"string","format":"date-time"},"endTime":{"description":"Date and time when the gateway account scheduled downtime ends.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/GatewayAccountLimit":{"id":"components/schemas/GatewayAccountLimit","kind":"json-schema","title":"GatewayAccountLimit","data":{"description":"Gateway account limit details.","type":"object","required":["cap"],"properties":{"id":{"description":"ID of the gateway account limit.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"status":{"description":"Status of the gateway account limit.","readOnly":true,"type":"string","enum":["monitoring","reached"]},"startTime":{"description":"Date and time when the gateway account limit starts.","type":"string","format":"date-time","readOnly":true},"endTime":{"description":"Date and time when the gateway account limit ends.\nWhen a gateway account limit ends the limit resets.","type":"string","format":"date-time","readOnly":true},"frequency":{"description":"Frequency at which the gateway account limit period resets.","type":"string","readOnly":true,"enum":["daily","monthly"]},"type":{"description":"Type of gateway account limit.","type":"string","readOnly":true,"enum":["money","count"],"x-enumDescriptions":{"money":"Limits the amount of money that a transaction can process on a gateway account. If `money` is chosen, the currency is the report currency.","count":"Limits the total number of transaction can be processed on a gateway account."}},"cap":{"description":"Limits the maximum allowed value.\nIf `type` is set to `money`, the currency is the report currency.\n`cap` only applies to approved transactions of type `authorize` or `sale`.","type":"integer","example":1000},"usage":{"description":"Usage of the gateway account limit during this period.","type":"integer","example":375,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/GatewayAccountTimeline":{"id":"components/schemas/GatewayAccountTimeline","kind":"json-schema","title":"GatewayAccountTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["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","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-carding-circuit-opened"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SettlementPeriod":{"id":"components/schemas/SettlementPeriod","kind":"json-schema","title":"SettlementPeriod","data":{"type":"object","description":"Instruction for calculating the settlement time.\nThe settlement time and settlement period anchor are used\nin conjunction with the transaction processed time,\nto calculate the time in which the amount settles.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","immediately":"#/components/schemas/SchedulingMethodImmediately"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"}]}},"components/schemas/SettlementSettings":{"id":"components/schemas/SettlementSettings","kind":"json-schema","title":"SettlementSettings","data":{"type":"object","description":"Settlement settings.\nUse these settings to set up settlement accounts.","required":["settlementCurrency","settlementPeriod"],"properties":{"settlementCurrency":{"description":"Default settlement currency for all transactions.","$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"description":"Default settlement period for all transactions.","$ref":"#/components/schemas/SettlementPeriod"},"advancedSettings":{"description":"Advanced settlement settings.\nUse these settings to override either default settlement currency,\nperiod, or both for the transactions matched a filter.","type":"array","items":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"Filter that is based on transaction properties and is used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"currency:EUR,GBP"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"$ref":"#/components/schemas/SettlementPeriod"}}}}}}},"components/schemas/Bips":{"id":"components/schemas/Bips","kind":"json-schema","title":"Bips","data":{"type":"number","description":"Basis points.\nExample: 100 bips = 1%, 1 bip = 0.01%.","format":"integer","minimum":0,"maximum":100000,"example":100}},"components/schemas/GatewayAccountFinancialSettings":{"id":"components/schemas/GatewayAccountFinancialSettings","kind":"json-schema","title":"GatewayAccountFinancialSettings","data":{"type":"object","description":"Financial settings.","required":["settlementSettings"],"properties":{"settlementSettings":{"$ref":"#/components/schemas/SettlementSettings"},"riskReserveSettings":{"description":"Risk reserve settings.\nUse these settings to set up funds reserves before settlement.","type":"array","items":{"type":"object","required":["filter","bips","period"],"properties":{"filter":{"description":"Filter that is based on the properties of the transaction and used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"paymentInstrument.method:payment-card","type":"string"},"bips":{"$ref":"#/components/schemas/Bips"},"period":{"description":"Instruction for calculating the reserve release time.","$ref":"#/components/schemas/SchedulingMethodDateInterval"}}}}}}},"components/schemas/DigitalWalletOnboardingApplePayDomains":{"id":"components/schemas/DigitalWalletOnboardingApplePayDomains","kind":"json-schema","title":"DigitalWalletOnboardingApplePayDomains","data":{"type":"object","description":"Apple Pay domains of the organization.","required":["domains"],"properties":{"domains":{"description":"Domains that Apple Pay has registered for the organization, sorted alphabetically.","type":"array","readOnly":true,"items":{"type":"string"}}}}},"components/schemas/DigitalWalletOnboardingApplePay":{"id":"components/schemas/DigitalWalletOnboardingApplePay","kind":"json-schema","title":"DigitalWalletOnboardingApplePay","data":{"type":"object","description":"Register a domain with Apple Pay and associate it with Rebilly.","required":["domain"],"properties":{"domain":{"description":"Domain to register.","type":"string"},"status":{"description":"Status of Apple Pay domain registration.","type":"string","readOnly":true,"enum":["failed","registered","already-registered"]}}}},"components/schemas/Integration":{"id":"components/schemas/Integration","kind":"json-schema","title":"Integration","data":{"type":"object","properties":{"service":{"readOnly":true,"description":"Name of the integration service.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"count":{"readOnly":true,"type":"integer","minimum":0,"description":"Total number of available rule sets."},"configurations":{"readOnly":true,"type":"array","minItems":0,"description":"List of configurations.","items":{"type":"object","properties":{"labels":{"description":"Labels of the configuration.","type":"array","minItems":0,"items":{"type":"string"}},"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"type":"string","description":"Title of the configuration."}}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","oauth2Connect"]}}}}}}},"components/schemas/ValueList":{"id":"components/schemas/ValueList","kind":"json-schema","title":"ValueList","data":{"type":"object","required":["description","values"],"properties":{"id":{"type":"string","description":"ID of the list.","readOnly":true,"maxLength":50,"example":"lst_0YVCXVQH84DEF93D8VBTJQ9TGK"},"version":{"description":"Version of the list.","type":"integer","readOnly":true,"minimum":1},"description":{"description":"Description of the list.","type":"string"},"values":{"description":"Values in the list.","type":"array","items":{"type":"string"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Organization":{"id":"components/schemas/Organization","kind":"json-schema","title":"Organization","data":{"type":"object","required":["name","country"],"properties":{"id":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","readOnly":true,"maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8","x-sortable":true},"name":{"description":"Name of the organization.","type":"string","maxLength":60,"x-sortable":true},"website":{"description":"Website URL of the organization.\nThis value must begin with `https://` or `http://`.","type":"string","maxLength":65,"writeOnly":true,"format":"uri","example":"https://example.com"},"address":{"description":"Street address of the organization.","type":["string","null"],"maxLength":60,"x-sortable":true},"address2":{"description":"Second line of the street address.","type":["string","null"],"maxLength":60,"x-sortable":true},"city":{"description":"City where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"region":{"description":"Region or state where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"country":{"description":"Country where the organization is located, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","x-sortable":true},"postalCode":{"description":"Postal code of the organization.","type":"string","maxLength":10,"x-sortable":true},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"taxDescriptor":{"description":"Tax label of the organization.\nThis information is displayed on the invoice.","type":["string","null"],"maxLength":255},"invoiceTimeZone":{"description":"Specifies the time zone to display on an invoice.\nUTC is used by default.","type":"string","maxLength":50,"example":"America/New_York"},"reportCurrency":{"description":"Currency to use for conversion in reports.\nThis value cannot be changed.","$ref":"#/components/schemas/CurrencyCode"},"questionnaire":{"type":["object","null"],"description":"Organization questionnaire.","properties":{"role":{"type":["string","null"],"description":"Role of the owner."},"monthlyTransactions":{"type":["string","null"],"description":"Amount of monthly processed transactions."},"products":{"type":["array","null"],"description":"List of products the organization is interested in.","items":{"type":"string"}},"integrationType":{"type":["string","null"],"description":"Type of integration the organization would like."},"launchTiming":{"type":["string","null"],"description":"When the organization would like to go live."}}},"settings":{"type":"object","description":"Organization settings.","properties":{"defaultTaxCalculator":{"type":"object","description":"Tax calculation settings.","required":["type"],"properties":{"type":{"type":"string","description":"Type of tax calculator.","enum":["taxjar","avalara","flat"]},"rate":{"type":["number","null"],"format":"float","description":"Rate for flat tax calculation."}}},"billing":{"description":"Global organization settings for billing.","type":["object","null"],"properties":{"pendingOrderTtl":{"description":"Length of time, in ISO-8601 durations format, before which a pending order is automatically abandoned.","type":["string","null"],"example":"P7D","default":null},"orderDelinquencyPeriod":{"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n> **Important:**\nIf the `delinquencyPeriod` value is `null`,\nthe order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.","type":["string","null"],"example":"P7D","default":null},"subtractRecurringDiscountsFromMrr":{"description":"Specifies whether recurring discounts with a specified end date or usage limit are subtracted from order MRR in metrics calculations.\nIf this value is `true`, recurring discounts are excluded from order MRR.\n\n> **Note:** Recurring discounts with no specified end date and usage limit are automatically subtracted from order MRR.","type":"boolean","default":false,"example":true},"subtractOneTimeDiscountsFromMrr":{"description":"Specifies whether one-time discounts are subtracted from order MRR in metrics calculation.\nIf this value is `true`, one-time discounts are excluded from order MRR.","type":"boolean","default":false,"example":true}}},"taxLocations":{"type":"array","description":"Additional organization addresses where a merchant may want to collect taxes using the `taxjar` tax calculator.\n\nAvailable only for US-based organizations.","items":{"type":"object","required":["country"],"properties":{"address":{"description":"Street address of the tax location.","type":["string","null"],"maxLength":60},"city":{"description":"City of the tax location.","type":["string","null"],"maxLength":45},"region":{"description":"Region or state of the tax location.","type":["string","null"],"maxLength":45},"country":{"description":"Country of the tax location, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$"},"postalCode":{"description":"Postal code of the tax location.","type":["string","null"],"maxLength":10}}}},"notifications":{"description":"Organization access-related notification settings.","type":"object","properties":{"notifyOnUserAccessChanges":{"description":"Specifies whether to send notifications when users are created or updated.","type":"boolean","default":false},"notifyOnApiKeyAccessChanges":{"description":"Specifies whether to send notifications when API keys are created or updated.","type":"boolean","default":false},"notificationEmailAddresses":{"description":"List of email addresses to send notifications to.","type":"array","items":{"type":"string","format":"email"},"default":[]}}},"security":{"type":"object","readOnly":true,"description":"Organization sign-in security settings.\nThis value is read-only on the [Create an organization](https://www.rebilly.com/catalog/all/organizations/postorganization) and [Update an organization](https://www.rebilly.com/catalog/all/organizations/patchorganization) operations.\nTo change these settings, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.\nTo retrieve how many users have multi-factor authentication (MFA) set up, use the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.","properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly app.","default":false}}},"annualComplianceScreening":{"description":"Settings for annual compliance screening of all active customers.\nWhen enabled, a compliance screening report is generated for every active customer\non the configured month and day each year.","type":"object","properties":{"enabled":{"description":"Specifies whether annual compliance screening is enabled for the organization.","type":"boolean","default":false},"monthDay":{"description":"Month and day when annual compliance screening runs, in `MM-DD` format.\nRequired when `enabled` is `true`.\nValid calendar date only. Leap day `02-29` is not allowed.","type":["string","null"],"pattern":"^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"02-15","default":null}}},"payoutRequestAllocationOrder":{"description":"Default order for auto-allocation of payout requests.\nWhen set, this value is used when a payout request batch does not specify its own allocation order.\nThe order defines which payment instruments are attempted first during auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["payment-card","alternative-payment-methods","selected-payment-instrument"]}}},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the organization.","items":{"$ref":"#/components/schemas/TaxNumber"}},"features":{"type":"array","description":"Organization features.","readOnly":true,"items":{"type":"object","properties":{"name":{"description":"Name of the feature.","type":"string"},"description":{"description":"Description of the feature.","type":"string"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/CountriesUnrestrictedMetadata":{"id":"components/schemas/CountriesUnrestrictedMetadata","kind":"json-schema","title":"Unrestricted","data":{"type":"object","title":"Unrestricted","required":["mode"],"properties":{"mode":{"type":"string","enum":["unknown","all"]},"values":{"description":"List of supported countries.","type":"array","uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CountriesSubsetMetadata":{"id":"components/schemas/CountriesSubsetMetadata","kind":"json-schema","title":"Subset","data":{"type":"object","title":"Subset","required":["mode","values"],"properties":{"mode":{"type":"string","enum":["subset"]},"values":{"description":"List of supported countries.","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CountriesMetadata":{"id":"components/schemas/CountriesMetadata","kind":"json-schema","title":"CountriesMetadata","data":{"type":"object","description":"Countries metadata.","discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CountriesUnrestrictedMetadata","all":"#/components/schemas/CountriesUnrestrictedMetadata","subset":"#/components/schemas/CountriesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CountriesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CountriesSubsetMetadata"}]}},"components/schemas/CurrenciesUnrestrictedMetadata":{"id":"components/schemas/CurrenciesUnrestrictedMetadata","kind":"json-schema","title":"Unrestricted","data":{"title":"Unrestricted","required":["mode"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["unknown","all"]},"values":{"description":"List of supported currencies.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}}},"components/schemas/CurrenciesSubsetMetadata":{"id":"components/schemas/CurrenciesSubsetMetadata","kind":"json-schema","title":"Subset","data":{"title":"Subset","required":["mode","values"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["subset"]},"values":{"description":"List of supported currencies.","type":"array","minItems":1,"uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}}},"components/schemas/PaymentMethodMetadata":{"id":"components/schemas/PaymentMethodMetadata","kind":"json-schema","title":"PaymentMethodMetadata","data":{"type":"object","additionalProperties":false,"required":["apiName","name","summary","description","countries"],"properties":{"apiName":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"name":{"description":"Name of the payment method.","type":"string","pattern":"^[\\w\\. -]+$"},"landscapeLogo":{"description":"URL for the payment method logo optimized for landscape orientation.","type":["string","null"],"format":"uri"},"portraitLogo":{"description":"URL for the payment method logo optimized for portrait orientation.","type":["string","null"],"format":"uri"},"summary":{"description":"Short description of the payment method.\nThis field supports Markdown.","type":"string"},"description":{"description":"Detailed information about the payment method.\nThis field supports Markdown.","type":"string"},"countries":{"$ref":"#/components/schemas/CountriesMetadata"},"storefrontEnabled":{"type":"boolean","default":false},"isSingleUse":{"description":"Specifies that the payment method requires the customer to review\nand confirm payment options and terms specific to the purchase every time.\nThe merchant cannot assist the customer in adding this payment method during the checkout process.\nThe customer must complete the process independently.","type":"boolean","default":false},"supportedCurrencies":{"type":"object","description":"List of currencies that are supported by the payment method.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"relevantBusinessModels":{"description":"Business models that are relevant to the payment method.","type":"array","items":{"type":"string","enum":["B2B","B2C"]}},"type":{"description":"Type of payment method.\nFor example, wallet, bank transfer, credit card.","type":["string","null"]},"recurringPayments":{"description":"Specifies whether the payment method supports recurring payments.","type":"boolean","default":false},"refunds":{"description":"Specifies whether the payment method supports refunds.","type":"boolean","default":false},"disputes":{"description":"Specifies whether the payment method supports disputes.","type":"boolean","default":false},"ux":{"description":"List of steps that describes the user experience during the payment flow.","type":"array","items":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentGatewayMetadata":{"id":"components/schemas/PaymentGatewayMetadata","kind":"json-schema","title":"PaymentGatewayMetadata","data":{"type":"object","additionalProperties":false,"required":["apiName","logo","paymentMethods","merchantCountries","currencies"],"properties":{"apiName":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"otherNames":{"description":"List of former names associated with the payment gateway.\nGateways may change their names or may also be known by other names.\nTracking this list may help customer support and developers.","type":"array","items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"description":"Alternative or former name of the payment gateway.","type":"string"},"description":{"description":"Short description about this name.","type":"string"},"logo":{"description":"URL for the logo used with this name.","type":"string","format":"uri"}}}},"logo":{"description":"URL for the logo of the gateway.","type":"string","format":"uri"},"summary":{"description":"Short description of the payment gateway.\nThis field supports Markdown.","type":["string","null"]},"homepage":{"description":"URL of the payment gateway home page.","type":["string","null"],"format":"uri"},"externalDocs":{"description":"List of links to the documentation of the payment gateway.\nFor example, online API guides provided by gateways or a link to the documents in Google Drive.","type":"array","items":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"URL of the target documentation.\nThis value must be in URL format.","type":"string","format":"uri"},"description":{"description":"Short description of the target documentation.","type":"string"}}}},"publishedPricing":{"description":"Pricing description for the payment gateway, if pricing is published.","type":["string","null"]},"setupInstructions":{"description":"Special gateway account set up instructions for merchants.\nFor example: After adding this gateway account,\nset the IPN to `//example.com/ipns/{gateway-name}/{organization-id}` by contacting your account rep.","type":["string","null"]},"paymentMethods":{"description":"Array of supported payment methods.\nFor example, `payment-card` and `bitcoin`.","type":"array","items":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"minLength":1},"cardBrands":{"description":"Array of supported card-brands.\nIf the payment gateway supports payment cards.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"merchantCountries":{"$ref":"#/components/schemas/CountriesMetadata"},"currencies":{"type":"object","description":"Currencies metadata.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"operations":{"description":"Array of operations that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["verify","auth","capture","sale","refund","query","credit","3DS1","3DS2","checkCredentials"]}},"supported3dsServers":{"description":"Array of supported 3DS-servers.","type":"array","items":{"type":"string"}},"supportedPaymentInstrumentSetupInstructions":{"description":"Array of set up instructions that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["do-nothing","authorize","authorize-and-void","sca"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount or currency of the request.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","authorize-and-void":"Creates an `authorize` transaction in the amount and currency of the request,\nfollowed by a `void`, if the `authorize` is approved.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}}},"reconciliationSupport":{"description":"Specifies whether transactions can be reconciled.","type":"boolean","default":false},"disputeSupport":{"description":"Specifies whether dispute data entry can be automated with an API or SFTP access.\nFor example, chargeback, retrieval, or TC-40 disputes.","type":"boolean","default":false},"offsite":{"description":"Specifies whether offsite interaction is required.\nFor example, 3DS, PayPal login, or completing something in a store.","type":"boolean","default":false},"ipn":{"type":["object","null"],"description":"Describes the Instant Payment Notification (IPN) that a payment gateway supports.\nIf this value is null, IPN is not supported.","required":["type"],"properties":{"type":{"description":"Type of supported Instant Payment Notification (IPN).\nIf this value is null, IPN is not supported.","type":"string","enum":["static","dynamic"]},"verificationMethod":{"description":"Method used to verify that the data in the IPN call can be trusted.","type":"string","enum":["query","signature"],"default":"query"}}},"recommendedWaitingApprovalTtl":{"description":"Recommended Time To Live (TTL) before abandoning the transaction.","type":"integer","default":3600,"minimum":299,"maximum":16777216},"credentials":{"type":"object","description":"List of credentials that are required to use the payment gateway.","additionalProperties":false,"properties":{"required":{"description":"List of required credentials.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PayoutRequestBlockReason":{"id":"components/schemas/PayoutRequestBlockReason","kind":"json-schema","title":"PayoutRequestBlockReason","data":{"type":"string","description":"Reason for blocking the payout request.","enum":["fraud-suspected","kyc-verification-required","aml-review","account-verification","duplicate-request","insufficient-documentation","risk-review","other"]}},"components/schemas/PayoutRequestSplitReason":{"id":"components/schemas/PayoutRequestSplitReason","kind":"json-schema","title":"PayoutRequestSplitReason","data":{"type":"string","description":"Reason for splitting the payout request.","enum":["payment-instrument-limit","processor-limit","risk-review","compliance-review","partial-processing","operational-reconciliation","other"]}},"components/schemas/PayoutRequestAllocation":{"id":"components/schemas/PayoutRequestAllocation","kind":"json-schema","title":"PayoutRequestAllocation","data":{"type":"object","required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount","currency"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the resource.","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request associated with this allocation.","readOnly":true,"type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchId":{"description":"ID of the payout request batch that contains the payout request for this allocation.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument allocated to the payout request.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"paymentMethod":{"description":"Payment method of the allocation.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}],"readOnly":true},"gatewayAccountId":{"type":"string","description":"ID of the gateway account to use for processing this allocation.","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"type":"string","description":"Name of the gateway account to use for processing this allocation.","maxLength":50,"example":"TestProcessor"},"gatewayPayoutInstruction":{"description":"Payout configuration of the gateway account that processes this allocation.","readOnly":true,"type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway."},"example":"covered-payout"},"amount":{"description":"Amount allocated to this payment instrument.","type":"number","format":"double","x-type":"Money"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts,\nfor the customer, gateway account, and payment instrument, in the allocation currency.\nThe calculation includes only transactions created within the last 180 days.\nThe value is `0` when there are no transactions in the last 180 days,\nthe gateway account is inactive,\nor its `readyToPayoutInstruction` is `none`.","readOnly":true,"type":"number","format":"double","x-type":"Money","example":2},"currency":{"description":"Currency of the payout request allocation.","$ref":"#/components/schemas/CurrencyCode"},"status":{"description":"Status of this payout request allocation.","type":"string","enum":["pending","queued","processing","waiting-completion","completed","failed","canceled","declined"],"x-enumDescriptions":{"pending":"Allocation was created and is waiting to be processed.","queued":"Allocation is queued for processing.","processing":"Allocation is being processed and a transaction is being created.","waiting-completion":"Allocation transaction is processing asynchronously and has not yet reached a terminal state.","completed":"Allocation was successfully processed and the transaction was approved.","failed":"Allocation was not processed because of an error.","canceled":"Allocation was canceled before processing.","declined":"Allocation was declined by the gateway."}},"transactionId":{"description":"ID of the transaction that is created when processing this allocation, if applicable.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"txn_0YVB8KPKNXCBR9EDX7JHSED75N"},"transactionResult":{"description":"Result of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["abandoned","approved","canceled","declined","unknown",null]},"transactionStatus":{"description":"Status of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund",null]},"createdTime":{"description":"Date and time when the allocation for the payout request was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","gatewayAccount","payoutRequest","paymentInstrument"]}}}}}}},"components/schemas/PayoutRequestCancellation":{"id":"components/schemas/PayoutRequestCancellation","kind":"json-schema","title":"PayoutRequestCancellation","data":{"description":"Reason the payout request is canceled.","type":["object","null"],"readOnly":true,"properties":{"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","system"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255}}}},"components/schemas/PayoutRequest":{"id":"components/schemas/PayoutRequest","kind":"json-schema","title":"PayoutRequest","data":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"description":"ID of the customer who is requesting a payout.","$ref":"#/components/schemas/CustomerId"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the requested payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"splitFromPayoutRequestId":{"description":"ID of the payout request from which this request is split,\nor `null` if this request is not created by a split operation.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that this request is merged into,\nor `null` if it is not merged into another request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"currency":{"description":"Currency of the payout.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the payout.","type":"number","format":"double","x-type":"Money"},"availableAmount":{"description":"Available payout request amount that has not been allocated.","readOnly":true,"type":"number","format":"double","x-type":"Money"},"description":{"description":"Description of payout request.","type":["string","null"]},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["pending","ready","approved","in-progress","fulfilled","canceled","split","merged"],"x-enumDescriptions":{"pending":"Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization.\nWhen automatic readiness is enabled, the payout request transitions to the `ready` state after the pending period elapses and the configured [transition time](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinesstime) is reached.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used.","ready":"Request was created by the customer and is ready for review.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests.","approved":"Request was reviewed, approved, and is ready for processing.","in-progress":"Request has allocations and is being processed.","fulfilled":"Request is fully paid out.","canceled":"Request is canceled by merchant or customer.","split":"Request was split into two or more payout requests.","merged":"Request was merged into another payout request."}},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\n\nWhen blocked, the payout request cannot transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\nAllocation creation, allocation processing, and cancellation of pending allocations are also prevented.\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","readOnly":false,"example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"splitReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestSplitReason"},{"type":"null"}]},"batchId":{"description":"ID of the payout request batch that contains this request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchName":{"description":"Short name of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no name.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch name","example":"Weekly CAD payouts"},"batchDescription":{"description":"Description of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no description.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch description","example":"Batch processed on 2024-01-15"},"selectPaymentInstrumentUrl":{"readOnly":true,"type":"string","format":"uri","description":"URL for the customer to select a preferred payment instrument."},"allocations":{"type":"array","description":"List of payout request allocations for the payout request.","readOnly":true,"items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}},"selectedPaymentInstrumentRedirectUrl":{"description":"URL where the customer is redirected when a payment instrument is selected. The default value is the website URL.\nUse `{{id}}` as a placeholder for the payout request ID.","type":"string","format":"uri","maxLength":2083,"example":"https://example.com/payout-request-success"},"cancellationReason":{"$ref":"#/components/schemas/PayoutRequestCancellation"},"createdTime":{"description":"Date and time when the payout request is created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the payout request is updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","splitFrom","mergedInto","paymentInstrument"]}}}}}}},"components/schemas/PayoutRequestTimelineMessage":{"id":"components/schemas/PayoutRequestTimelineMessage","kind":"json-schema","title":"PayoutRequestTimelineMessage","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the message.","readOnly":true,"maxLength":50,"example":"tlm_0YVDMDE2BMC6KBB5MX76RF6T80"},"type":{"type":"string","description":"Type of timeline event.","readOnly":true,"enum":["timeline-comment-created","payout-request-created","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-allocated","payout-request-processing-started","payout-request-fulfilled","payout-request-canceled","payout-request-reversed","payout-request-blocked","payout-request-unblocked","payout-request-added-to-batch","payout-request-removed-from-batch"]},"occurredTime":{"description":"Date and time when the timeline event occurred.","$ref":"#/components/schemas/ServerTimestamp"},"triggeredBy":{"type":"string","description":"Who or what triggered this event.","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"type":"string","description":"Human-readable message describing the timeline event."},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"}},"required":["id","type","occurredTime","triggeredBy","message","extraData"]}},"components/schemas/BadRequest":{"id":"components/schemas/BadRequest","kind":"json-schema","title":"BadRequest","data":{"allOf":[{"title":"Bad request"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":400},"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/PayoutRequestBatch":{"id":"components/schemas/PayoutRequestBatch","kind":"json-schema","title":"PayoutRequestBatch","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"ID of the batch.","maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"userId":{"type":"string","readOnly":true,"description":"ID of the user who created the batch.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"user":{"description":"Creator of the batch.","readOnly":true,"type":"object","required":["id","name"],"properties":{"id":{"description":"User ID of the creator.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"name":{"description":"First and last name of the creator.","type":"string","example":"John Doe"}}},"totalCount":{"description":"Total number of payout requests in the batch.","type":"integer","readOnly":true,"minimum":0,"example":10},"customerCount":{"description":"Number of unique customers in the batch.","type":"integer","readOnly":true,"minimum":0,"example":3},"totalAmountByCurrency":{"description":"Total payout amount grouped by currency in the batch.","type":"array","readOnly":true,"items":{"type":"object","additionalProperties":false,"required":["currency","amount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number"}}}},"name":{"description":"Name that is used to identify the batch.\nThis value is `null` if the batch has no name.","type":["string","null"],"maxLength":255,"example":"Weekly CAD payouts"},"description":{"description":"Optional description of the batch.","type":["string","null"],"maxLength":255,"example":"Batch processed on 2024-01-15"},"allocationOrder":{"description":"Order for auto-allocation of payout requests in this batch.\nWhen set, this field overrides the organization-level allocation order during batch auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["paypal","Interac-eTransfer","payment-card","alternative-payment-methods","selected-payment-instrument"]},"createdTime":{"description":"Date and time when the batch was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the batch was last updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","payoutRequests"]}}}}}}},"components/schemas/OrderPreview":{"id":"components/schemas/OrderPreview","kind":"json-schema","title":"OrderPreview","data":{"type":"object","required":["websiteId","items"],"properties":{"websiteId":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"items":{"description":"Items details.","type":"array","writeOnly":true,"minItems":1,"items":{"type":"object","required":["quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.\nEither this field or the `plan` object must be provided.\nUse `plan.id` instead.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X","deprecated":true},"plan":{"description":"Details of the plan.\nEither this object or the deprecated `planId` field must be provided.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000}},"oneOf":[{"required":["plan"],"properties":{"planId":{"not":{}}}},{"required":["planId"],"properties":{"plan":{"not":{}}}},{"required":["plan","planId"]}]}},"billingAddress":{"description":"Billing address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"couponIds":{"type":"array","writeOnly":true,"description":"List of coupons that are applied to the order.","items":{"type":"string"}},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"lineItems":{"type":"array","description":"List of purchase items.","readOnly":true,"items":{"type":"object","properties":{"type":{"description":"Type of transaction.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the purchase item.","type":"string"},"unitPrice":{"description":"Unit price of the purchase item.","type":"number","format":"double","example":49.95},"quantity":{"description":"Total quantity of the purchase item.","type":"number","format":"integer"},"price":{"description":"Total cost of the purchase item.","type":"number","format":"double"},"planId":{"type":"string","description":"ID of the related plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}},"shippingRates":{"type":"array","description":"Available shipping rates.","readOnly":true,"items":{"$ref":"#/components/schemas/ShippingOption"}},"taxes":{"type":"array","description":"Taxes applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"amount":{"description":"Amount of tax that is due.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."}}}},"discounts":{"type":"array","description":"Discounts applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"couponId":{"type":"string","description":"ID of a coupon that is associated with the purchase.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"amount":{"description":"Total amount of discount from the coupon.","type":"number","format":"double"},"description":{"description":"Description of the discount.","type":"string"}}}},"subtotalAmount":{"description":"Subtotal amount of the purchase.","type":"number","format":"double","readOnly":true},"taxAmount":{"description":"Tax amount of the purchase.","type":"number","format":"double","readOnly":true},"shippingAmount":{"description":"Shipping amount of the purchase.","type":"number","format":"double","readOnly":true},"discountsAmount":{"description":"Total discount amount of the purchase.","type":"number","format":"double","readOnly":true},"total":{"description":"Total amount of the purchase.","type":"number","format":"double","readOnly":true},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.\nThis displays the amount the customer pays initially.","readOnly":true,"properties":{"amount":{"description":"Total amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the order does not have recurring items, the value of this field is `null`.","readOnly":true,"properties":{"amount":{"description":"Total amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"}}},"shipping":{"writeOnly":true,"$ref":"#/components/schemas/Shipping"}}}},"components/schemas/GlobalEventType":{"id":"components/schemas/GlobalEventType","kind":"json-schema","title":"GlobalEventType","data":{"type":"string","description":"Type of event.","enum":["aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","autodeposit-lookup-performed","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-tax-number-validated","customer-updated","data-export-completed","data-export-failed","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-archived","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled","lead-source-changed","offsite-payment-completed","order-abandon-reminder","order-abandoned","order-completed","order-delinquency-reached","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","payout-request-canceled","payout-request-changed","payout-request-created","payout-request-fulfilled","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-timeout-resolved","transaction-voided","trial-usage-limit-reached","waiting-gateway-transaction-completed"]}},"components/schemas/GlobalWebhook":{"id":"components/schemas/GlobalWebhook","kind":"json-schema","title":"GlobalWebhook","data":{"type":"object","required":["method","url","credentialHash"],"properties":{"id":{"type":"string","description":"ID of the webhook.","readOnly":true,"maxLength":50,"example":"hook_0YVBG8S0K0DG59J6S3RMN9K452"},"eventsFilter":{"description":"Event types that trigger the webhook.\nIf empty, all event types trigger the webhook.","type":"array","default":[],"items":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]}},"status":{"x-basic":true,"type":"string","default":"active","enum":["active","inactive"]},"method":{"type":"string","x-basic":true,"enum":["GET","POST","PUT","PATCH","DELETE"]},"url":{"description":"URL that receives requests when a specified event occurs.","type":"string","format":"uri"},"headers":{"description":"Headers to include in the webhook request.","type":"array","items":{"type":"object","description":"Header to include in the webhook request.","properties":{"name":{"description":"Name of the header.","type":"string","pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","example":"Content-Type"},"status":{"description":"Status of the header.","type":"string","default":"active","enum":["active","inactive"]},"value":{"description":"Value of the header.\nTemplate placeholders are permitted.\nIf the value renders as an empty string, the header is not sent.","type":"string","example":"value1"}},"required":["name","value"]}},"credentialHash":{"type":"string","description":"Credential hash for authenticating requests to the URL."},"body":{"description":"Webhook request body.\nIf this value is `null`,\nthe default payload for the specified event is used.\nTemplate placeholders are permitted.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.\n\nFor more information,\nsee [Placeholders](https://www.rebilly.com/docs/automations/email-notifications/#placeholders).","type":["string","null"]},"filter":{"description":"Filter that determines whether to send the webhook.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"x-label":"Last update time","$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Profile":{"id":"components/schemas/Profile","kind":"json-schema","title":"Profile","data":{"type":"object","properties":{"id":{"description":"ID of the user.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"email":{"description":"Email address of the user.","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":"User's business phone number.","readOnly":true,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","readOnly":true,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","type":"string","readOnly":true},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"status":{"description":"Status of the user account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","readOnly":true,"type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"hasPermissionsEmulation":{"type":"boolean","description":"Specifies if the current user session has permissions emulation enabled.","readOnly":true},"mfaRequiredByOrganization":{"type":"boolean","description":"Specifies if the user is in an organization in the current environment that requires multi-factor authentication (MFA).\nDeactivated organizations are not included.\nThe requirement is enforced on each request to an organization that requires MFA, regardless of this value.\nThis value is `false` for API key and service account sessions.","readOnly":true,"default":false},"displayName":{"type":"string","description":"User's full display name.","readOnly":true},"hash":{"type":"string","description":"Unique hash value that represents the user.","readOnly":true},"requiresCardOnFile":{"type":"boolean","description":"Specifies whether the current organization must have a payment card on file before it can transact in the live environment.","readOnly":true,"default":false},"hasCardOnFile":{"type":"boolean","description":"Specifies whether the current organization has an active payment card on file.","readOnly":true,"default":false},"billingManagementToken":{"type":["string","null"],"format":"password","description":"Session token used to manage the payment method on file for a Rebilly subscription.\nThis value is returned only to organization owners.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true},"pastDueInvoice":{"type":["object","null"],"description":"Details of the oldest past-due invoice for the Rebilly subscription associated with the current organization.\nThis value is returned to all organization members to support consistent enforcement of the billing gate.\nThe `token` is returned only to organization owners.","readOnly":true,"required":["invoiceId","websiteId","token"],"properties":{"invoiceId":{"type":"string","description":"ID of the past-due invoice.","maxLength":50,"readOnly":true},"websiteId":{"type":"string","description":"ID of the website for the invoice.","maxLength":50,"readOnly":true},"token":{"type":["string","null"],"format":"password","description":"JWT that is used to authorize payment of the invoice through the Rebilly Instruments JavaScript library.\nThis value is `null` for non-owners, who cannot pay the invoice.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Role":{"id":"components/schemas/Role","kind":"json-schema","title":"Role","data":{"type":"object","required":["name","acl"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the role.","maxLength":50,"example":"role_0YVDN2J11HDMX9N8X7DCB4CMX2"},"name":{"type":"string","description":"Name of the user role.","minLength":1,"maxLength":50},"description":{"type":["string","null"],"description":"Description of the role.","maxLength":65535},"acl":{"$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"seniorIds":{"type":"array","description":"List of role IDs where this role is used.\nFor example, a role called `user` may be used in the `admin` and `manager` roles.","readOnly":true,"items":{"type":"string"}},"juniorIds":{"type":"array","description":"List of role IDs that are included in this role.\nFor example, a role called `admin` may include the `user` and `manager` roles.","items":{"type":"string"}},"usersCount":{"type":"integer","readOnly":true,"description":"Number of users assigned to this role."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","seniorRoles","juniorRoles"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"juniors":{"type":"array"}}}}}},"components/schemas/SecuritySettings":{"id":"components/schemas/SecuritySettings","kind":"json-schema","title":"SecuritySettings","data":{"type":"object","required":["requireMfa"],"properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly UI.","default":false},"mfaAdoption":{"type":["object","null"],"readOnly":true,"description":"Number of users who have set up multi-factor authentication (MFA), excluding Rebilly staff.\nPending invitations are counted as users without MFA.\nThis value is `null` when this information is temporarily unavailable.","required":["enrolled","total","pending"],"properties":{"enrolled":{"type":"integer","description":"Number of active users who have multi-factor authentication (MFA) set up."},"total":{"type":"integer","description":"Number of active users and pending invitations."},"pending":{"type":"integer","description":"Number of pending invitations included in `total`.\nInvited users must set up multi-factor authentication (MFA) after they accept the invitation."}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SendThroughAttribution":{"id":"components/schemas/SendThroughAttribution","kind":"json-schema","title":"SendThroughAttribution","data":{"type":"object","description":"Email notification sent through attribution.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"actionId":{"type":"string","format":"uuid","description":"Action ID of the email notification."},"versionId":{"type":"string","format":"uuid","description":"Version ID of the email notification."},"sent":{"type":"integer","minimum":0,"description":"Number of email notifications that have been sent."},"goal":{"type":"integer","minimum":0,"description":"Target number of email notifications to send."}}}},"components/schemas/Status":{"id":"components/schemas/Status","kind":"json-schema","title":"Status","data":{"type":"object","properties":{"status":{"description":"Status of the Rebilly API.\nIf the API is operational, this value is `ok`.","type":"string","readOnly":true,"enum":["ok"]},"time":{"description":"Current date and time.","$ref":"#/components/schemas/ServerTimestamp"},"release":{"description":"Current release version of the API.","type":"string"}}}},"components/schemas/ApiTracking":{"id":"components/schemas/ApiTracking","kind":"json-schema","title":"ApiTracking","data":{"type":"object","description":"API request tracking.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","description":"Response code of the HTTP request."},"url":{"type":"string","x-basic":true,"description":"URL of the HTTP request."},"route":{"type":"string","description":"API request route.","example":"/customers/{param}"},"method":{"type":"string","description":"HTTP method of the API request.","enum":["HEAD","GET","POST","PUT","DELETE","PATCH"],"x-basic":true},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"user":{"type":"object","description":"User who made the request.","readOnly":true,"properties":{"userId":{"type":"string","description":"ID of the user.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"apiKeyId":{"type":"string","description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"email":{"description":"Email address of the user.","type":"string","format":"email"},"firstName":{"description":"First name of the user.","type":"string"},"lastName":{"description":"Last name of the user.","type":"string"},"ipAddress":{"type":"string","deprecated":true,"description":"Client IP address.","format":"ipv4"},"userAgent":{"description":"Software that is acting on behalf of the user.","type":"string"},"fingerprint":{"description":"User's device fingerprint hash.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","type":"string"},"isSupport":{"description":"Specifies if the API request is completed by a Rebilly Support Team member.","type":"boolean"}}},"authenticationMethod":{"description":"Authentication method of the API request.\nThis value is `null` if the request is unauthenticated.","type":["string","null"],"readOnly":true,"enum":["secret-api-key","signature","jwt-user","jwt-customer","publishable-key","jwt-guest","jwt-application","jwt-service-account",null],"x-enumDescriptions":{"secret-api-key":"Secret API key.","signature":"Request signed with a secret API key in the `REB-AUTH` header.","jwt-user":"JSON Web Token (JWT) of a user.","jwt-customer":"JWT of a customer.","publishable-key":"Publishable API key.","jwt-guest":"JWT of a guest session.","jwt-application":"JWT of an application instance.","jwt-service-account":"JWT of a service account.","null":"Unauthenticated request."}},"ipAddress":{"type":"string","x-basic":true,"description":"Client IP address."},"relatedResourceIds":{"type":"array","description":"IDs of related resources.","readOnly":true,"items":{"type":"string"},"example":["in_0YVF9605RKC62BP14NE2R7V2XT","cus_0YV7DDSDD1C8DA64KHH2W33CPF"]},"duration":{"type":"integer","x-sortable":true,"x-basic":true,"description":"Request duration in milliseconds."},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"organization":{"type":"object"}}}}}},"components/schemas/TaxTracking":{"id":"components/schemas/TaxTracking","kind":"json-schema","title":"TaxTracking","data":{"type":"object","description":"Tax service tracking logs.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","x-sortable":true,"description":"Response code of the HTTP request."},"duration":{"type":"integer","x-sortable":true,"description":"Duration of the HTTP request in milliseconds."},"initiatedTime":{"description":"Date and time the HTTP request is initiated.","x-sortable":true,"$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","x-sortable":true,"description":"URL of the tax service endpoint."},"method":{"type":"string","x-sortable":true,"description":"Method of the HTTP request.","example":"POST"},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","x-sortable":true,"description":"ID of the resource associated with the tax service request."},"organizationId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"taxService":{"type":"string","x-sortable":true,"description":"Name of the tax service used for the request.","enum":["taxjar","avalara"]},"taxServiceCredentialSource":{"type":"string","x-sortable":true,"description":"Source of the credentials that are used to send or retrieve data.","enum":["default","merchant"]},"customerId":{"type":"string","description":"ID of the customer associated with the tax service request."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CreatedTimeNoSort":{"id":"components/schemas/CreatedTimeNoSort","kind":"json-schema","title":"CreatedTimeNoSort","data":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Creation Time"}},"components/schemas/UpdatedTimeNoSort":{"id":"components/schemas/UpdatedTimeNoSort","kind":"json-schema","title":"UpdatedTimeNoSort","data":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"}},"components/schemas/WebhookTracking":{"id":"components/schemas/WebhookTracking","kind":"json-schema","title":"WebhookTracking","data":{"type":"object","description":"Webhook tracking log.\nThis log contains information about a webhook request and its response.","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the webhook tracking log.","maxLength":50,"example":"hook_log_01HXC7HJ1V2FNJD1R396WCG2HB"},"status":{"type":"integer","description":"Response code of the webhook request."},"duration":{"type":"integer","description":"Duration of the webhook request in milliseconds."},"initiatedTime":{"description":"Date and time when the webhook is initiated.","$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","description":"URL that receives the webhook."},"method":{"type":"string","description":"HTTP method for sending the webhook.","example":"POST"},"request":{"type":"string","description":"Payload of the webhook request."},"response":{"type":"string","description":"Response body from the webhook URL."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","description":"ID of the main entity related to the event type."},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"eventType":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]},"source":{"type":"string","description":"Source that triggered the webhook.","enum":["webhooks","rules"]},"attempt":{"type":"integer","description":"Number of attempts to send the webhook."},"sentTime":{"description":"Date and time when the webhook is sent.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTimeNoSort"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTimeNoSort"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/User":{"id":"components/schemas/User","kind":"json-schema","title":"User","data":{"type":"object","required":["email","firstName","lastName"],"properties":{"id":{"type":"string","description":"ID of the user.","readOnly":true,"maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"email":{"description":"Email address of the user.","type":"string","format":"email","maxLength":80},"firstName":{"description":"User's first name.","type":"string","minLength":1,"maxLength":45},"lastName":{"description":"User's last name.","type":"string","minLength":1,"maxLength":45},"businessPhone":{"description":"User's business phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","$ref":"#/components/schemas/AclPermissions"},"computedPermissions":{"description":"All user permissions and roles.\nUse these permissions to emulate the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","readOnly":true,"type":"string"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"status":{"description":"Status of the user's account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"roleIds":{"type":"array","description":"Role IDs associated with the user.\nRole IDs specify the roles that the user performs within the organization.\nFor example, the user may be an organization admin.","items":{"type":"string"}},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"mfaEnabled":{"type":["boolean","null"],"readOnly":true,"description":"Specifies if the user has multi-factor authentication (MFA) set up.\nThis value is present only in responses from the [Retrieve a list of users](https://www.rebilly.com/catalog/all/users/getusercollection) operation\nfor an organization that has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings),\nand is omitted for Rebilly staff.\nThis value is `null` when this information is temporarily unavailable."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DashboardTile":{"id":"components/schemas/DashboardTile","kind":"json-schema","title":"DashboardTile","data":{"type":"object","required":["metric"],"properties":{"metric":{"type":"string","description":"Metric displayed in the tile.\nPublicly supported values are defined in `DashboardMetric`.\nAdditional values are accepted."},"title":{"type":["string","null"],"description":"Custom tile title.","minLength":2,"maxLength":36},"description":{"type":["string","null"],"description":"Custom tile description.","minLength":2,"maxLength":48},"dateRange":{"type":["string","null"],"description":"Date range of the tile, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nWhen omitted, the dashboard `dateRange` is used.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`."},"columnsWidth":{"type":"integer","description":"Number of dashboard columns that the tile occupies.","minimum":1,"maximum":2,"default":1},"periodStart":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period starts.\nThe value is resolved from the tile `dateRange`.\nThis value is `null` when the tile does not define its own `dateRange`."},"periodEnd":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period ends.\nThe value is resolved from the tile `dateRange`. \nThis value is `null` when the tile does not define its own `dateRange`."}}}},"components/schemas/DashboardTab":{"id":"components/schemas/DashboardTab","kind":"json-schema","title":"DashboardTab","data":{"type":"object","required":["title","tiles"],"properties":{"title":{"type":"string","description":"Title of the dashboard tab.","minLength":2,"maxLength":12,"example":"KYC"},"tiles":{"type":"array","description":"List of tiles displayed on the dashboard tab.","maxItems":20,"items":{"$ref":"#/components/schemas/DashboardTile"}},"preset":{"type":["string","null"],"description":"Specifies which preset the tab is associated with.\nThe preset is independent of the tiles configured on the tab.","enum":["Payments","Billing","KYC"]}}}},"components/schemas/ProfileDashboard":{"id":"components/schemas/ProfileDashboard","kind":"json-schema","title":"ProfileDashboard","data":{"type":"object","required":["tabs"],"properties":{"dateRange":{"type":"string","description":"Date range of the dashboard, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nThis range applies to every tile that does not define its own `dateRange`.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`.","default":"NOW-P1M/NOW"},"periodStart":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period starts.\nThe value is resolved from `dateRange`."},"periodEnd":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period ends.\nThe value is resolved from `dateRange`."},"tabs":{"type":"array","description":"List of dashboard tabs.","maxItems":10,"items":{"$ref":"#/components/schemas/DashboardTab"}}}}},"components/schemas/DashboardMetric":{"id":"components/schemas/DashboardMetric","kind":"json-schema","title":"DashboardMetric","data":{"type":"string","description":"Type of dashboard metric.","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","monthlyRecurringRevenue","annualRecurringRevenue","averageRevenuePerCustomer","customerLifetimeValue","addressProofAcceptanceRate","identityProofAcceptanceRate","fundsProofAcceptanceRate","purchaseProofAcceptanceRate","creditFileProofAcceptanceRate","kycAcceptanceRate","kycReviewTime","kycRejectionRate","kycAccuracyRate","addressProofAccuracyRate","identityProofAccuracyRate","creditFileProofAccuracyRate","kycRequestCount","kycRequestAbandonmentRate","kycRequestAttemptedRate","kycRequestFailureRate","kycRequestFulfillmentRate","kycRequestExpirationRate"]}},"components/schemas/DashboardTileReport":{"id":"components/schemas/DashboardTileReport","kind":"json-schema","title":"DashboardTileReport","data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"value":{"type":["number","null"],"format":"double","description":"Tile value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Tile value for the previous date range.\nThis value is relative to the specified date range."},"timeseries":{"description":"Time series of tile values across the specified date range.","type":"array","maxItems":100,"items":{"type":"object","description":"Chart data point.","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of the entry."},"value":{"type":["number","null"],"description":"Value of the entry."}}}}}}},"components/schemas/DataExportArguments":{"id":"components/schemas/DataExportArguments","kind":"json-schema","title":"DataExportArguments","data":{"type":"object","description":"Export request arguments used to filter and sort the result set.\nFor more information, see [Arguments](/docs/dev-docs/export-configuration/#arguments).","properties":{"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"sort":{"type":"string","description":"Sorts and orders the collection of items.\nTo sort in descending order, prefix with `-`."},"q":{"type":"string","description":"Use this field to perform a partial search of text fields."}}}},"components/schemas/DataExportRecurring":{"id":"components/schemas/DataExportRecurring","kind":"json-schema","title":"DataExportRecurring","data":{"description":"Recurring export schedule.","type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","description":"Schedule instruction in [Recurrence Rule RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) format."},"start":{"type":"string","format":"date-time","description":"Date and time when the first scheduled recurring export occurs.\nThe default value is now."}}}},"components/schemas/DataExportFileId":{"id":"components/schemas/DataExportFileId","kind":"json-schema","title":"DataExportFileId","data":{"type":["string","null"],"description":"ID of the data export file.\nIf the export contains more than 1,000,000 records,\nthe file is a ZIP archive.\nThe archive contains numbered part files,\nsuch as `example-part1.csv` and `example-part2.csv`,\neach with a maximum of 1,000,000 records.\nEach part file can be processed independently:\n\n- `csv` and `detailed-csv` part files repeat the header row.\n- `json` and `json-api` part files contain a complete array.\n- `xml` part files contain their own root element.\n\n`pdf` exports are always a ZIP archive that contains one PDF per record,\nand are never split into part files.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"components/schemas/DataExportFailureReason":{"id":"components/schemas/DataExportFailureReason","kind":"json-schema","title":"DataExportFailureReason","data":{"description":"Reason the export failed, if the export status is `failed`.","readOnly":true,"type":["string","null"],"enum":["record-limit-exceeded","max-retries-reached",null],"x-enumDescriptions":{"record-limit-exceeded":"Export exceeded the maximum number of records allowed for a single export.","max-retries-reached":"Export failed after the maximum number of retry attempts."}}},"components/schemas/DataExportDateRange":{"id":"components/schemas/DataExportDateRange","kind":"json-schema","title":"DataExportDateRange","data":{"type":"object","description":"Date range of the data export.\nIf this value is not set, all data is included.\nFor more information, see [Date ranges](/docs/dev-docs/export-configuration/#date-ranges).","properties":{"start":{"type":"string","description":"Start date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"yesterday"},"end":{"type":"string","description":"End date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"today"},"field":{"type":"string","description":"Field to which the date range is applied."}},"required":["start","end"]}},"components/schemas/CustomersDataExport":{"id":"components/schemas/CustomersDataExport","kind":"json-schema","title":"CustomersDataExport","data":{"type":"object","description":"Customer resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["customers"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/SubscriptionsDataExport":{"id":"components/schemas/SubscriptionsDataExport","kind":"json-schema","title":"SubscriptionsDataExport","data":{"type":"object","description":"Order resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["subscriptions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/TransactionsDataExport":{"id":"components/schemas/TransactionsDataExport","kind":"json-schema","title":"TransactionsDataExport","data":{"type":"object","description":"Transaction resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["transactions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"processedTime","example":"processedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/InvoicesDataExport":{"id":"components/schemas/InvoicesDataExport","kind":"json-schema","title":"InvoicesDataExport","data":{"type":"object","description":"Invoice resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoices"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","pdf","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/InvoiceItemsDataExport":{"id":"components/schemas/InvoiceItemsDataExport","kind":"json-schema","title":"InvoiceItemsDataExport","data":{"type":"object","description":"Invoice item resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoiceItems"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/AmlChecksDataExport":{"id":"components/schemas/AmlChecksDataExport","kind":"json-schema","title":"AmlChecksDataExport","data":{"type":"object","description":"AML checks resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["amlChecks"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/DisputesDataExport":{"id":"components/schemas/DisputesDataExport","kind":"json-schema","title":"DisputesDataExport","data":{"type":"object","description":"Dispute resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["disputes"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/JournalRecordsDataExport":{"id":"components/schemas/JournalRecordsDataExport","kind":"json-schema","title":"JournalRecordsDataExport","data":{"type":"object","description":"Journal record resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["journalRecords"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/PayoutRequestsDataExport":{"id":"components/schemas/PayoutRequestsDataExport","kind":"json-schema","title":"PayoutRequestsDataExport","data":{"type":"object","description":"Payout requests resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequests"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/PayoutRequestAllocationsDataExport":{"id":"components/schemas/PayoutRequestAllocationsDataExport","kind":"json-schema","title":"PayoutRequestAllocationsDataExport","data":{"type":"object","description":"Payout request allocations resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequestAllocations"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/UsersDataExport":{"id":"components/schemas/UsersDataExport","kind":"json-schema","title":"UsersDataExport","data":{"type":"object","description":"Users resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["users"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/DataExport":{"id":"components/schemas/DataExport","kind":"json-schema","title":"DataExport","data":{"type":"object","discriminator":{"propertyName":"resource","mapping":{"customers":"#/components/schemas/CustomersDataExport","subscriptions":"#/components/schemas/SubscriptionsDataExport","transactions":"#/components/schemas/TransactionsDataExport","invoices":"#/components/schemas/InvoicesDataExport","invoiceItems":"#/components/schemas/InvoiceItemsDataExport","amlChecks":"#/components/schemas/AmlChecksDataExport","disputes":"#/components/schemas/DisputesDataExport","journalRecords":"#/components/schemas/JournalRecordsDataExport","payoutRequests":"#/components/schemas/PayoutRequestsDataExport","payoutRequestAllocations":"#/components/schemas/PayoutRequestAllocationsDataExport","users":"#/components/schemas/UsersDataExport"}},"oneOf":[{"$ref":"#/components/schemas/CustomersDataExport"},{"$ref":"#/components/schemas/SubscriptionsDataExport"},{"$ref":"#/components/schemas/TransactionsDataExport"},{"$ref":"#/components/schemas/InvoicesDataExport"},{"$ref":"#/components/schemas/InvoiceItemsDataExport"},{"$ref":"#/components/schemas/AmlChecksDataExport"},{"$ref":"#/components/schemas/DisputesDataExport"},{"$ref":"#/components/schemas/JournalRecordsDataExport"},{"$ref":"#/components/schemas/PayoutRequestsDataExport"},{"$ref":"#/components/schemas/PayoutRequestAllocationsDataExport"},{"$ref":"#/components/schemas/UsersDataExport"}]}},"components/schemas/DataExportLimitExceeded":{"id":"components/schemas/DataExportLimitExceeded","kind":"json-schema","title":"DataExportLimitExceeded","data":{"allOf":[{"title":"Data export limit exceeded"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Machine-readable error code for this problem type, which consumers use to handle the failure programmatically.","enum":["data-export-limit-exceeded"]},"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/DetailedProblem"},{"type":"object","required":["matchedRecords","maxRecords"],"properties":{"matchedRecords":{"type":"integer","description":"Number of records that match the export request.","example":12500000},"maxRecords":{"type":"integer","description":"Maximum number of records for a single export.","example":10000000}}}]}},"components/schemas/OrganizationExport":{"id":"components/schemas/OrganizationExport","kind":"json-schema","title":"OrganizationExport","data":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","description":"Unique resource ID.","maxLength":50,"example":"org_exp_01HXC7MKK4GCS6WRRXY4X9CRMK"},"userId":{"description":"ID of the user who requested the organization data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"type":["string","null"],"description":"ID of the linked file object.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"status":{"description":"Status of organization data export request.","readOnly":true,"type":"string","enum":["pending","processing","completed","queued","failed","expired"]},"resources":{"description":"Organization data export resources array.","readOnly":true,"type":"array","items":{"type":"object","properties":{"type":{"description":"Exported resource.","readOnly":true,"type":"string","enum":["customers","users","payment-instruments","invoices","orders","transactions","disputes","gateway-accounts","blocklists","lists","webhooks","products","websites","plans","credit-memos","files","email-notifications"],"x-enumDescriptions":{"customers":"All customers of the organization.","users":"All users of the organization.","payment-instruments":"All payment instruments of the organization.","invoices":"All invoices of the organization.","orders":"All orders of the organization.","transactions":"All transactions of the organization.","disputes":"All disputes of the organization.","gateway-accounts":"All gateway accounts of the organization.","blocklists":"All blocklists of the organization.","lists":"All lists of the organization.","webhooks":"All webhooks of the organization.","products":"All products of the organization.","websites":"All websites of the organization.","plans":"All plans of the organization.","credit-memos":"All credit-memos of the organization.","files":"All files of the organization.","email-notifications":"All email-notifications of the organization."}},"recordCount":{"description":"Number of exported resources.","readOnly":true,"type":"integer"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"retentionTime":{"description":"Date and time when retention ends.\nAfter this date, files are removed.","readOnly":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","signedLink"]}}}}}}},"components/schemas/HistogramData":{"id":"components/schemas/HistogramData","kind":"json-schema","title":"Histogram data","data":{"title":"Histogram data","type":"object","properties":{"data":{"description":"Histogram data.","type":"array","items":{"type":"object","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of data entry."},"value":{"type":"number","description":"Data entry value."}}}}}}},"components/schemas/ApiLogSummary":{"id":"components/schemas/ApiLogSummary","kind":"json-schema","title":"ApiLogSummary","data":{"type":"object","properties":{"data":{"description":"API log summary data.","type":"array","items":{"type":"object","description":"Number of requests for each method.","readOnly":true,"properties":{"route":{"type":"string","description":"Route string pattern."},"total":{"type":"integer","description":"Total number of requests."},"get":{"type":"integer","description":"Total number of `GET` requests."},"post":{"type":"integer","description":"Total number of `POST` requests."},"put":{"type":"integer","description":"Total number of `PUT` requests."},"patch":{"type":"integer","description":"Total number of `PATCH` requests."},"delete":{"type":"integer","description":"Total number of `DELETE` requests."},"head":{"type":"integer","description":"Total number of `HEAD` requests."},"options":{"type":"integer","description":"Total number of `OPTIONS` requests."}}}}}}},"components/schemas/ReportAmlChecks":{"id":"components/schemas/ReportAmlChecks","kind":"json-schema","title":"ReportAmlChecks","data":{"type":"object","properties":{"total":{"description":"Total number of checks.","type":"integer"},"propagated":{"description":"Total number of propagated checks.","type":"integer"},"resulted":{"description":"Total number of resulted checks.","type":"integer"},"pending":{"description":"Total number of pending checks.","type":"integer"}}}},"components/schemas/ReportAmlChecksInheritedSummary":{"id":"components/schemas/ReportAmlChecksInheritedSummary","kind":"json-schema","title":"ReportAmlChecksInheritedSummary","data":{"type":"object","description":"Summary of inherited AML checks, grouped by provenance reason.","properties":{"totalInherited":{"description":"Number of AML checks in the period that have inherited status.","type":"integer"},"categories":{"description":"Categories of inherited checks, grouped by provenance reason.","type":"array","items":{"type":"object","properties":{"reason":{"description":"Provenance reason code for the inherited status.","type":"string"},"count":{"description":"Number of inherited checks for this reason code.","type":"integer"},"percentage":{"description":"Percentage of inherited checks for this reason code, calculated as a proportion of `totalInherited`.","type":"number","format":"float"}},"required":["reason","count","percentage"]}}},"required":["totalInherited","categories"]}},"components/schemas/ReportAmlAuditReport":{"id":"components/schemas/ReportAmlAuditReport","kind":"json-schema","title":"ReportAmlAuditReport","data":{"type":"object","description":"AML audit report for a person.","properties":{"personId":{"type":"string","description":"ID of the person associated with the report.","maxLength":50},"status":{"type":["string","null"],"description":"Person-level AML screening status for the selected period.","enum":["clear","confirmed-match","pending-review"]},"linkedCustomers":{"type":"array","description":"Customers linked to the person.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"}},"required":["id","websiteId"]}},"summary":{"type":"object","description":"Screening summary metrics for the selected period.","properties":{"totalChecks":{"type":"integer","description":"Total number of AML checks in the selected period."},"hitCount":{"type":"integer","description":"Number of AML hits across all checks in the selected period."},"lastCheckTime":{"type":["string","null"],"format":"date-time","description":"Date and time of the most recent AML check in the selected period."}},"required":["totalChecks","hitCount","lastCheckTime"]},"screeningHistory":{"type":"array","description":"AML screening history for the selected period.","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the AML check.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"hitSources":{"type":["string","null"],"description":"Comma-separated list of AML Hit sources for the AML check.\n\nThe value is `null` if the AML Check did not find any hits."},"result":{"type":"string","description":"Screening result for the AML check.","enum":["clear","confirmed-match","pending-review"]},"reviewer":{"type":["string","null"],"description":"Name of the reviewer, `bot` for checks that run automatically, or `null` when the check hasn't been reviewed yet."}},"required":["id","createdTime","updatedTime","customerId","source","hitSources","result","reviewer"]}},"transactions":{"type":"array","description":"Transactions for customers linked to the person in the selected period.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"amount":{"type":"number","description":"Transaction amount converted to the report currency of the organization."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["approved","canceled","declined","unknown"]}},"required":["id","customerId","createdTime","updatedTime","amount","currency","type","status","result"]}},"periodStart":{"type":"string","format":"date-time","description":"Start date time of the report period."},"periodEnd":{"type":"string","format":"date-time","description":"End date time of the report period."},"truncated":{"type":"boolean","description":"Indicates whether any list within the report is truncated due to too many results."}},"required":["personId","status","linkedCustomers","summary","screeningHistory","transactions","periodStart","periodEnd","truncated"]}},"components/schemas/CumulativeSubscriptions":{"id":"components/schemas/CumulativeSubscriptions","kind":"json-schema","title":"CumulativeSubscriptions","data":{"type":"object","properties":{"data":{"description":"Cumulative subscription data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format for monthly aggregation, or `YYYY-MM-DD` for 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":"Total number of cumulative subscriptions.\n\nThis field is calculated based on: the number of cumulative subscriptions from the previous aggregation period + `newCount` - `canceledCount`."}}}}}}},"components/schemas/DashboardResponse":{"id":"components/schemas/DashboardResponse","kind":"json-schema","title":"DashboardResponse","data":{"type":"array","items":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"humanName":{"type":"string","description":"Display name of the metric."},"increaseIsGood":{"type":"boolean","description":"Specifies whether a higher value is a positive result for the merchant."},"segments":{"type":"array","description":"Segment data.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the segment."},"value":{"type":["number","null"],"format":"double","description":"Segment value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Segment value for the previous date range.\nThis value is relative to the specified date range."},"humanValue":{"type":["string","null"],"description":"Human readable segment value.\nThis field is formatted with a currency sign."},"changeRatio":{"type":["number","null"],"format":"double","description":"Ratio of the current value for each previous value.\nA null value represents infinity."},"humanChangeRatio":{"type":["string","null"],"description":"Human readable change ratio.\nThis field is formatted percentage sign.\nA null value represents infinity."},"timeseries":{"description":"Time series.","type":"array","items":{"type":"object","description":"Chart data.","readOnly":true,"properties":{"date":{"type":"string","description":"Entry date-time."},"value":{"type":["number","null"],"description":"Entry value."}}}}}}}}}}},"components/schemas/DccMarkup":{"id":"components/schemas/DccMarkup","kind":"json-schema","title":"DccMarkup","data":{"type":"object","properties":{"data":{"description":"Aggregation 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.\nDate values are displayed as follows:\n\n  - Day: `YYYY-MM-DD`.\n  - 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 are not selected nor rejected."},"unknownSum":{"type":"number","format":"double","description":"Amount of offers in the aggregation which are not selected nor rejected."}}}}}}},"components/schemas/ReportDeclinedTransactions":{"id":"components/schemas/ReportDeclinedTransactions","kind":"json-schema","title":"ReportDeclinedTransactions","data":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"message":{"description":"Description or message related to the declined transactions report.","type":"string","example":"error"},"count":{"description":"Number of declined transactions.","type":"integer","example":500},"percentage":{"description":"Percentage of declined transactions.","type":"number","format":"double","example":25}}}}}}},"components/schemas/ReportDeferredRevenue":{"id":"components/schemas/ReportDeferredRevenue","kind":"json-schema","title":"ReportDeferredRevenue","data":{"type":"object","properties":{"asOfDate":{"type":"string","format":"date","description":"Date up to which revenue is recognized for the report.","example":"2024-03-31"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"booked":{"type":"number","description":"Total booked amount as of the report date.","example":127850},"recognized":{"type":"number","description":"Total recognized amount as of the report date.","example":89495},"liability":{"type":"number","description":"Total liability amount as of the report date.","example":38355},"months":{"type":"array","description":"Monthly breakdown data.","items":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2024-03"},"bookedAsOfMonth":{"type":"number","description":"Cumulative booked amount as of the month.","example":127850},"bookedInMonth":{"type":"number","description":"Amount booked in the specific month.","example":24750},"recognizeAsOfMonth":{"type":"number","description":"Cumulative recognized amount as of the month.","example":89495},"recognizeInMonth":{"type":"number","description":"Amount recognized in the specific month.","example":18650},"liabilityAsOfMonth":{"type":"number","description":"Liability amount as of the specific month.","example":38355}}}}}}},"components/schemas/ReportDisputes":{"id":"components/schemas/ReportDisputes","kind":"json-schema","title":"ReportDisputes","data":{"type":"object","properties":{"data":{"type":"array","description":"Disputes data.","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"countVisa":{"description":"Total number of disputed Visa transactions.","type":"integer"},"ratioCountVisa":{"description":"Ratio of the total number of disputed Visa transactions versus the total number of settled Visa transactions.","type":"number","format":"double"},"ratioAmountVisa":{"description":"Ratio of disputed Visa transaction amounts versus settled Visa transaction amounts.","type":"number","format":"double"},"countMastercard":{"description":"Total number of disputed Mastercard transactions.","type":"integer"},"ratioCountMastercard":{"description":"Ratio of the total number of disputed Mastercard transactions versus the total number of settled Mastercard transactions.","type":"number","format":"double"},"ratioAmountMastercard":{"description":"Ratio of disputed Mastercard transaction amounts versus settled Mastercard transaction amounts.","type":"number","format":"double"}}}}}}},"components/schemas/ReportEventsTriggeredSummary":{"id":"components/schemas/ReportEventsTriggeredSummary","kind":"json-schema","title":"ReportEventsTriggeredSummary","data":{"type":"object","properties":{"data":{"type":"array","description":"Event data.","items":{"type":"object","properties":{"eventName":{"description":"Name of the system event.","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":"Total number of times this event is triggered.","type":"integer"}}}}}}},"components/schemas/ReportRulesMatchedSummary":{"id":"components/schemas/ReportRulesMatchedSummary","kind":"json-schema","title":"ReportRulesMatchedSummary","data":{"type":"object","properties":{"data":{"description":"Matched rule data.","type":"array","items":{"type":"object","properties":{"rule":{"description":"Name of the matched rule.","type":"string"},"count":{"description":"Total number of times this rule is matched.","type":"integer"},"approvalRate":{"description":"Rate of transaction approval by rule.","type":"number","format":"double"}}}}}}},"components/schemas/FutureRenewals":{"id":"components/schemas/FutureRenewals","kind":"json-schema","title":"FutureRenewals","data":{"type":"object","properties":{"data":{"description":"Future renewals data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM` format."},"sum":{"type":"number","format":"double","description":"Total amount of future renewals in the user's reporting currency."},"plansCount":{"type":"array","description":"Plan within the aggregation.","items":{"type":"object","readOnly":true,"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"count":{"type":"integer","description":"Total number of future renewals of a plan."}}}}}}}}}},"components/schemas/ReportJournal":{"id":"components/schemas/ReportJournal","kind":"json-schema","title":"ReportJournal","data":{"type":"object","properties":{"aggregationField":{"type":"string","description":"Report data grouped by aggregation field.","enum":["product.accountingCode","product.id","plan.id"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"bookedFrom":{"type":["string","null"],"description":"Year and month when revenue is booked.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"bookedTo":{"type":["string","null"],"description":"Year and month when revenue is booked until.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"recognizedAt":{"type":"string","description":"Year and month when revenue is recognized.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"data":{"description":"Revenue data.","type":"array","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.","type":"string"},"bookedMonth":{"description":"Month when revenue is booked.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"bookedAmount":{"description":"Revenue amount which is booked for recognition.","type":"number","format":"double","example":25},"recognizedAmount":{"description":"Amount of recognized revenue.","type":"number","format":"double","example":20},"remainingAmount":{"description":"Remaining revenue amount to be recognized.","type":"number","format":"double","example":5}}}}}}},"components/schemas/JournalSummaryReport":{"id":"components/schemas/JournalSummaryReport","kind":"json-schema","title":"JournalSummaryReport","data":{"type":"object","properties":{"aggregationField":{"description":"Journal account by which the report amounts are aggregated.","type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]},"amountField":{"description":"Journal record amount field which is used to calculate the report amounts.","type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"periodStart":{"description":"Year and month from which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"periodEnd":{"description":"Year and month up to which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-09"},"journalAccountIds":{"description":"Comma-separated list of journal account IDs which are provided to filter the report.\nA `null` value means that no value is provided and all journal accounts are included.","type":["string","null"],"example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"},"data":{"description":"Journal summary report data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Journal period month and year.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"totalAmount":{"description":"Total summary of journal records amount for the period.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"breakdown":{"description":"Breakdown of journal records by journal account.","type":"array","items":{"type":"object","properties":{"journalAccountId":{"description":"ID of the journal account.","type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J"},"recognizedAmount":{"description":"Amount of revenue recognized for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.recognizedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"estimatedAmount":{"description":"Amount of revenue estimated for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.estimatedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}}}}},"components/schemas/ReportKycRejections":{"id":"components/schemas/ReportKycRejections","kind":"json-schema","title":"ReportKycRejections","data":{"type":"object","properties":{"data":{"description":"Rejection data.","type":"array","items":{"type":"object","properties":{"documentType":{"$ref":"#/components/schemas/KycDocumentTypes"},"rejectionReasons":{"type":"array","description":"Rejection reasons.","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Total number of related KYC documents."}}}}}}}}}},"components/schemas/KycDocumentRequestStatuses":{"id":"components/schemas/KycDocumentRequestStatuses","kind":"json-schema","title":"KycDocumentRequestStatuses","data":{"description":"Reason the document is rejected.","type":"string","enum":["abandoned","expired","failed","fulfilled","pending-review"]}},"components/schemas/ReportKycRequests":{"id":"components/schemas/ReportKycRequests","kind":"json-schema","title":"ReportKycRequests","data":{"type":"object","properties":{"data":{"description":"Request data.","type":"array","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRequestStatuses"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Number of related KYC requests."}}}}}}},"components/schemas/ReportMonthlyRecurringRevenue":{"id":"components/schemas/ReportMonthlyRecurringRevenue","kind":"json-schema","title":"ReportMonthlyRecurringRevenue","data":{"type":"object","properties":{"data":{"description":"Monthly Recurring Revenue (MRR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Monthly Recurring Revenue (MRR) amount.","type":"number","format":"double","example":245},"breakdown":{"description":"MRR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total MRR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew MRR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new MRR amount of $40.","type":"number","format":"double","example":40},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation MRR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation MRR amount of $25.","type":"number","format":"double","example":25},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned MRR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned MRR amount of $80.","type":"number","format":"double","example":80},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller MRR.\nContraction MRR is the amount before the change minus the amount and after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction MRR amount of $20.","type":"number","format":"double","example":20},"expansion":{"description":"Occurs when existing customers change items which result in a bigger MRR.\nExpansion MRR is the amount after the change minus the amount and before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion MRR amount of $60.","type":"number","format":"double","example":60}}}}}}}}},"components/schemas/ReportAnnualRecurringRevenue":{"id":"components/schemas/ReportAnnualRecurringRevenue","kind":"json-schema","title":"ReportAnnualRecurringRevenue","data":{"type":"object","properties":{"data":{"description":"Annual Recurring Revenue (ARR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Annual Recurring Revenue (ARR) amount.","type":"number","format":"double","example":300},"breakdown":{"description":"ARR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total ARR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew ARR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new ARR amount of $480 ($40 multiplied by 12 months).","type":"number","format":"double","example":480},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation ARR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation ARR amount of $300 ($25 multiplied by 12 months).","type":"number","format":"double","example":300},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned ARR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned ARR amount of $960 ($80 multiplied by 12 months).","type":"number","format":"double","example":960},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller ARR.\nContraction ARR is the amount before the change minus the amount after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction ARR amount of $240 ($20 multiplied by 12 months).","type":"number","format":"double","example":240},"expansion":{"description":"Occurs when existing customers change items which result in a bigger ARR.\nExpansion ARR is the amount after the change minus the amount before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion ARR amount of $720 ($60 multiplied by 12 months).","type":"number","format":"double","example":720}}}}}}}}},"components/schemas/RenewalSales":{"id":"components/schemas/RenewalSales","kind":"json-schema","title":"RenewalSales","data":{"type":"object","properties":{"data":{"description":"Renewal sales data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format."},"newSales":{"type":"number","format":"double","description":"Total amount of new sales."},"newRefunds":{"type":"number","format":"double","description":"Total amount of new refunds."},"renewalSales":{"type":"number","format":"double","description":"Total amount of renewal sales."},"renewalRefunds":{"type":"number","format":"double","description":"Total amount of renewal refunds."}}}}}}},"components/schemas/ReportRetentionPercentage":{"id":"components/schemas/ReportRetentionPercentage","kind":"json-schema","title":"ReportRetentionPercentage","data":{"type":"object","properties":{"data":{"description":"Retention 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.\n\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`;\n- Month: `YYYY-MM`;\n- Quarter: `YYYY-MM`/`YYYY-MM`;\n- Year: `YYYY`."},"subscriptionsCount":{"type":"integer","description":"Number of subscriptions created within the aggregation."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\nPeriods are numbered as follows:\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionRatio":{"type":"number","format":"double","description":"Ratio percentage of active, non-canceled subscriptions in the retention period versus all subscriptions created in the aggregation period."},"canceledSubscriptionsCount":{"type":"integer","description":"Number of canceled subscriptions within the specified retention period."}}}}}}}}}},"components/schemas/ReportRetentionValue":{"id":"components/schemas/ReportRetentionValue","kind":"json-schema","title":"ReportRetentionValue","data":{"type":"object","properties":{"data":{"description":"Retention value 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.\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`.\n- Month: `YYYY-MM`.\n- Quarter: `YYYY-MM`/`YYYY-MM`.\n- Year: `YYYY`."},"customersCount":{"type":"integer","description":"Number of customers within the aggregation who make their first payment."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionAverage":{"type":"number","format":"double","description":"Summary amount of all transactions for all periods up to the current period divided by the aggregation customer number."},"transactionsCount":{"type":"integer","description":"Number of transactions that occurred within the retention period.\nFor example, in 3 rebills."},"transactionsValue":{"type":"number","format":"double","description":"Total value of transactions.\nThis value is calculated based on: `income transactions` minus `loss transactions`."}}}}}}}}}},"components/schemas/ReportRevenueWaterfall":{"id":"components/schemas/ReportRevenueWaterfall","kind":"json-schema","title":"ReportRevenueWaterfall","data":{"type":"array","items":{"type":"object","properties":{"issuedMonth":{"description":"Month when the revenue invoice is issued.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"booked":{"description":"Month when the revenue amount is booked.","type":"number","format":"double","example":25},"recognized":{"description":"Amount of recognized revenue amount up to, and including, the `recognizedTo` month.","type":"number","format":"double","example":20},"remaining":{"description":"Amount of revenue that remains to be recognized after the `recognizedTo` month.","type":"number","format":"double","example":5},"waterfall":{"type":"array","description":"Recognized revenue waterfall for each month.","items":{"type":"object","properties":{"recognizedMonth":{"description":"Month when revenue is recognized.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-04"},"amount":{"description":"Amount of revenue recognized at the `recognizedMonth`.","type":"number","format":"double"}}},"example":[{"recognizedMonth":"2022-02","amount":4.4},{"recognizedMonth":"2022-03","amount":8.33},{"recognizedMonth":"2022-04","amount":7.27}]}}}}},"components/schemas/SubscriptionCancellationReport":{"id":"components/schemas/SubscriptionCancellationReport","kind":"json-schema","title":"SubscriptionCancellationReport","data":{"type":"object","properties":{"data":{"description":"Subscription cancellation data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Aggregation value."},"count":{"type":"integer","description":"Total number 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."}}}}}}},"components/schemas/SubscriptionRenewal":{"id":"components/schemas/SubscriptionRenewal","kind":"json-schema","title":"SubscriptionRenewal","data":{"type":"object","properties":{"data":{"description":"Subscription renewal data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"planId":{"type":"string","description":"Plan ID for which subscriptions are counted.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"allRenewalCount":{"type":"integer","description":"Total number of renewed subscriptions."},"allDunningCount":{"type":"integer","description":"Total number of dunned subscriptions.\nDunning is the process of retrying unsuccessful payment transactions."},"abandonedCount":{"type":"integer","description":"Total number of abandoned subscriptions."},"paidRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal rate,\ndivide the value of this field by the `allRenewalCount` value."},"paidDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning success rate,\ndivide the value of this field by the `allDunningCount` value."},"refundedRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal refund rate,\ndivide the value of this field by the `allRenewalCount` value."},"refundedDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning refund rate,\ndivide the value of this field by the `allDunningCount` value."},"chargebackRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal chargeback rate,\ndivide the value of this field by the `allRenewalCount` value."},"chargebackDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning chargeback rate,\ndivide the value of this field by the `allDunningCount` value."}}}}}}},"components/schemas/ReportTax":{"id":"components/schemas/ReportTax","kind":"json-schema","title":"ReportTax","data":{"type":"object","properties":{"data":{"description":"Tax data.","type":"array","items":{"type":"object","properties":{"country":{"description":"Country to which the tax is owed, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","example":"US"},"state":{"description":"Postal abbreviated state name for the state to which the tax is owed.","type":"string","example":"TX"},"county":{"description":"Name of county to which the tax is owed.","type":"string","example":"TRAVIS"},"city":{"description":"Name of city to which the tax is owed.","type":"string","example":"AUSTIN"},"stateRate":{"description":"Percentage rate of state tax.","type":"number","format":"double"},"stateAmount":{"description":"Amount of state tax.","type":"number","format":"double"},"countyRate":{"description":"Percentage rate of county tax.","type":"number","format":"double"},"countyAmount":{"description":"Amount of county tax.","type":"number","format":"double"},"cityRate":{"description":"Percentage rate of city tax.","type":"number","format":"double"},"cityAmount":{"description":"Amount of city tax.","type":"number","format":"double"},"specialDistrictRate":{"description":"Percentage rate of special district tax.","type":"number","format":"double"},"specialDistrictAmount":{"description":"Amount of special district tax.","type":"number","format":"double"},"taxableSalesAmount":{"description":"Amount of taxable sales.","type":"number","format":"double"},"nontaxableSalesAmount":{"description":"Amount of nontaxable sales.","type":"number","format":"double"}}}}}}},"components/schemas/TimeSeriesTransaction":{"id":"components/schemas/TimeSeriesTransaction","kind":"json-schema","title":"TimeSeriesTransaction","data":{"type":"object","properties":{"data":{"description":"Time series data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM-DD` format."},"total":{"type":"number","format":"double","description":"Aggregated value for all transactions for the day, in the unit specified by the `type` parameter:\n  - `count`: Total number of transactions.\n  - `amount`: Total amount of approved transactions in the merchant reporting currency.\n  - `approval-rate`: Ratio of approved transactions to all transactions.\n  - `incomplete-rate`: Ratio of incomplete transactions to all transactions.\n\nThis value does not depend on the `subaggregate` parameter and is not the sum of the values in `subaggregates`.\nEach transaction is included once, even if the `subaggregate` field contains multiple values for the transaction.\nTransactions with no value for the `subaggregate` field are also included."},"subaggregates":{"type":"array","description":"Breakdown by the `subaggregate` field for the day.\nEach element contains one `subaggregate` value and its aggregated value.\nEach `subaggregate` value found in the report has an element,\nin the same order for each day.","items":{"type":"object","properties":{"subaggregate":{"type":"string","description":"One value of the `subaggregate` field, such as a website ID, a currency code, or a lead source."},"value":{"type":"number","format":"double","description":"Aggregated value for transactions that have this `subaggregate` value,\nin the same unit as `total`.\nThis value is `0` if no transactions have this `subaggregate` value."}}}}}}}}}},"components/schemas/ReportDisputeDelays":{"id":"components/schemas/ReportDisputeDelays","kind":"json-schema","title":"ReportDisputeDelays","data":{"type":"object","properties":{"data":{"description":"Dispute delay data.","type":"array","items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"25th":{"description":"Delay between dispute and transaction time at the 25th percentile.","type":"integer"},"50th":{"description":"Delay between dispute and transaction time at the 50th percentile.","type":"integer"},"75th":{"description":"Delay between dispute and transaction time at the 75th percentile.","type":"integer"}}}}}}},"components/schemas/ReportTransactions":{"id":"components/schemas/ReportTransactions","kind":"json-schema","title":"ReportTransactions","data":{"type":"object","properties":{"data":{"description":"Transaction data.","type":"array","readOnly":true,"items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.","type":"string"},"authApprovedThroughput":{"description":"Percentage of approved authentication transactions.","type":"number","format":"double"},"approvedThroughput":{"description":"Percentage of approved sale transactions.","type":"number","format":"double"},"authApprovalCount":{"description":"Total number of approved authentication transactions.","type":"integer"},"disputesRate":{"description":"Percentage of disputed sale and capture transactions.","type":"number","format":"double"},"disputesCount":{"description":"Total number of disputed sale and capture transactions.","type":"integer"},"salesCount":{"description":"Total number of sales.","type":"integer"},"salesValue":{"description":"Total sales value.","type":"number","format":"double"},"salesAverage":{"description":"Average sales value.","type":"number","format":"double"},"refundsCount":{"description":"Total number of refunds.","type":"integer"},"refundsValue":{"description":"Total value of refunds.","type":"number","format":"double"},"amount":{"description":"Amount of revenue.\nThis value is the result of `salesValue` minus `refundsValue`.","type":"number","format":"double"},"count":{"description":"Total number of transactions.","type":"number","format":"double"},"unapprovedCount":{"description":"Total number of unapproved transactions.","type":"number","format":"double"}}}}}}},"components/schemas/RiskScoreBoolean":{"id":"components/schemas/RiskScoreBoolean","kind":"json-schema","title":"RiskScoreBoolean","data":{"type":["object","null"],"required":["value"],"properties":{"value":{"type":"integer","description":"Value added to the risk score of the transaction."}}}},"components/schemas/RiskScoreBracket":{"id":"components/schemas/RiskScoreBracket","kind":"json-schema","title":"RiskScoreBracket","data":{"type":["object","null"],"required":["brackets"],"properties":{"brackets":{"description":"Risk factor values range with corresponding risk score increment value.\nThe first matched bracket is applied.","type":"array","minItems":1,"items":{"type":"object","required":["value"],"properties":{"start":{"description":"Minimal risk factor value when condition is applied.","type":["integer","null"],"minimum":0},"end":{"description":"Maximal risk factor value when condition is applied.","type":["integer","null"],"minimum":1},"value":{"type":"integer","description":"Value added to the risk score of the transaction."}},"oneOf":[{"required":["start"],"properties":{"end":{"not":{}}}},{"required":["end"],"properties":{"start":{"not":{}}}},{"required":["start","end"]}]}}}}},"components/schemas/RiskScoreRules":{"id":"components/schemas/RiskScoreRules","kind":"json-schema","title":"RiskScoreRules","data":{"type":"object","description":"Risk score rules.","required":["isProxy","isVpn","isTor","isHosting","hasMismatchedBillingAddressCountry","hasMismatchedBankCountry","hasMismatchedTimeZone","hasMismatchedHolderName","hasFakeName","isHighRiskCountry","paymentInstrumentVelocity","declinedPaymentInstrumentVelocity","deviceVelocity","ipVelocity","emailVelocity","billingAddressVelocity","isRebill","isRetry","customerLifetimeValue","browserAdBlockEnabled","paymentInstrumentApprovedTransactionCount","customerVelocity"],"properties":{"isProxy":{"description":"Specifies whether the customer's IP address is related to a proxy.","$ref":"#/components/schemas/RiskScoreBoolean"},"isVpn":{"description":"Specifies whether the customer's IP address is related to a VPN.","$ref":"#/components/schemas/RiskScoreBoolean"},"isTor":{"description":"Specifies whether the customer's IP address is related to TOR.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHosting":{"description":"Specifies whether the customer's IP address is related to hosting.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBillingAddressCountry":{"description":"Specifies whether the customer's billing address country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBankCountry":{"description":"Specifies whether the customer's bank country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedTimeZone":{"description":"Specifies whether the customer's browser time zone and the IP address associated time zone are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedHolderName":{"description":"Specifies whether the customer's billing address name and primary address name are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasFakeName":{"description":"Specifies whether the holder name seems fake.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHighRiskCountry":{"description":"Specifies whether the geo-IP country, or the customer's billing country, is considered a high risk country.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"isRebill":{"description":"Specifies whether the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","$ref":"#/components/schemas/RiskScoreBoolean"},"isRetry":{"description":"Specifies whether the transaction is a retry.","$ref":"#/components/schemas/RiskScoreBoolean"},"customerLifetimeValue":{"description":"Total revenue from the customer, in USD.","$ref":"#/components/schemas/RiskScoreBracket"},"browserAdBlockEnabled":{"description":"Specifies whether an ad blocker was detected.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","$ref":"#/components/schemas/RiskScoreBracket"},"customerVelocity":{"description":"Number of transactions for this customer in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"}}}},"components/schemas/RiskScoreBlocklistPermanentRule":{"id":"components/schemas/RiskScoreBlocklistPermanentRule","kind":"json-schema","title":"RiskScoreBlocklistPermanentRule","data":{"type":"object","description":"Rule that permanently blocklists items when TTL is equal to `0`.","required":["riskScoreThreshold"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1}}}},"components/schemas/RiskScoreBlocklistPermanentRules":{"id":"components/schemas/RiskScoreBlocklistPermanentRules","kind":"json-schema","title":"RiskScoreBlocklistPermanentRules","data":{"type":["object","null"],"description":"Items permanently blocklisted when TTL is equal to `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"paymentCard":{"description":"Payment card number being charged.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"}}}},"components/schemas/RiskScoreBlocklistTemporaryRule":{"id":"components/schemas/RiskScoreBlocklistTemporaryRule","kind":"json-schema","title":"RiskScoreBlocklistTemporaryRule","data":{"type":"object","description":"Items temporarily blocklisted when TTL is greater than `0`.","required":["riskScoreThreshold","ttl"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1},"ttl":{"type":"integer","description":"Amount of seconds a blocklist exists before it expires.\nThis value must be greater than 0.","minimum":1}}}},"components/schemas/RiskScoreBlocklistTemporaryRules":{"id":"components/schemas/RiskScoreBlocklistTemporaryRules","kind":"json-schema","title":"RiskScoreBlocklistTemporaryRules","data":{"type":["object","null"],"description":"Items temporarily blocklisted when TTL is greater than `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"paymentCard":{"description":"Payment card number for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"}}}},"components/schemas/RiskScoreBlocklist":{"id":"components/schemas/RiskScoreBlocklist","kind":"json-schema","title":"RiskScoreBlocklist","data":{"type":"object","description":"Risk score blocklist configuration.","properties":{"permanentlyBlockList":{"description":"Items permanently blocklisted when TTL is equal to `0`.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRules"},"temporaryBlockList":{"description":"Items temporarily blocklisted when TTL is greater than `0`.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRules"}}}},"components/schemas/Allowlist":{"id":"components/schemas/Allowlist","kind":"json-schema","title":"Allowlist","data":{"type":"object","description":"Risk score allowlist record.","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the allowlist record.","readOnly":true,"maxLength":50,"example":"rsal_01HXBY67D5CNWM2YK79PFZR4C2"},"type":{"type":"string","description":"Type of data to exclude from risk score checks.\nData types that are added to this field are excluded from risk score checks and are not added to blocklists.","enum":["address","bank-account","bin","country","customer-id","email","email-domain","fingerprint","ip-address","payment-card"]},"value":{"type":"string","description":"Value of the allowlist record."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/TagUntagRule":{"id":"components/schemas/TagUntagRule","kind":"json-schema","title":"TagUntagRule","data":{"type":"object","description":"Tag or untag rule.","required":["name","eventType","addTags","removeTags"],"properties":{"id":{"type":"string","description":"ID of the rule.","readOnly":true,"maxLength":50,"example":"tag_rule_0YVCEE5APAD7V84MK3P9CCJVYY"},"name":{"description":"Name of the rule.","type":"string"},"eventType":{"allOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"not":{"enum":["application-instance-disabled","application-instance-enabled","balance-transaction-settled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-redirected-offsite","customer-returned","dispute-created","dispute-modified","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","invoice-created","invoice-modified","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-tax-calculation-failed","offsite-payment-completed","order-abandon-reminder","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","renewal-invoice-payment-canceled","risk-score-changed","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-renewal-reminder","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","transaction-process-requested","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","data-export-completed","data-export-failed","hard-usage-limit-reached","soft-usage-limit-reached","subscription-quantity-filled-limit-reached"]}}]},"filter":{"description":"Filter that determines whether to tag or untag.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://api-reference.rebilly.com/#section/Using-filter-with-collections).","type":["string","null"]},"addTags":{"description":"List of tags to add to the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"removeTags":{"description":"List of tags to remove for the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related resource links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}}}},"components/schemas/Application":{"id":"components/schemas/Application","kind":"json-schema","title":"Application","data":{"type":"object","description":"Application object.","required":["name","logoId","authorName","tagline","description","permissions"],"properties":{"id":{"type":"string","description":"Unique identifier of the application.","readOnly":true,"maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"name":{"description":"Name that is displayed for the application in the App Store.","type":"string"},"logoId":{"type":"string","description":"Unique identifier of the file that contains the application logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"authorName":{"description":"Name of the person or organization that created the application.","type":"string"},"authorLogoId":{"type":["string","null"],"description":"Unique identifier of the file that contains the logo of the author.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"tagline":{"description":"Short descriptive tagline that is displayed for the application in the App Store.","type":"string"},"description":{"description":"Detailed description of the application.\nThis field accepts markdown and simple text.","type":"string"},"status":{"description":"Current status of the application in the App Store.","readOnly":true,"type":"string","enum":["pending-approval","available","disabled"]},"permissions":{"description":"List of permissions that are available to the application.\nTo add permissions, contact [Rebilly Support](mailto:support@rebilly.com).","type":"array","items":{"type":"string","format":"operationId","enum":["DeleteApplicationInstance","GetApplicationInstanceConfiguration","GetCustomer","GetCustomerCollection","GetInvoice","GetInvoiceCollection","GetPlan","GetPlanCollection","GetProduct","GetProductCollection","GetSubscription","GetSubscriptionCollection","GetTransaction","GetTransactionCollection","GetWebhook","GetWebsite","GetWebsiteCollection","PostCoupon","PostCouponRedemption","PostGatewayAccountDowntimeSchedule","PostPayout","PostServiceCredential","PostWebhook","PostWebhookCredentialHash","PutApplicationInstanceConfiguration","PutCoupon"]},"example":["GetInvoice","GetInvoiceCollection","GetCustomer","GetCustomerCollection"]},"configurationUrl":{"description":"URL for configuring the application during installation.","type":["string","null"],"format":"uri"},"configuredBy":{"type":"string","description":"Specifies who can configure the application.","readOnly":true,"enum":["user","application"]},"properties":{"description":"Defines settings that users complete when they install the application.\nThis field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7.","type":"object","example":{"type":"object","properties":{"email":{"type":"string"},"max":{"type":"integer","minimum":0,"exclusiveMaximum":100}},"required":["email"]}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","applicationInstance","logoUrl","authorLogoUrl"]}}}}}}},"components/schemas/ApplicationInstance":{"id":"components/schemas/ApplicationInstance","kind":"json-schema","title":"ApplicationInstance","data":{"type":"object","description":"Application instance object.","properties":{"status":{"description":"Current status of the application instance.","readOnly":true,"type":"string","enum":["enabling","enabled","disabling","disabled"]},"isConfigured":{"description":"Specifies if the configuration of the application instance is complete.\nSome applications require additional configuration after installation before they can be used.\nConfiguration is completed using the Upsert an application instance configuration operation.","type":"boolean","readOnly":true},"settings":{"description":"Configuration settings submitted during installation.","type":"object","additionalProperties":{"type":"string","description":"Additional properties added by the user when the application is installed."},"example":{"color":"red","limit":"5"},"deprecated":true,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OwnerApplicationInstance":{"id":"components/schemas/OwnerApplicationInstance","kind":"json-schema","title":"OwnerApplicationInstance","data":{"allOf":[{"$ref":"#/components/schemas/ApplicationInstance"},{"type":"object","properties":{"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"token":{"description":"Session token used to authenticate an organization.","type":"string","readOnly":true}}}]}},"components/schemas/PayoutRequestChange":{"id":"components/schemas/PayoutRequestChange","kind":"json-schema","title":"PayoutRequestChange","data":{"description":"Details specific to the payout request or allocation change that triggered the webhook.","type":"object","additionalProperties":false,"properties":{"previousStatus":{"description":"Resource status before the change.","type":"string"},"status":{"description":"Resource status after the change.","type":"string"},"blockReason":{"description":"Reason for blocking the payout request.","type":"string"},"blockDescription":{"description":"Additional information about the block.","type":["string","null"]},"splitReason":{"description":"Reason for splitting the payout request.","type":"string"},"splitDescription":{"description":"Additional information about the split.","type":["string","null"]},"canceledBy":{"description":"Party that canceled the payout request.","type":"string"},"description":{"description":"Additional information about the cancellation.","type":"string"},"amount":{"description":"Amount of the change in the resource currency.","type":"number","format":"double","x-type":"Money"},"remainingAllocationAmount":{"description":"Payout request amount that remains available for allocation.","type":"number","format":"double","x-type":"Money"},"totalFulfilled":{"description":"Total fulfilled amount in the payout request currency.","type":"number","format":"double","x-type":"Money"},"paymentInstrumentId":{"description":"ID of the payment instrument.","type":"string","maxLength":50},"allocationId":{"description":"ID of the payout request allocation.","type":"string","maxLength":50},"transactionId":{"description":"ID of the transaction, or `null` when no transaction is available.","type":["string","null"],"maxLength":50},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that received the merged amount.","type":"string","maxLength":50},"replayTransferId":{"description":"ID of the transfer that reserves the payout funds.\nThis value is `null` if no transfer exists.","type":["string","null"],"maxLength":50},"isAutoAllocation":{"description":"Specifies whether the allocation is created automatically.","type":"boolean"},"replacedByRemainder":{"description":"Specifies whether a replacement payout request contains the remaining amount.","type":"boolean"}}}},"components/schemas/PayoutRequestChangedRequest":{"id":"components/schemas/PayoutRequestChangedRequest","kind":"json-schema","title":"Payout request change","data":{"title":"Payout request change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request change that triggered the webhook.","type":"string","enum":["payout-request-created","payout-request-modified","payout-request-blocked","payout-request-unblocked","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-processing-started","payout-request-fulfilled","payout-request-payment-instrument-selected","payout-request-allocated","payout-request-split","payout-request-merged","payout-request-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["payoutRequest","customer"],"properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related payout request.","type":"string"},"rel":{"type":"string","const":"payoutRequest"}}}}}}},"components/schemas/PayoutRequestChangedAllocation":{"id":"components/schemas/PayoutRequestChangedAllocation","kind":"json-schema","title":"Payout request allocation change","data":{"title":"Payout request allocation change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","allocationId","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request allocation change that triggered the webhook.","type":"string","enum":["payout-request-allocation-created","payout-request-allocation-queued","payout-request-allocation-returned-to-pending","payout-request-allocation-processing-started","payout-request-allocation-waiting-completion","payout-request-allocation-completed","payout-request-allocation-declined","payout-request-allocation-failed","payout-request-allocation-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"allocationId":{"description":"ID of the changed payout request allocation.","type":"string","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["allocation","payoutRequest","customer"],"properties":{"allocation":{"$ref":"#/components/schemas/PayoutRequestAllocation"},"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related resource.","type":"string"},"rel":{"description":"Type of related resource.","type":"string","enum":["allocation","payoutRequest"]}}}}}}},"components/schemas/PayoutRequestChangedWebhookPayload":{"id":"components/schemas/PayoutRequestChangedWebhookPayload","kind":"json-schema","title":"PayoutRequestChangedWebhookPayload","data":{"type":"object","description":"Payout request or payout request allocation change details.","discriminator":{"propertyName":"changeType","mapping":{"payout-request-created":"#/components/schemas/PayoutRequestChangedRequest","payout-request-modified":"#/components/schemas/PayoutRequestChangedRequest","payout-request-blocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-unblocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-ready":"#/components/schemas/PayoutRequestChangedRequest","payout-request-returned-to-pending":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approved":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approval-undone":"#/components/schemas/PayoutRequestChangedRequest","payout-request-processing-started":"#/components/schemas/PayoutRequestChangedRequest","payout-request-fulfilled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-payment-instrument-selected":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocated":"#/components/schemas/PayoutRequestChangedRequest","payout-request-split":"#/components/schemas/PayoutRequestChangedRequest","payout-request-merged":"#/components/schemas/PayoutRequestChangedRequest","payout-request-canceled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocation-created":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-queued":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-returned-to-pending":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-processing-started":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-waiting-completion":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-completed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-declined":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-failed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-canceled":"#/components/schemas/PayoutRequestChangedAllocation"}},"oneOf":[{"$ref":"#/components/schemas/PayoutRequestChangedRequest"},{"$ref":"#/components/schemas/PayoutRequestChangedAllocation"}]}},"components/schemas/CheckoutFormId":{"id":"components/schemas/CheckoutFormId","kind":"json-schema","title":"CheckoutFormId","data":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"}},"components/schemas/CheckoutFormFixedPlan":{"id":"components/schemas/CheckoutFormFixedPlan","kind":"json-schema","title":"Fixed quantity","data":{"title":"Fixed quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `fixed`,\ncustomers cannot choose the plan quantity.\nIf this value is set to `variable`,\ncustomers can choose the plan quantity.","type":"string","enum":["fixed"]},"quantity":{"description":"Quantity of the plan.","type":"integer","minimum":1}}}},"components/schemas/CheckoutFormVariablePlan":{"id":"components/schemas/CheckoutFormVariablePlan","kind":"json-schema","title":"Variable quantity","data":{"title":"Variable quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `variable`,\ncustomers can choose the plan quantity.\nIf this value is set to `fixed`,\ncustomers cannot choose the plan quantity.","type":"string","enum":["variable"]},"quantity":{"description":"Default plan quantity.","type":"integer"},"minimum":{"description":"Minimum plan quantity.","type":"integer","minimum":1,"default":1},"multipleOf":{"description":"Multiple by which the plan quantity increases.","type":"integer","minimum":1,"default":1},"maximum":{"description":"Maximum plan quantity.","type":"integer","minimum":1,"default":100}}}},"components/schemas/CheckoutFormPlan":{"id":"components/schemas/CheckoutFormPlan","kind":"json-schema","title":"CheckoutFormPlan","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/CheckoutFormFixedPlan","variable":"#/components/schemas/CheckoutFormVariablePlan"}},"oneOf":[{"$ref":"#/components/schemas/CheckoutFormFixedPlan"},{"$ref":"#/components/schemas/CheckoutFormVariablePlan"}]}},"components/schemas/CheckoutForm":{"id":"components/schemas/CheckoutForm","kind":"json-schema","title":"CheckoutForm","data":{"type":"object","required":["name","websiteId","plans"],"properties":{"id":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customDomain":{"description":"Custom domain for the checkout form.","type":["string","null"],"maxLength":255},"plans":{"type":"array","description":"List of plans that are applied to a customer order by default.\nPlans describe how the customer must pay for products. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","minItems":1,"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"addonPlans":{"type":"array","description":"List of add-on plans that are displayed to the customer on the payment screen.\nAdd-ons are plans that the customer has not already subscribed to.\n\nThe customer selects whether to add an add-on plan to their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"bumpPlans":{"type":"array","description":"List of bump plans that are displayed to the customer on the payment screen.\nUse bump plans to offer purchase bonuses, discounts, and deals to the customer.\n\nThe customer selects whether to purchase bump plans,\nor to use the plans that are specified in their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"accountsEnabled":{"description":"Specifies if the account is enabled.\nIf this value is `true`, the customer can sign-up and sign-in using the checkout form.","type":"boolean","default":false},"couponsEnabled":{"description":"Specifies if coupons are enabled in the checkout form.\nIf this value is `true`, the customer can use coupons in the checkout form.\nUse coupons to reward customers, generate sales, or to test new pricing strategies.","type":"boolean","default":false},"purchaseLimit":{"description":"Limits the number of purchases that can be made using a specific checkout form.\nIf a purchase limit value is set, each purchase decreases this value.\nWhen the purchases limit value reaches zero, the checkout form becomes inactive.","type":["integer","null"],"minimum":0,"default":null},"paymentMethods":{"description":"List of available payment methods.\nPayment methods must have at least one active gateway account.\nIf not specified, all available payment methods are displayed.","type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"customization":{"description":"Visual customization options for the checkout form.","type":"object","properties":{"logoId":{"description":"ID of the linked file object.","type":["string","null"],"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"summary":{"description":"Summary text.","type":["string","null"]},"buttonText":{"description":"Button text.\nUse the `{{amount}}` placeholder to display the checkout form total.","type":"string","default":"Pay {{amount}}"},"colors":{"description":"Primary color used in the checkout form and button text.","type":"object","properties":{"primary":{"description":"Primary color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"buttonText":{"description":"Button text color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed on the checkout form.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}},"tracking":{"description":"Tracking system IDs.","type":"object","properties":{"googleAnalytics":{"description":"Google Analytics tracking ID.","type":["string","null"],"example":"UA-XXXXX-YY"},"googleTagManager":{"description":"Google Tag Manager tracking ID.","type":["string","null"],"example":"GTM-XXXXX"},"gtagJs":{"description":"Google Analytics tracking ID.\nThis value is used by Google Global Site Tag (gtag.js) service.","type":["string","null"],"example":"UA-XXXXX-YY"},"facebookPixel":{"description":"Facebook Pixel tracking ID.","type":["string","null"],"example":"1234567890"},"segmentAnalytics":{"description":"Segment Analytics tracking ID.","type":["string","null"],"example":"1234567890"},"heapIo":{"description":"Heap.io tracking ID.","type":["string","null"],"example":"1234567890"}}},"requiredAdditionalFields":{"description":"List of required fields.","type":"array","items":{"type":"string"},"example":["information.companyName","information.phoneNumber"]}}},"name":{"description":"Name of the checkout form.\nThis name value is for internal display, and is not visible to your customers.\nUse this name to locate and organize your checkout forms.","type":"string"},"status":{"description":"Status of the checkout form. If the `status` value is `inactive`,\nthe checkout form URL produces a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","preview"]}}}}}}},"schema_0":{"kind":"json-schema","data":{"type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","taxjar","avalara","plaid"]},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/PostSmtpCredential"},{"$ref":"#/components/schemas/PostWebhookCredential"},{"$ref":"#/components/schemas/PostExperianCredential"},{"$ref":"#/components/schemas/PostMailgunCredential"},{"$ref":"#/components/schemas/PostOAuth2Credential"},{"$ref":"#/components/schemas/PostPostmarkCredential"},{"$ref":"#/components/schemas/PostSendGridCredential"},{"$ref":"#/components/schemas/PostAwsSesCredential"},{"$ref":"#/components/schemas/PostTaxJarCredential"},{"$ref":"#/components/schemas/PostAvalaraCredential"},{"$ref":"#/components/schemas/PostPlaidCredential"}],"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/PostSmtpCredential","webhook":"#/components/schemas/PostWebhookCredential","experian":"#/components/schemas/PostExperianCredential","mailgun":"#/components/schemas/PostMailgunCredential","oauth2":"#/components/schemas/PostOAuth2Credential","postmark":"#/components/schemas/PostPostmarkCredential","sendgrid":"#/components/schemas/PostSendGridCredential","aws-ses":"#/components/schemas/PostAwsSesCredential","taxjar":"#/components/schemas/PostTaxJarCredential","avalara":"#/components/schemas/PostAvalaraCredential","plaid":"#/components/schemas/PostPlaidCredential"}}},"id":"schema_1"}},"exampleStore":{},"securitySchemeStore":{"JWT":{"id":"JWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"JWT is a short lifetime token that can be assigned a specific expiration time."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"document","annotations":[],"slots":{}}},"ApplicationJWT":{"id":"ApplicationJWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"Applications in the Rebilly App Store can create a JSON Web Token (JWT) by fetching an user's instance."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{},"children":[],"type":"softbreak","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"For more information, see Retrieve an application instance."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"document","annotations":[],"slots":{}}},"PublishableApiKey":{"id":"PublishableApiKey","type":"apiKey","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"This authentication method is applicable to specific operations."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"To create a publishable API key, see "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"href":"https://www.rebilly.com/catalog/all/api-keys/postapikey"},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Create an API key"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"link","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"document","annotations":[],"slots":{}},"in":"header","paramName":"Authorization"},"SecretApiKey":{"id":"SecretApiKey","type":"apiKey","description":"Never share your secret keys.\nKeep them guarded and secure.\n\nUse your secret API key only to make requests from the server side.\nTo authenticate, provide your secret key in the request header.","in":"header","paramName":"REB-APIKEY"},"CustomerJWT":{"id":"CustomerJWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"To create a JSON Web Token (JWT) using Storefront authentication,"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{},"children":[],"type":"softbreak","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"see the Create a session with username and password operation."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"document","annotations":[],"slots":{}}}}},"definition":{"openapi":"3.1.1","info":{"version":"latest","title":"All APIs","contact":{"name":"Rebilly API Support","url":"https://www.rebilly.com/contact/","email":"integrations@rebilly.com"},"license":{"name":"Rebilly","url":"https://www.rebilly.com/api-license/"},"termsOfService":"https://www.rebilly.com/terms-of-use/","x-logo":{"url":"https://rebilly-core.redoc.ly/rb_apiLogo.svg","backgroundColor":"#0044d4"},"description":"# Introduction\n[comment]: <> (x-product-description-placeholder)\nThe Rebilly API is built on HTTP and is RESTful.\nIt has predictable resource URLs and returns HTTP response codes to indicate errors.\nIt also accepts and returns JSON in the HTTP body.\nUse your favorite HTTP/REST library in your programming language when using this API,\nor use one of the Rebilly SDKs,\nwhich are available in [PHP](https://github.com/Rebilly/rebilly-php) and [JavaScript](https://www.npmjs.com/package/rebilly-js-sdk).\n\nEvery action in the [Rebilly UI](https://app.rebilly.com) is supported by an API which is documented and available for use, so that you may automate any necessary workflows or processes.\nThis API reference documentation contains the most commonly integrated resources.\n\n# Authentication\n\nRebilly offers four forms of authentication: secret key, publishable key, JSON Web Tokens, and public signature key.\n\n- Secret API key: Use to make requests from the server side.\n  Never share these keys.\n  Keep them guarded and secure.\n- Publishable API key: Use in your client-side code to tokenize payment information.\n- JWT: Use to make short-life tokens that expire after a set period of time.\n\n## Manage API keys\n\nTo create or manage API keys, select one of the following:\n\n- Use the Rebilly UI: see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)\n- Use the Rebilly API: see the [API key operations](https://www.rebilly.com/catalog/all/api-keys).\n\nFor more information on API keys, see [API keys](https://www.rebilly.com/docs/concepts-and-features/concept/api-keys).\n\n# Errors\nRebilly follows the error response format proposed in [RFC 9457](https://tools.ietf.org/html/rfc9457), which is also known as Problem Details for HTTP APIs.\nAs with any API responses, your client must be prepared to gracefully handle additional members of the response.\n\n# SDKs\n\nRebilly provides a JavaScript SDK and a PHP SDK to help interact with the Rebilly API.\nHowever, no SDK is required to use the API.\n\nRebilly also provides [FramePay](https://www.rebilly.com/docs/developer-docs/framepay/),\na client-side iFrame-based solution, to help create payment tokens while minimizing PCI DSS compliance burdens\nand maximizing your customization ability.\n[FramePay](https://www.rebilly.com/docs/developer-docs/framepay/) interacts with the [payment tokens creation operation](https://www.rebilly.com/catalog/all/payment-tokens/posttoken).\n\n## JavaScript SDK\n\nFor installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/).\nAll JavaScript SDK code examples are included in the API reference documentation.\n\n## PHP SDK\n\nFor installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/).\nAll SDK code examples are included in the API reference documentation.\nTo use them, you must configure the `$client` as follows:\n\n```php\n$client = new Rebilly\\Client([\n    'apiKey' => 'YourApiKeyHere',\n    'baseUrl' => 'https://api.rebilly.com',\n]);\n```\n\n# Get started\n\nThe full [Rebilly API](https://www.rebilly.com/catalog/all/) has over 500 operations.\nThis is likely more than you may need to implement your use cases.\nIf you would like to implement a particular use case,\n[contact Rebilly](https://www.rebilly.com/support/) for guidance and feedback on the best API operations to use for the task.\n\nTo integrate Rebilly, and learn about related resources and concepts,\nsee [Get started](https://www.rebilly.com/docs/dev-docs#get-started).\n\nTo create and manage API keys, see [API keys](https://www.rebilly.com/docs/dev-docs/api-keys/).\n\n# Rate limits\n\nRate limits apply to the organization, not to the API key.\n\nAPI responses for rate-limited operations include `Rate-Limit-Limit` and `Rate-Limit-Remaining`.\n`Rate-Limit-Limit` is the maximum number of requests available at one time.\n`Rate-Limit-Remaining` is the number of requests still available.\n\nA request over the limit returns `429 Too Many Requests`.\nThe response includes `Retry-After` and `Rate-Limit-Retry-After`.\nBoth values are the number of seconds to wait before retrying.\n","x-metadata":{"description":"All Rebilly APIs.","redocly_category":"API Reference"}},"security":[{"SecretApiKey":[]},{"JWT":[]}],"servers":[{"url":"https://api-sandbox.rebilly.com/organizations/{organizationId}","description":"Sandbox server","variables":{"organizationId":{"default":"{organizationId}","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id)."}}},{"url":"https://api.rebilly.com/organizations/{organizationId}","description":"Live server","variables":{"organizationId":{"default":"{organizationId}","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id)."}}}],"components":{"securitySchemes":{"JWT":{"description":"JWT is a short lifetime token that can be assigned a specific expiration time.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"},"ApplicationJWT":{"description":"Applications in the Rebilly App Store can create a JSON Web Token (JWT) by fetching an user's instance.\nFor more information, see Retrieve an application instance.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"},"PublishableApiKey":{"description":"This authentication method is applicable to specific operations.\n\nTo create a publishable API key, see [Create an API key](https://www.rebilly.com/catalog/all/api-keys/postapikey).","name":"Authorization","type":"apiKey","in":"header"},"SecretApiKey":{"description":"Never share your secret keys.\nKeep them guarded and secure.\n\nUse your secret API key only to make requests from the server side.\nTo authenticate, provide your secret key in the request header.","name":"REB-APIKEY","type":"apiKey","in":"header"},"CustomerJWT":{"description":"To create a JSON Web Token (JWT) using Storefront authentication,\nsee the Create a session with username and password operation.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"collectionLimit":{"name":"limit","in":"query","description":"Limit the number of collection items to be returned.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.","schema":{"type":"integer","minimum":0,"maximum":1000}},"collectionOffset":{"name":"offset","in":"query","description":"Specifies the starting point within the collection of items to be returned.","schema":{"type":"integer","minimum":0,"maximum":1000}},"collectionSort":{"name":"sort","in":"query","description":"Sorts and orders the collection of items. To sort in descending\norder, prefix with `-`. Multiple fields can be sorted by separating each with `,`.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},"collectionFilter":{"name":"filter","in":"query","description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","schema":{"type":"string"}},"collectionQuery":{"name":"q","in":"query","description":"Use this field to perform a partial search of text fields.","schema":{"type":"string"}},"resourceId":{"name":"id","in":"path","description":"ID of the resource.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"collectionFields":{"name":"fields","in":"query","description":"Limits the returned fields to the specified list, each field separated by a comma.\nThe ID value is always returned.","schema":{"type":"string"}},"customFieldResource":{"name":"resource","in":"path","description":"Type of resource schema.","required":true,"schema":{"type":"string","enum":["customers","payment-instruments","orders","subscriptions","transactions","websites","products","plans","gateway-accounts","deposit-requests"]}},"collectionExpand":{"name":"expand","in":"query","description":"Expands a request to include embedded objects within the `_embedded`\nproperty of the response. This field accepts a comma-separated list of objects.\n\nFor more information, see\n[Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"externalIdentifierResource":{"name":"resource","in":"path","description":"Type of resource.","required":true,"schema":{"type":"string","enum":["customers","invoices","invoice-items","transactions","journal-accounts","journal-entries"]}},"externalIdentifierResourceId":{"name":"resourceId","in":"path","description":"ID of the resource.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"externalIdentifierService":{"name":"service","in":"path","description":"Name of the external service.","required":true,"schema":{"type":"string","enum":["quickbooks-online"]}},"imageSize":{"name":"imageSize","in":"query","description":"Resize image to specified size.\nSupports any sizes from 10x10 to 2000x2000, in the following format: `{width}x{height}`.\nIf the value is invalid, the image returns the original size.\nThis parameter is ignored for non-image files.","schema":{"type":"string","example":"700x700","pattern":"^[1-9]{1}[0-9]{1,3}x[1-9]{1}[0-9]{1,3}$"}},"applicationId":{"name":"applicationId","in":"path","description":"Unique identifier of the application.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"organizationId":{"name":"organizationId","in":"path","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"invoiceCollectionLimit":{"name":"limit","in":"query","description":"Limit the number of invoices to return.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.\nValues greater than `100` are treated as `100`.","schema":{"type":"integer","minimum":0,"maximum":100}},"mediaTypeJsonPdf":{"name":"Accept","in":"header","description":"Type of response media.","schema":{"type":"string","enum":["application/json","application/pdf"],"default":"application/json"}},"orderExpand":{"name":"expand","in":"query","description":"Expand a response to receive a full related object in the `_embedded` path.\n\nTo expand multiple objects, use a comma-separated list.\nExample: `expand=customer,activationInvoice`.\n\nAvailable arguments are:\n\n  - `customer`\n  - `activationInvoice`\n  - `recentInvoice`\n  - `upcomingInvoice`\n  - `paymentInstrument`\n  - `website`\n\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"subscriptionCollectionLimit":{"name":"limit","in":"query","description":"Limit the number of subscriptions to return.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.\nWhen `expand` includes `initialInvoice` or `recentInvoice`, cap values greater than `100` at `100`.","schema":{"type":"integer","minimum":0,"maximum":1000}},"subscriptionExpand":{"name":"expand","in":"query","description":"Expand a response to receive a full related object in the `_embedded` path.\n\nTo expand multiple objects, use a comma-separated list.\nExample: `expand=recentInvoice,initialInvoice`.\n\nAvailable arguments are:\n\n  - `customer`\n  - `leadSource`\n  - `website`\n  - `shippingRate`\n  - `initialInvoice`\n  - `recentInvoice`\n  - `upcomingInvoice`\n  - `paymentInstrument`\n\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"tag":{"name":"tag","in":"path","description":"Name of the tag.","required":true,"schema":{"type":"string","pattern":"^[@~\\-\\.\\w\\s+]+$"}},"customerId":{"name":"customerId","in":"path","description":"ID of the customer.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"kycDocumentId":{"name":"kycDocumentId","in":"path","description":"ID of the KYC document.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"credentialType":{"name":"type","in":"path","description":"Type of service credential.","required":true,"schema":{"type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","taxjar","avalara","plaid"]}},"token":{"name":"token","in":"path","description":"Token string.","required":true,"schema":{"type":"string"}},"systemEventType":{"name":"eventType","in":"path","description":"Type of event.","required":true,"schema":{"type":"string"}},"rulesVersion":{"name":"version","in":"path","required":true,"description":"Version of the ruleset.\n\nTo retrieve the full related object instead of the ID, expand the response.\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"integer","minimum":1}},"integrationLabel":{"name":"label","in":"path","description":"Label of the integration.","required":true,"schema":{"type":"string","enum":["google-sheets","intuit-quickbooks"]}},"collectionCriteria":{"name":"criteria","in":"query","description":"Criteria parameter for requesting a collection.","schema":{"type":"string"}},"mediaTypeJsonPdfCsv":{"name":"Accept","in":"header","description":"Type of response media.","schema":{"type":"string","enum":["application/json","application/pdf","text/csv"],"default":"application/json"}},"storefrontCustomFieldResource":{"name":"resource","in":"path","description":"Type of resource schema.","required":true,"schema":{"type":"string","enum":["customers","payment-instruments","subscriptions","transactions"]}}},"headers":{"Pagination-Total":{"description":"Total number of items that match the request.\nThe value is independent of `limit`, including when `limit` is `0`.","schema":{"type":"integer"},"example":332},"Pagination-Limit":{"description":"Maximum number of items per page.","schema":{"type":"integer"},"example":100},"Pagination-Offset":{"description":"Specifies the starting point within the\ncollection of resource results. For example, a request with\n`limit=20` retrieves and displays the first 20 results on a page. A\nfollowing request with `limit=20` and `offset=20`, retrieves the next\npage of 20 results.","schema":{"type":"integer"},"example":2},"Location":{"description":"Location of the related resource.","schema":{"type":"string","format":"uri"},"example":"https://api.rebilly.com/example"},"Rate-Limit-Limit":{"description":"Maximum number of requests available at one time for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":500},"Rate-Limit-Remaining":{"description":"Number of requests still available for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":499},"Rate-Limit-Retry-After":{"description":"Number of seconds to wait before retrying the request.","schema":{"type":"integer"},"example":1}},"schemas":{"CreatedTime":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Creation Time"},"UpdatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Update Time"},"ResourceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"SelfLink":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}},"AML":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the individual, or name of entity.","readOnly":true,"example":"Benjamin"},"lastName":{"type":["string","null"],"description":"Last name of the individual.\nThis field returns a `null` value for single-named entities.","readOnly":true,"example":"Franklin"},"source":{"type":"string","readOnly":true,"description":"Describes which list the result is from."},"sourceType":{"readOnly":true,"description":"Describes the categories of the individual or entity.","type":"array","example":["sanctions","enforcements"],"items":{"type":"string","enum":["pep","sanctions","adverse-media","enforcements","state-owned-enterprise"]}},"gender":{"type":["string","null"],"readOnly":true,"description":"If `type`=`individual`, this field describes the gender of the individual."},"title":{"type":["array","null"],"readOnly":true,"description":"Individual's job title.","example":["Postmaster General","Ambassador to France","Ambassador to Sweden","Supreme Executive Council of Commonwealth of Pennsylvania"],"items":{"type":"string"}},"type":{"type":"string","readOnly":true,"description":"Describes whether the source is an individual or an entity.","enum":["individual","entity"]},"legalBasis":{"type":"array","readOnly":true,"description":"List of references to legal documents, if they exist.","items":{"type":"string"}},"regime":{"type":["string","null"],"readOnly":true,"description":"Describes the government, administration, or political entity.","example":"United States Government"},"confidence":{"type":"string","description":"Degree of confidence in the source list information.","readOnly":true,"enum":["weak","medium","strong","very-strong"]},"nationality":{"type":"string","readOnly":true,"description":"Nationality of the individual or entity."},"address":{"type":"array","readOnly":true,"description":"Addresses associated with the individual or entity.","items":{"type":"object","properties":{"address":{"type":["string","null"],"readOnly":true,"description":"Street address line 1."},"address2":{"type":["string","null"],"readOnly":true,"description":"Street address line 2."},"city":{"type":["string","null"],"readOnly":true,"description":"City."},"region":{"type":["string","null"],"readOnly":true,"description":"State, province, or region."},"country":{"type":["string","null"],"readOnly":true,"description":"Country."},"birthplace":{"type":"boolean","default":false,"readOnly":true,"description":"Individual's place of birth."}}}},"dob":{"type":"array","readOnly":true,"description":"One or more possible dates of birth.","items":{"type":"string","readOnly":true,"description":"Date of birth.","format":"date","example":"1706-01-17"}},"aliases":{"type":"array","readOnly":true,"description":"List of aliases, if any.","items":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of alias.","readOnly":true},"lastName":{"type":"string","description":"Last name of alias.","readOnly":true},"authenticity":{"type":"string","description":"Degree of confidence in the alias.","readOnly":true,"enum":["strong","weak","unknown"]}}}},"passport":{"type":"array","readOnly":true,"description":"Individual's passport information.","items":{"type":"object","properties":{"number":{"type":"string","readOnly":true,"description":"Passport number."},"registrationDate":{"type":"string","format":"date","readOnly":true,"description":"Passport registration date."}}}},"comments":{"type":["string","null"],"readOnly":true,"description":"Additional information.\nThis content varies per list."},"metadata":{"type":["object","null"],"readOnly":true,"description":"Additional metadata on AML sources, when available.","properties":{"lookupId":{"type":"string","readOnly":true,"description":"Direct lookup identifier for the LexisNexis WorldCompliance Online Search Tool.","example":"1E66DAD6-A2E2-4DCB-BCAF-8CC92CD1DDEC"}}},"matchDetails":{"type":["object","null"],"description":"Details of the matching logic and confidence scoring.","properties":{"confidenceFactors":{"type":"array","readOnly":true,"description":"List of factors that contributed to the confidence score calculation.","items":{"type":"string","enum":["confidence_exact_country","confidence_mismatch_country","confidence_missing_country","confidence_exact_dob","confidence_mismatch_dob","confidence_missing_dob","confidence_exact_yob","confidence_inexact_yob","confidence_strong_hit_relevance","confidence_weak_hit_relevance","confidence_exact_full_name","confidence_fuzzy_full_name"]}},"matchCriteria":{"type":"array","readOnly":true,"description":"List of specific criteria that matched against the watchlist.","items":{"type":"string","enum":["match_exact_name","match_phonetic_first_name","match_phonetic_last_name","match_exact_full_name","match_aka_exact_name","match_aka_phonetic_first_name","match_aka_phonetic_last_name","match_aka_exact_full_name","match_fuzzy_nationality","match_exact_address","match_exact_city","match_exact_region","match_exact_country","match_exact_post_code"]}}}},"decision":{"type":["string","null"],"readOnly":true,"description":"Reviewer decision for this hit.\nThis value is `null` if the hit has not been decided yet.","enum":["confirmed-match","false-positive",null],"example":"false-positive"},"decisionInherited":{"type":"boolean","readOnly":true,"default":false,"description":"Specifies if the decision is copied from an earlier AML check instead of recorded by a reviewer.\nThe decision is copied from a matching hit on the previous AML check of the same customer or of a related customer,\nor from the `false-positive` status of an earlier AML check of the same customer or a related customer.","example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Tag":{"type":"object","description":"Use tags to organise and categorize customers or KYC documents based on keywords.\nFor more information, see [Tags](https://www.rebilly.com/docs/dev-docs/api/tags/).","required":["name","type"],"properties":{"id":{"description":"ID of the tag.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"name":{"description":"Unique name for the tag.\nTag names are not case-sensitive.","type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w\\s+]+$","example":"New"},"type":{"description":"Type of tag.\nTags of a specific type can only be assigned to corresponding entity types.\nFor example, you can only use customer tags on customers.","type":"string","enum":["customer","kyc-document","aml-check"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AmlCheck":{"type":"object","readOnly":true,"description":"AML check result.","properties":{"id":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"websiteId":{"type":"string","description":"Website ID associated with the customer.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"reviewerId":{"type":["string","null"],"maxLength":50,"description":"User ID of the person who reviewed the AML check.","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerType":{"type":["string","null"],"readOnly":true,"description":"Type of reviewer for the current review outcome.","enum":["human","bot"],"example":"bot"},"reviewerName":{"type":["string","null"],"description":"First and last name of the person who reviewed the AML check.\nIf the result is inherited, this field is set to \"bot\"."},"reviewStartTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is started."},"reviewTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is completed."},"priority":{"type":["string","null"],"default":null,"description":"Highest matched priority of all hits within an AML check."},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"status":{"type":"string","description":"Status of the AML check.","readOnly":true,"enum":["pending-review","in-review","no-match","confirmed-match","false-positive"],"x-enumDescriptions":{"pending-review":"Possible AML match detected and waiting to be manually reviewed.","in-review":"A manual AML match review is in progress, or at least one hit has no decision yet.","no-match":"No possible AML match detected.","confirmed-match":"Possible AML match manually reviewed and marked as confirmed.","false-positive":"Possible AML match manually reviewed and marked as false positive."}},"customer":{"type":"object","properties":{"id":{"description":"ID of the customer.","$ref":"#/components/schemas/ResourceId"},"primaryAddress":{"type":"object","description":"Customer's data at the time of the AML check.","properties":{"firstName":{"type":"string","maxLength":45,"description":"Customer's first name at the time of the AML check."},"lastName":{"type":"string","maxLength":45,"description":"Customer's last name at the time of the AML check."},"dob":{"type":["string","null"],"format":"date","description":"Customer's date of birth.","example":"1971-02-14"},"address":{"description":"First line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Customer's city of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Customer's region of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"type":["string","null"],"description":"Customer's country of residence at the time of the AML check."},"postalCode":{"description":"Customer's postal code at the time of the AML check.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"}}},"organizationId":{"type":"string","description":"ID of the customer's organization.","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}}},"hits":{"description":"List of hits returned during the AML check.","type":"array","items":{"$ref":"#/components/schemas/AML"}},"tags":{"description":"List of AML check tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"provenance":{"type":["object","null"],"readOnly":true,"description":"Origin of the AML check result.","properties":{"inherited":{"type":"boolean","description":"Specifies if the result is inherited from a previous AML check.","example":true},"inheritedFromAmlCheckId":{"type":"string","description":"ID of the AML check from which the check inherits its result.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"scope":{"type":"array","description":"Scope of what is inherited from the source AML check.","items":{"type":"string","enum":["status-only"]},"example":["status-only"]},"reasons":{"type":"array","description":"Reasons that triggered the inheritance of the result.","items":{"type":"string","enum":["customer_duplicated_by_person_exact_match","customer_duplicated_by_primary_phone_number_exact_match","customer_previous_check_exact_match"],"x-enumDescriptions":{"customer_duplicated_by_person_exact_match":"Customer identity exactly matched a check on another customer","customer_duplicated_by_primary_phone_number_exact_match":"Customer primary phone number exactly matched a check on another customer","customer_previous_check_exact_match":"Customer data exactly matched a previous check on the same customer"}},"example":["customer_duplicated_by_person_exact_match"]}}},"noMatchReason":{"readOnly":true,"description":"Reason for the no-match result.","type":["string","null"],"enum":["no_hits_found","mismatched_hits","hits_are_below_relevance_score_threshold","internal_system_error"],"example":"no_hits_found"},"noMatchDetails":{"readOnly":true,"description":"List of codes that explain the no-match result.","type":"array","items":{"type":"string"},"example":["top_hit_not_eligible_for_matching","search_shard_failures"]},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"BaseProblem":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem."},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem."},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}},"Unauthorized":{"allOf":[{"title":"Unauthorized"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":401,"maximum":401}}},{"$ref":"#/components/schemas/BaseProblem"}]},"Forbidden":{"allOf":[{"title":"Forbidden"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":403,"maximum":403},"error":{"type":"string","description":"Message that describes why the request is forbidden.\nMost responses use a descriptive message, such as `Not allowed to change security settings`.\nIf the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.\nIf the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`."}}},{"$ref":"#/components/schemas/BaseProblem"}]},"NotFound":{"allOf":[{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":404,"maximum":404}}},{"$ref":"#/components/schemas/BaseProblem"}]},"InvalidFields":{"type":"array","description":"Invalid field details.","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]},"ValidationError":{"allOf":[{"title":"Validation error"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/BaseProblem"},{"type":"object","properties":{"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}}]},"TooManyRequests":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"about:blank"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem.","example":"Rate Limit Exceeded"},"status":{"type":"integer","description":"HTTP status code.","minimum":429,"maximum":429},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem.","example":"A request cannot be executed because the user has sent too many requests within a certain period of time"},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}},"AmlHitDecision":{"type":"object","description":"Decision for one hit of an AML check.","required":["index","decision"],"properties":{"index":{"type":"integer","minimum":0,"description":"Zero-based position of the hit in the `hits` array of the AML check.","example":0},"decision":{"type":"string","description":"Outcome of the review of the hit.","enum":["confirmed-match","false-positive"],"x-enumDescriptions":{"confirmed-match":"The hit is the customer.","false-positive":"The hit is not the customer."},"example":"false-positive"}}},"AmlCheckReview":{"type":"object","description":"AML check review.\nProvide a status, a list of hit decisions, or both.\nThe status of the AML check is calculated from the hit decisions.","anyOf":[{"required":["status"]},{"required":["hits"]}],"properties":{"status":{"type":"string","description":"Decision applied to every hit that has no decision yet.\nIf `hits` is also provided, those decisions apply first.\nIf every hit already has a decision and this value differs from the status those decisions give, it replaces the decision on every hit that is not listed in `hits`.\nIf it equals that status, the decided hits are left as they are.\nIf the AML check has no hits, this value becomes the status of the AML check.","enum":["confirmed-match","false-positive"]},"hits":{"type":"array","description":"Decisions for individual hits.","minItems":1,"items":{"$ref":"#/components/schemas/AmlHitDecision"}}}},"AmlConfidence":{"type":["string","null"],"description":"Degree of confidence to assign.","enum":["weak","medium","strong","very-strong"]},"AmlCompoundConfidence":{"type":"object","properties":{"addressMatch":{"type":"object","description":"Match for the customer's city or region, or both, is found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"addressMismatch":{"type":"object","description":"Match for the customer's city or region, or both, is not found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"noAddress":{"type":"object","description":"No city and no region is available to match against.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}}}},"AmlPriority":{"type":["string","null"],"description":"Priority level of matched AML customer information.","default":null,"enum":["p0","p1","p2","p3"]},"AmlSettings":{"type":"object","description":"Settings for AML checking.","properties":{"confidence":{"type":"object","description":"Confidence level settings for AML matches.","properties":{"dob":{"type":"object","description":"Confidence level settings for AML matches based on date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's date of birth and name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's date of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"noDob":{"type":"object","description":"Confidence level settings for AML matches based on a missing date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Fuzzy, or inexact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"weakMatch":{"description":"Weak match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"yob":{"type":"object","description":"Confidence level settings for AML matches based on year of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's year of birth and exact name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"inexactYob":{"type":"object","description":"Confidence level settings for AML matches based on a near match of year of birth.","properties":{"exactMatch":{"description":"Near match of the customer's year of birth and an exact name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Near match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}}}},"priority":{"type":"object","description":"Priority level settings for AML source matches. \\\n`p0` is critical priority level, and `p3` is low priority level.","properties":{"pep":{"type":"object","description":"Priorities for the `pep` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"enforcements":{"type":"object","description":"Priorities for the `enforcement` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"stateOwnedEnterprise":{"type":"object","description":"Priorities for the `state-owned-enterprise` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"sanctions":{"type":"object","description":"Priorities for the `sanctions` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"adverseMedia":{"type":"object","description":"Priorities for the `adverse-media` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}}}}}},"Attachment":{"type":"object","required":["fileId","relatedId","relatedType"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the attachment.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"},"fileId":{"type":"string","description":"ID of the linked file object.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"relatedType":{"description":"Linked object type.","type":"string","enum":["credit-memo-timeline-comment","customer","customer-timeline-comment","dispute","gateway-timeline-comment","invoice","invoice-timeline-comment","order-timeline-comment","organization","payment","payout-request-timeline-comment","plan","product","quote-timeline-comment","subscription","transaction","transaction-timeline-comment"]},"relatedId":{"description":"ID of the linked object.","type":"string"},"name":{"description":"Name of original attachment.","type":"string"},"description":{"description":"Description of the attachment.","type":"string"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","file"]}}}}}},"Conflict":{"allOf":[{"title":"Conflict"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":409,"maximum":409}}},{"$ref":"#/components/schemas/BaseProblem"}]},"AuthenticationOptions":{"type":"object","properties":{"passwordPattern":{"description":"Allowed password pattern.","type":["string","null"],"example":"/^[0-9]+$/"},"credentialTtl":{"description":"Default credential lifetime, in seconds.","type":"integer"},"authTokenTtl":{"description":"Default auth-token lifetime, in seconds.","type":"integer"},"resetTokenTtl":{"description":"Default reset-token lifetime, in seconds.","type":"integer"},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange a token.","type":"boolean"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerId":{"type":"string","description":"ID of the customer resource.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","x-basic":true},"AuthenticationTokenResponse":{"type":"object","title":"Authentication token","required":["username"],"properties":{"username":{"description":"Username of the customer who is associated with the authentication token.","type":"string"},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationTokenPasswordMode":{"type":"object","required":["username","password"],"properties":{"username":{"description":"Username associated with the authentication token.","type":"string"},"password":{"description":"Password associated with the authentication token.","type":"string","format":"password","writeOnly":true},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["password"]},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationTokenPasswordlessMode":{"type":"object","required":["customerId"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["passwordless"]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationToken":{"type":"object","discriminator":{"propertyName":"mode","mapping":{"password":"#/components/schemas/AuthenticationTokenPasswordMode","passwordless":"#/components/schemas/AuthenticationTokenPasswordlessMode"}},"oneOf":[{"$ref":"#/components/schemas/AuthenticationTokenPasswordMode"},{"$ref":"#/components/schemas/AuthenticationTokenPasswordlessMode"}]},"ApiKeyScope":{"type":"object","properties":{"organizationId":{"description":"Array of account IDs.","type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"productId":{"description":"Array of product IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"planId":{"description":"Array of plan IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}},"customFieldName":{"description":"Array of custom field names.","type":"array","items":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}},"example":{"organizationId":["organizationId-id-1"]}},"AclPermissions":{"type":"array","items":{"type":"string","format":"operationId"},"example":["PostFile","StorefrontGetAccount","StorefrontGetWebsite","StorefrontGetKycDocument","StorefrontPostKycDocument"]},"Acl":{"type":"array","description":"Access Control List (ACL) information.","items":{"type":"object","required":["scope","permissions"],"properties":{"scope":{"description":"Scope of the API key.","$ref":"#/components/schemas/ApiKeyScope"},"permissions":{"description":"If you are creating a restricted API key, use this field to specify individual permissions.\nUse the wildcard character `*` to provide full access.","$ref":"#/components/schemas/AclPermissions"}}}},"CustomerJWT":{"type":"object","properties":{"id":{"type":"string","description":"ID of the session.","maxLength":50,"example":"jwt_0YV7DEJX80CDRAKVTV478ZNJDR","readOnly":true},"type":{"description":"Type of session.","type":"string","readOnly":true,"enum":["customer"]},"token":{"description":"Token used for authentication.","type":"string","readOnly":true},"invalidate":{"description":"Specifies if the token must be invalidated after the exchange is performed.","type":"boolean","default":true,"example":true,"writeOnly":true},"oneTimePassword":{"description":"One-time password that is sent by email.\nThis value must contain digits only.","type":"string","pattern":"^[0-9]{6}$","example":"123456","writeOnly":true},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"acl":{"$ref":"#/components/schemas/Acl"},"customClaims":{"type":"object","additionalProperties":true,"example":{"documents":["identity-proof","address-proof"],"redirectUrl":"https://mywebsite.com"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"expiredTime":{"description":"Date and time when the session expires.\nThe default value is one hour after the `createdTime` value.","type":"string","format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["customer"]}}}}}},"Blocklist":{"type":"object","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the blocklist.","readOnly":true,"maxLength":50,"example":"blkl_0YV8XTSH9MD578386XQDWSEBNF"},"type":{"description":"Type of blocklist.","type":"string","enum":["payment-card","bank-account","customer-id","email","email-domain","ip-address","country","fingerprint","bin","address"]},"value":{"description":"Value of the blocklist.","type":"string"},"expirationTime":{"description":"Date and time when the blocklist expires.","type":["string","null"],"format":"date-time"},"source":{"description":"Source that triggered the creation of the blocklist.","type":["string","null"],"readOnly":true,"enum":["automated-blocklists","manual-blocklists","risk-score-rules"],"example":"manual-blocklists"},"entityId":{"type":["string","null"],"readOnly":true,"description":"ID of the user, transaction or dispute that triggered the creation of the blocklist.","example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CouponRestrictionDiscountPerRedemption":{"type":"object","description":"Restricts the number of times that the coupon can be applied by one\nredemption. For example, use this restriction to configure a coupon\nthat can only be applied to the first subscription renewal of a\nparticular product.","required":["type","quantity"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["discounts-per-redemption"]},"quantity":{"type":"integer","description":"Permitted number of discounts per redemption."}}},"CurrencyCode":{"type":"string","description":"Currency code in ISO 4217 format.","minLength":3,"maxLength":3,"example":"USD","x-label":"Currency"},"CouponRestrictionMaximumOrderAmount":{"type":"object","description":"Specifies a maximum order amount for a coupon application.\nFor example, if the restriction amount is $20, \nthe coupon is only applied to invoices with a total amount of $20 or less.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["maximum-order-amount"]},"amount":{"type":"number","format":"double","description":"Maximum order amount that is allowed to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"CouponRestrictionMinimumOrderAmount":{"type":"object","description":"Specifies a minimum order amount for a coupon application. For\nexample, if the restriction amount is $20, the coupon is only\napplied to invoices with a total amount of $20 or more.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["minimum-order-amount"]},"amount":{"type":"number","format":"double","description":"Minimum order quantity that is required to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"CouponRestrictionPaidByTime":{"type":"object","description":"Specifies a date and time at which a coupon redemption expires if the invoice is not paid.","required":["type","time"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["paid-by-time"]},"time":{"type":"string","format":"date-time","description":"Date and time when a coupon redemption is no longer valid, and the coupon is removed from unpaid invoices if applied.\n\n> **Note:** This date-time cannot be changed."}}},"CouponRestrictionRestrictToInvoices":{"type":"object","description":"Restricts a coupon to specific invoices.","required":["type","invoiceIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-invoices"]},"invoiceIds":{"type":"array","description":"Invoice IDs on which a coupon can be applied.","items":{"type":"string"}}}},"CouponRestrictionRestrictToPlans":{"type":"object","description":"Restricts a coupon to specific pricing plans.","required":["type","planIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-plans"]},"planIds":{"type":"array","description":"Plan IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}},"CouponRestrictionRestrictToProducts":{"type":"object","description":"Restricts a coupon to specific products.","required":["type","productIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-products"]},"productIds":{"type":"array","description":"Product IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}},"CouponRestrictionRestrictToSubscriptions":{"type":"object","description":"Restricts a coupon to specific order subscriptions.","required":["type","subscriptionIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-subscriptions"]},"subscriptionIds":{"type":"array","description":"Subscription IDs on which a coupon can be applied.","items":{"type":"string"}}}},"RedemptionRestriction":{"description":"Redemption restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}]},"CouponRedemption":{"type":"object","description":"Coupon redemption log.","properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"cpn_rdm_01HXC82EEPW6YD3MPWJY7151VR"},"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"additionalRestrictions":{"description":"Additional coupon redemption restrictions.","type":"array","items":{"$ref":"#/components/schemas/RedemptionRestriction"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"canceledTime":{"description":"Date and time when the coupon is canceled.","readOnly":true,"x-sortable":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","coupon"]}}}}}},"DiscountContext":{"type":"string","description":"Context in which the discount applies.","default":"items","x-label":"Context","x-sortable":true,"x-basic":true,"x-enumDescriptions":{"items":"items (less discounts)","shipping":"shipping (less discounts)","items-and-shipping":"items and shipping (less discounts)"},"enum":["items","shipping","items-and-shipping"]},"DiscountFixed":{"type":"object","description":"Coupon fixed amount discount.","required":["amount","currency","type"],"properties":{"amount":{"description":"Amount of discount.","type":"number","format":"double","minimum":0.01},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"type":"string","enum":["fixed"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}},"DiscountPercent":{"type":"object","description":"Coupon percent discount.","required":["value","type"],"properties":{"value":{"description":"Percentage of discount.","type":"number","format":"double","minimum":0.01,"maximum":100},"type":{"type":"string","enum":["percent"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}},"Discount":{"type":"object","description":"Coupon discount.","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/DiscountFixed","percent":"#/components/schemas/DiscountPercent"}},"oneOf":[{"$ref":"#/components/schemas/DiscountFixed"},{"$ref":"#/components/schemas/DiscountPercent"}]},"CouponRestrictionRedemptionsPerCustomer":{"type":"object","description":"Restricts the number of times that a coupon can be redeemed by one\ncustomer. For example, use this restriction to limit the number of\nredemptions to one per customer.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["redemptions-per-customer"]},"quantity":{"type":"integer","description":"Permitted number of redemptions per customer."}}},"CouponRestrictionRestrictToBxgy":{"type":"object","description":"Provides \"buy X get Y\" promotions.\nThese promotions incentivize new customers to buy and also reward existing customers.\nThis restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\nFor example, if a customer buys two or more books, they get one free bookmark.","required":["type","buy","get"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-bxgy"]},"buy":{"type":"array","description":"One or more plan and quantity definitions that must be purchased to receive all plans and quantities that are defined in the `get` instruction.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item being purchased.\nThis value must be unique within the `buy.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that must be purchased for this restriction to apply."}}}},"get":{"type":"array","description":"One or more plan and quantity definitions that are added to a purchase if all definitions in the `buy` condition are met.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item that is to be received by the customer.\nThis value must be unique within the `get.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that is to be received by the customer."}}}}}},"CouponRestrictionRestrictToCountries":{"type":"object","description":"Restricts a coupon for use in specific countries.","required":["type","countries"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-countries"]},"countries":{"type":"array","description":"Countries where the coupon can be applied, in ISO Alpha-2 code format.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","items":{"type":"string","pattern":"^[A-Z]{2}$"}}}},"CouponRestrictionRestrictToCustomerTags":{"type":"object","description":"Restricts a coupon to customers with specific tags.","required":["type","tags","requireAllTags"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customer-tags"]},"tags":{"type":"array","description":"Customer tags on which a coupon can be applied.","items":{"type":"string"}},"requireAllTags":{"type":"boolean","description":"Specifies if the customer must have all listed tags,\nor at least one of the listed tags, to redeem a coupon.","enum":[true,false],"x-enumDescriptions":{"true":"Customer must have all listed tags to redeem a coupon.","false":"Customer must have at least one of the listed tags to redeem a coupon."}}}},"CouponRestrictionRestrictToCustomers":{"type":"object","description":"Restricts a coupon to specific customers.","required":["type","customerIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customers"]},"customerIds":{"type":"array","description":"Customer IDs on which a coupon can be applied.","items":{"type":"string"}}}},"CouponRestrictionExclusiveApplication":{"type":"object","description":"Restricts a coupon so that it cannot be used in combination with other coupons.\nIf more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined.\nIf a coupon with this restriction is applied, all other coupons are removed.","required":["type"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-exclusive-application"]}}},"CouponRestrictionTotalRedemptions":{"type":"object","description":"Restricts the number of times a coupon can be redeemed by different customers.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["total-redemptions"]},"quantity":{"type":"integer","description":"Permitted total number of redemptions."}}},"CouponRestriction":{"description":"Coupon restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","redemptions-per-customer":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer","restrict-to-bxgy":"#/components/schemas/CouponRestrictionRestrictToBxgy","restrict-to-countries":"#/components/schemas/CouponRestrictionRestrictToCountries","restrict-to-customer-tags":"#/components/schemas/CouponRestrictionRestrictToCustomerTags","restrict-to-customers":"#/components/schemas/CouponRestrictionRestrictToCustomers","restrict-to-exclusive-application":"#/components/schemas/CouponRestrictionExclusiveApplication","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions","total-redemptions":"#/components/schemas/CouponRestrictionTotalRedemptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionExclusiveApplication"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToBxgy"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCountries"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomerTags"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomers"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"},{"$ref":"#/components/schemas/CouponRestrictionTotalRedemptions"}]},"Coupon":{"type":"object","description":"Coupons and discounts.","required":["discount","issuedTime"],"properties":{"id":{"type":"string","description":"ID of the coupon.\nThis value is also known as the coupon redemption code.","readOnly":true,"maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"discount":{"$ref":"#/components/schemas/Discount"},"restrictions":{"description":"Coupon restrictions.\nAll `type` values in this array must be unique.","type":"array","items":{"$ref":"#/components/schemas/CouponRestriction"}},"redemptionsCount":{"type":"integer","description":"Total number of times that a coupon is redeemed.","minimum":0,"readOnly":true},"status":{"type":"string","description":"Specifies the current status of the coupon.","readOnly":true,"enum":["draft","issued","expired"]},"description":{"type":"string","x-basic":true,"description":"Description of the coupon.\nUse this field to provide a description for the invoice discount item.\n\nIf this field is empty,\nthe invoice discount item description uses the related coupon ID,\nin the following format: `Coupon \"COUPON-ID\"`."},"issuedTime":{"description":"Date and time when the coupon is issued.\nThis value may also be described as start time of the coupon.","type":"string","x-label":"Valid from","x-sortable":true,"x-basic":true,"format":"date-time"},"expiredTime":{"description":"Date and time when the coupon expires.","type":["string","null"],"x-label":"Valid until","x-sortable":true,"x-basic":true,"format":"date-time"},"revision":{"description":"Number of times the coupon data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerCredential":{"type":"object","required":["username","password","customerId"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":50,"example":"cus_crd_0YV9Y706QGCB39FQD380G1ZHZH"},"username":{"description":"Username associated with the credential.","type":"string"},"password":{"description":"Password associated with the credential.","type":"string","format":"password","writeOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"expiredTime":{"description":"Date and time when the credential expires.","type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"ArrayCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nArray of strings with up to 255 characters.\nThe maximum size is 1000 elements.","type":"string","enum":["array"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if the custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"required":{"description":"Specifies if this value is required.\nThis value can be combined with any parameter and is available for custom fields of any type.","type":"boolean"},"default":{"description":"Default value.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BooleanCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nSpecifies a `true` or `false` value.","type":"string","enum":["boolean"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"boolean"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DateCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [full-date](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DD).","type":"string","enum":["date"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DateTimeCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [date-time](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DDTHH:MM:SSZ).","type":"string","enum":["datetime"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date-time"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"IntegerCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nCardinal value of between `-2^31` and `2^31-1`.","type":"string","enum":["integer"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed integer.\nThis value can be combined with the `maximum` parameter.","type":"integer"},"maximum":{"description":"Maximum allowed integer.\nThis value can be combined with the `minimum` parameter.","type":"integer"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"integer"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"NumberCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nFloat value. This field also accepts cardinal values which are interpreted as float.","type":"string","enum":["number"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed number.\nThis value can be combined with the `maximum` parameter.","type":"number","format":"double"},"maximum":{"description":"Maximum allowed number.\nThis value can be combined with the `minimum` parameter.","type":"number","format":"double"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"number","format":"double"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"StringCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nRegular string of up to 255 characters.","type":"string","enum":["string"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"maxLength":{"description":"Maximum allowed string length .\nA maximum length of 4000 characters can be configured.\nBy default, this value is set to 255.","type":"integer"},"pattern":{"description":"Allowed regular expression of a string.","type":"string","example":"/^[0-9]+$/"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"MonetaryCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nA map of 3-letter currency, code, and amount.\nExample: `{\"currency\": \"EUR\", \"amount\": 25.30}`.","type":"string","enum":["monetary"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"object","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","format":"double"}}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomField":{"description":"Separate custom field schema.","type":"object","discriminator":{"propertyName":"type","mapping":{"array":"#/components/schemas/ArrayCustomField","boolean":"#/components/schemas/BooleanCustomField","date":"#/components/schemas/DateCustomField","datetime":"#/components/schemas/DateTimeCustomField","integer":"#/components/schemas/IntegerCustomField","number":"#/components/schemas/NumberCustomField","string":"#/components/schemas/StringCustomField","monetary":"#/components/schemas/MonetaryCustomField"}},"oneOf":[{"$ref":"#/components/schemas/ArrayCustomField"},{"$ref":"#/components/schemas/BooleanCustomField"},{"$ref":"#/components/schemas/DateCustomField"},{"$ref":"#/components/schemas/DateTimeCustomField"},{"$ref":"#/components/schemas/IntegerCustomField"},{"$ref":"#/components/schemas/NumberCustomField"},{"$ref":"#/components/schemas/StringCustomField"},{"$ref":"#/components/schemas/MonetaryCustomField"}]},"BlankProblem":{"description":"Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].","type":"object","minProperties":1,"additionalProperties":true,"properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":599},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nIt SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."}}},"DocumentedProblem":{"type":"object","allOf":[{"properties":{"type":{"type":"string","description":"URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the problem type.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"https://www.rebilly.com/docs/"}}},{"$ref":"#/components/schemas/BlankProblem"}]},"DetailedProblem":{"type":"object","allOf":[{"$ref":"#/components/schemas/BlankProblem"},{"properties":{"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."}}}]},"Problem":{"type":"object","allOf":[{"$ref":"#/components/schemas/DocumentedProblem"},{"$ref":"#/components/schemas/DetailedProblem"}]},"Error":{"type":"object","allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"error":{"deprecated":true,"type":"string"}}}]},"WebsiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"PaymentMethod":{"type":"string","description":"Payment method.","enum":["payment-card","ach","cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Airpay","Alfa-click","Alipay","AmazonPay","Apple Pay","AstroPay Card","AstroPay-GO","BankSEND","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Blik","Boleto","Boleto-2","Boleto-3","cash-deposit","CASHlib","CashToCode","CCAvenue","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Conekta-spei","cryptocurrency","Cupon-de-pagos","CyberSource","Dimoco-pay-smart","Directa24Card","domestic-cards","Efecty","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","EPS","ePay.bg","Ethereum","e-wallet","ezyEFT","eZeeWallet","FasterPay","Flexepin","Giropay","Google Pay","Gpaysafe","iCashOne Voucher","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","InstantPayments","instant-bank-transfer","Interac-online","Interac-eTransfer","Interac-express-connect","Interac","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","Litecoin","loonie","LPG-online","LPG-payment-card","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Mollie","Multibanco","Bancontact","Bancontact-mobile","MTS","MuchBetter","MuchBetterVoucher","MyFatoorah","Neosurf","Netbanking","Neteller","Nordea-Solo","NordikCoin","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-lottery","Pagsmile-deposit-express","PayCash","Payco","Payeer","PaymentAsia-crypto","Paysafecard","PayTabs","Pay4Fun","Paynote","Paymero","Paymero-QR","PayU","PayULatam","Perfect-money","Piastrix","PIX","PIX-Automatico","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","rebilly-hosted-payment-form","Resurs","reverse-withdrawal","Ripple","SafetyPay","Samsung Pay","SEPA","Siirto","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","SPEI","swift-dbt","Tele2","Telr","Terminaly-RF","Tether","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","TWINT","UniCrypt","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]},"ResourceCustomFields":{"description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nFor more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).","type":"object","default":{},"example":{"foo":"bar"}},"ContactPhoneNumbers":{"description":"List of phone numbers associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Phone number label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Phone number value.","type":"string","maxLength":50,"example":"1-512-777-0269"},"primary":{"description":"Specifies if the phone number is the contact's primary phone number.","type":"boolean","example":true}}}},"ContactEmails":{"description":"List of email addresses associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Email label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Email address value.","type":"string","format":"email","maxLength":255,"example":"rebilly@example.com"},"primary":{"description":"Specifies if the email address is the contact's primary email address.","type":"boolean","example":true}}}},"ContactObject":{"type":"object","description":"Contact's information.","properties":{"firstName":{"description":"Contact's first name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Benjamin"},"lastName":{"description":"Contact's last name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Franklin"},"organization":{"description":"Contact's organization.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"Rebilly"},"address":{"description":"First line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Contact's city of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Contact's region of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"description":"Contact's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","maxLength":2,"example":"GB"},"postalCode":{"description":"Contact's postal code.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"dob":{"description":"Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.","type":["string","null"],"format":"date","example":"1980-04-01"},"jobTitle":{"description":"Contact's job title.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"CEO"},"hash":{"description":"Hash value for the contact.\nUse this value to compare contacts for identical attribute values.","type":"string","maxLength":40,"example":"056ae6d97c788b9e98b049ebafd7b229bf852221","readOnly":true}}},"Company":{"type":["object","null"],"description":"Company information that is associated with the customer's primary email address domain.\n\nThis is a paid feature, to enable it [contact Rebilly](https://www.rebilly.com/support/).","readOnly":true,"properties":{"name":{"type":["string","null"],"description":"Name of the company."},"domain":{"type":"string","description":"Website domain of the company."},"yearFounded":{"type":["number","null"],"description":"Founding year of the company.","format":"integer"},"industry":{"type":["string","null"],"description":"Industry the company is associated with."},"employeesCount":{"type":["number","null"],"description":"Number of employees in the company.","format":"integer"},"country":{"type":["string","null"],"description":"Country where the company is based."},"locality":{"type":["string","null"],"description":"Locality or region where the company is based."},"_links":{"type":"array","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["linkedin"]}}}}}},"CustomerAverageValue":{"type":"object","readOnly":true,"description":"Average customer value.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Average Value","x-sortable":true,"x-basic":true,"description":"Average amount of approved payments in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Average approved payment amount in USD.","type":"number","format":"double"}}},"CustomerLifetimeRevenue":{"type":"object","readOnly":true,"description":"Customer's lifetime revenue.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Lifetime Revenue","x-sortable":true,"x-basic":true,"description":"Revenue amount in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Revenue amount in USD.","type":"number","format":"double"}}},"OrganizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"TaxNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"isDefault":{"type":"boolean","description":"Determines if the tax number is selected as default to display on invoices.","example":true},"isValid":{"type":["boolean","null"],"description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation).","example":true,"readOnly":true}}},"LeadSourceData":{"type":"object","description":"Lead source information.","properties":{"medium":{"description":"Category of the lead source traffic.\nFor example, the medium could be organic search, Google ads, Display ads, and so on.","type":["string","null"],"maxLength":512},"source":{"description":"Domain, platform, or channel from which the lead source originates.","type":["string","null"],"maxLength":512},"campaign":{"description":"Campaign name of the lead source.","type":["string","null"],"maxLength":512},"term":{"description":"Term associated with a lead source.","type":["string","null"],"maxLength":512},"content":{"description":"Content contained in the lead source content.\nFor example, content could be graphics, video, and so on.","type":["string","null"],"maxLength":512},"affiliate":{"description":"Individual or entity that is affiliated with the lead source.","type":["string","null"],"maxLength":512},"subAffiliate":{"description":"Individual or entity that is associated with a lead source affiliate.\nIn other products, this field may also be referred to as sub ID or click ID in some.","type":["string","null"],"maxLength":512},"salesAgent":{"description":"Name of the sales agent associated with the lead source.","type":["string","null"],"maxLength":512},"clickId":{"description":"ID of the lead source click.\nThis value is passed in the ad click URL for tracking and campaign attribution.","type":["string","null"],"maxLength":512},"path":{"description":"URL from which the lead source originates.","type":["string","null"],"maxLength":512},"referrer":{"description":"Lead source [`referrer` URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer).","type":["string","null"],"format":"uri","maxLength":2083,"example":"https://www.rebilly.com"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"Customer":{"type":"object","description":"Customer information.","properties":{"id":{"type":"string","description":"ID of the customer.","readOnly":true,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","maxLength":50},"email":{"description":"Customer's email address.","type":["string","null"],"format":"email","readOnly":true,"x-sortable":true,"x-basic":true},"firstName":{"description":"Customer's first name.","type":["string","null"],"x-basic":true,"readOnly":true},"lastName":{"description":"Customer's last name.","type":["string","null"],"x-sortable":true,"x-basic":true,"readOnly":true},"websiteId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"paymentToken":{"type":"string","writeOnly":true,"description":"Write-only payment token.\nIf supplied, the token is converted into a payment instrument, and its ID is assigned to `defaultPaymentInstrumentId` value.\nThe value of this property overrides the `defaultPaymentInstrumentId` if both are supplied.\nThis token may only be used once before it expires."},"defaultPaymentInstrument":{"type":["object","null"],"description":"Default payment instrument of the customer.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","readOnly":true,"required":["method","paymentInstrumentId"],"properties":{"method":{"$ref":"#/components/schemas/PaymentMethod"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"defaultPaymentInstrumentId":{"type":["string","null"],"description":"ID of the customer's default payment instrument.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","writeOnly":true},"preferredPayoutInstrumentId":{"type":["string","null"],"description":"ID of the customer's preferred payment instrument for payouts.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"primaryAddress":{"description":"Customer's primary address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/Company"},"averageValue":{"$ref":"#/components/schemas/CustomerAverageValue"},"paymentCount":{"x-label":"Payments","x-sortable":true,"x-basic":true,"description":"Total number of approved payments made by the customer.\nPayments are the result of `sale` or `capture` transactions.","readOnly":true,"type":"integer"},"lastPaymentTime":{"x-label":"Last Payment","x-sortable":true,"x-basic":true,"description":"Date and time when the customer made their last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true},"lifetimeRevenue":{"$ref":"#/components/schemas/CustomerLifetimeRevenue"},"invoiceCount":{"x-sortable":true,"description":"Total number of invoices issued to the customer.\nThis value is auto-incrementing.\nIf this value is `0`, the record relates to a lead.\nA lead is a customer who has not made a payment yet.\nIf this value is greater than or equal to `1` the record relates to a customer.","readOnly":true,"type":"integer"},"tags":{"description":"List of customer tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"revision":{"description":"Number of times the customer's data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"hasFulfilledKyc":{"description":"Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document.","type":"boolean","readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"locale":{"type":["string","null"],"description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR","default":null},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the customer.","items":{"$ref":"#/components/schemas/TaxNumber"}},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}],"writeOnly":true},"personId":{"type":["string","null"],"description":"ID of the associated person.","maxLength":50,"example":"prs_0YV7DDSDD1C8DA64KHH2W33CPF"},"notificationEmails":{"type":"array","description":"Email addresses for notification delivery in event-based email notifications.\nWhen you configure event-based email notifications, you can send to these addresses, the customer's primary email address, or another email address you specify.\nFor more information, see [Manage notification emails](https://www.rebilly.com/docs/data-tables/manage-customer-information#manage-notification-emails).","items":{"type":"string","format":"email"}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","defaultPaymentInstrument","leadSource","website"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested using the `expand` query string parameter.","readOnly":true,"properties":{"defaultPaymentInstrument":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"}}}}},"CustomerTimelineCustomEvent":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"name":{"description":"Name of the customer timeline custom event type.\nThis value must not conflict with any system event name.","type":"string","minLength":1,"maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"LeadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"},{"type":"object","properties":{"original":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}]}}}]},"RedemptionCancelTimelineAction":{"description":"Cancel redemption.","type":"object","readOnly":true,"properties":{"action":{"type":"string","enum":["redemption-cancel"]},"redemptionId":{"$ref":"#/components/schemas/ResourceId"}}},"ResendEmailTimelineAction":{"type":"object","description":"Resend email action.","readOnly":true,"properties":{"action":{"type":"string","enum":["resend-email"]},"messageId":{"$ref":"#/components/schemas/ResourceId"}}},"RulesetRestoreTimelineAction":{"type":"object","description":"Restore ruleset version.","readOnly":true,"properties":{"action":{"type":"string","enum":["ruleset-restore"]},"version":{"type":"integer","description":"Version of the ruleset to restore."}}},"TimelineAction":{"type":"object","discriminator":{"propertyName":"action","mapping":{"redemption-cancel":"#/components/schemas/RedemptionCancelTimelineAction","resend-email":"#/components/schemas/ResendEmailTimelineAction","ruleset-restore":"#/components/schemas/RulesetRestoreTimelineAction"}},"oneOf":[{"$ref":"#/components/schemas/RedemptionCancelTimelineAction"},{"$ref":"#/components/schemas/ResendEmailTimelineAction"},{"$ref":"#/components/schemas/RulesetRestoreTimelineAction"}]},"TimelineTable":{"type":"object","description":"Additional timeline message information.","discriminator":{"propertyName":"type","mapping":{"three-columns":"#/components/schemas/ThreeColumnsTimelineTable","two-columns":"#/components/schemas/TwoColumnsTimelineTable","one-column":"#/components/schemas/OneColumnTimelineTable","list":"#/components/schemas/ListTimelineTable"}},"properties":{"type":{"type":"string","enum":["list","one-columns","two-columns","three-columns"]},"title":{"type":"string","description":"Data table title."},"footer":{"type":"string","description":"Data table footer."}}},"ThreeColumnsTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"previousValue":{"type":["string","integer","number","boolean"]},"newValue":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Descriptor","previousValue":"test.com","newValue":"new-test.com"}}}}}]},"TwoColumnsTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]},"OneColumnTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]},"ListTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"string"}}}}]},"TimelineExtraData":{"type":"object","description":"Additional data.","readOnly":true,"properties":{"actions":{"description":"Actions available for a timeline message.\nIf no actions are available, this field is empty.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineAction"}},"tables":{"description":"Table data that is attached to the timeline message.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineTable"}},"author":{"type":"object","description":"Author of the timeline message.","properties":{"userFullName":{"description":"Full name of the author.","type":"string"},"userId":{"description":"ID of the author.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"}}},"mentions":{"description":"User mentions, or tags, in a timeline.","type":"object","additionalProperties":{"type":"string"},"example":{"@test@mail.com":"userId-1"}},"links":{"description":"Links that are attached to a timeline message.","type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","enum":["kyc-document","invoice","subscription","transaction","email-message","dispute","coupon","external","payout-request-batch"]},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"placeholder":{"type":"string","example":"KYC document"},"externalUrl":{"type":"string","example":"http://example.com"}}}}}},"ServerTimestamp":{"type":"string","description":"Read-only timestamp in ISO 8601 date-time format.","format":"date-time","readOnly":true},"CustomerTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","enum":["account-password-reset-requested","account-verification-requested","aml-list-was-possibly-matched","deposit-request-completed","deposit-request-created","deposit-request-expired","deposit-request-started","coupon-applied","coupon-redeemed","coupon-redemption-canceled","custom-event","custom-event-processed","custom-fields-changed","customer-bank-account-blocked","customer-blocked","customer-comment-created","customer-created","customer-merged","customer-payment-card-blocked","customer-requested-otp","customer-tagged","customer-untagged","default-payment-instrument-changed","email-message-sent","experian-check-performed","invoice-abandoned","invoice-created","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-revenue-recognized","invoice-voided","kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-fulfilled","lead-source-changed","order-activated","order-canceled","order-churned","order-completed","order-created","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-paid-early","order-reactivated","order-renewed","order-trial-ended","order-upgraded","payment-card-expiration-was-modified","payment-card-expired","payment-instrument-created","payment-instrument-deactivated","primary-address-changed","quickbooks-customer-created","quickbooks-customer-task-failed","quote-canceled","quote-created","quote-expired","quote-issued","quote-order-attached","quote-recalled","quote-rejected","quote-updated","refund-was-reflected-in-invoices","subscription-pause-created","subscription-pause-revoked","subscription-paused","subscription-resumed","subscription-trial-end-changed","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-voided","transaction-waiting-gateway","wallet-admin-credited","wallet-admin-debited"]},"customEventType":{"description":"Timeline custom event type.\nUsed with `custom-event` type.\nThis value must be defined using the Create customer timeline custom event type operation.","type":["string","null"],"minLength":1,"maxLength":255},"customData":{"description":"Timeline custom event data.\nUsed with `custom-event` type.\nTransforms to `extraData` two-column table in response.","type":"object","writeOnly":true,"example":{"customAttribute":"customValue","otherAttribute":"otherValue"}},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Detailed message description.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerCreditBalance":{"type":"object","required":["balances"],"properties":{"balances":{"description":"Customer credit balances grouped by currency.","readOnly":true,"type":"array","items":{"type":"object","required":["currency","unallocatedAmount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"unallocatedAmount":{"description":"Sum of unallocated credit memo amounts for the currency.","readOnly":true,"type":"number","format":"double","x-type":"Money","x-currency-field":"currency"}}}}}},"Dispute":{"type":"object","properties":{"id":{"type":"string","description":"ID of the dispute.","readOnly":true,"maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"customerId":{"description":"ID of the customer who is disputing a transaction.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"transactionId":{"description":"ID of the disputed transaction.","type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"]},"caseId":{"description":"Case ID of the dispute.","type":["string","null"]},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":["string","null"],"maxLength":255},"reasonDescription":{"description":"Description of the reason for the dispute.","type":["string","null"],"maxLength":512,"readOnly":true},"category":{"description":"Category of dispute.","type":"string","readOnly":true,"enum":["fraud","authorization","processing-errors","consumer-disputes","uncategorized","bank-return"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"},"rawResponse":{"description":"Raw response from the payment gateway that processed the disputed transaction.","type":["string","null"],"readOnly":true},"resolvedTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the dispute is resolved.","readOnly":true},"source":{"description":"Source of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"api","manual","sftp","webhook"]},"revision":{"description":"Number of times the dispute data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","customer","attachments"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"transaction":{"type":"object"},"customer":{"type":"object"}}}}},"TransactionId":{"type":"string","description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"File":{"type":"object","properties":{"id":{"type":"string","description":"ID of the file.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"name":{"description":"Original file name.","type":"string","maxLength":255},"extension":{"description":"File extension.","type":"string"},"description":{"description":"Description of the file.","type":"string","maxLength":255},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"}},"mime":{"description":"MIME type of the file.","type":"string","readOnly":true,"enum":["image/png","image/jpeg","image/gif","image/webp","application/pdf","application/json","application/zip","text/csv"]},"size":{"description":"File size, in bytes.","type":"integer","readOnly":true},"width":{"description":"Width of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"height":{"description":"Height of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"sha1":{"description":"Hash sum of the file.","type":"string","readOnly":true},"exifData":{"description":"Collection of EXIF tags contained in the image metadata.\nThis field is applicable to images only.","type":["object","null"],"readOnly":true,"example":{"FileSize":120,"Software":"GIMP 2.4.5"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","download","signedLink","permalink"]}}}}}},"FileCreateFromInline":{"type":"object","required":["file"],"properties":{"file":{"description":"File in base64 encoded format.","type":"string","example":"R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}},"FileCreateFromUrl":{"type":"object","required":["url"],"properties":{"url":{"description":"URL of the file to upload.","type":"string","example":"https://app.rebilly.com/static/gateways/Stripe.png"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}},"ManualShipping":{"description":"Manually set shipping amount.","type":"object","required":["amount","calculator"],"properties":{"amount":{"x-type":"Money","type":"number","format":"double","description":"Shipping amount."},"calculator":{"description":"Shipping calculator.","type":"string","enum":["manual"]}}},"RebillyShipping":{"description":"Rebilly-based shipping which is calculated by shipping rates.","type":"object","required":["calculator"],"properties":{"calculator":{"description":"Shipping calculator.","type":"string","enum":["rebilly"]},"rateId":{"description":"ID of the shipping rate.\nIf this value is not set,\nthe cheapest applicable shipping rate is used.","type":["string","null"],"maxLength":50,"example":"shipping-123-456"},"amount":{"type":"number","format":"double","readOnly":true,"description":"Shipping amount which is calculated from [Shipping rates](https://www.rebilly.com/catalog/all/shipping-rates)."}}},"Shipping":{"description":"Shipping settings.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualShipping","rebilly":"#/components/schemas/RebillyShipping"}},"oneOf":[{"$ref":"#/components/schemas/ManualShipping"},{"$ref":"#/components/schemas/RebillyShipping"}]},"TaxItem":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double","readOnly":true},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94,"readOnly":true},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04,"readOnly":true},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0,"readOnly":true},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38,"readOnly":true},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"readOnly":true,"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US","readOnly":true},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA","readOnly":true},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true}}}}},"ManualTax":{"type":"object","description":"Manual tax calculator.","required":["calculator","items"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["manual"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"RebillyTaxJarTax":{"type":"object","description":"TaxJar tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-taxjar"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"RebillyAvalaraTax":{"type":"object","description":"Avalara tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-avalara"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"Taxes":{"description":"Taxes.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualTax","rebilly-taxjar":"#/components/schemas/RebillyTaxJarTax","rebilly-avalara":"#/components/schemas/RebillyAvalaraTax"}},"oneOf":[{"$ref":"#/components/schemas/ManualTax"},{"$ref":"#/components/schemas/RebillyTaxJarTax"},{"$ref":"#/components/schemas/RebillyAvalaraTax"}]},"InvoiceItem":{"type":"object","required":["type","unitPrice"],"properties":{"id":{"type":"string","description":"ID of the invoice item.","readOnly":true,"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"description":"Type of invoice item.","type":"string","x-basic":true,"enum":["debit","credit"]},"description":{"description":"Description of the invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"price":{"description":"Total price of the invoice item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"readOnly":true,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":["string","null"],"description":"ID of the order.","maxLength":50,"readOnly":true,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":["string","null"],"format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":["string","null"],"format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":["integer","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/TaxItem"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","subscription","plan"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}},"CreditMemoInvoiceAllocation":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"GatewayName":{"description":"Payment gateway name.","type":["string","null"],"enum":["A1Gateway","ACI","Adyen","Aera","Aircash","Airpay","Airwallex","AsiaPay","AmazonPay","AmexVPC","Antom","ApcoPay","AsiaPaymentGateway","AstroPayCard","AuthorizeNet","Awepay","Bambora","BankSEND","BitPay","BlueSnap","BraintreePayments","Buckaroo","BVNK","Cardknox","Cashflows","CASHlib","Cashterminal","CashToCode","CauriPayment","Cayan","CCAvenue","Chase","CheckoutCom","Chillstock","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptomus","Cryptonator","CyberSource","DataCash","Dengi","Dimoco","Directa24","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","ecoPayzTurkey","EcorePay","Elavon","Euteller","eMerchantPay","EMS","ePay","EPG","EPro","Ezeebill","eZeeWallet","ezyEFT","FasterPay","Finrax","Flexepin","FinTecSystems","FundSend","Forte","gate2way","GET","Gigadat","GlobalOnePay","GoCardless","Gooney","Gpaysafe","Greenbox","HiPay","iCashOne","iCanPay","ICEPAY","iCheque","iDebit","Ilixium","IMerchant","Ingenico","INOVAPAY","Inovio","Intuit","InstaDebit","IpayOptions","Isx","JetPay","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","LaCore","Limepay","Loonio","loonie","LPG","MaxiCash","MercadoPago","MiFinity","Mollie","MobilePay","Moneris","Monolo","MonRem","MtaPay","MuchBetter","MuchBetterGateway","MyFatoorah","Naewe","Neosurf","Netbanking","Neteller","NGenius","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Pagadito","Pagsmile","Panamerican","ParamountCommerce","ParamountEft","ParamountInterac","PandaGateway","Pay4Fun","Paybilt","PayCash","Paycly","PayClub","PayCom","PayEcards","Payeezy","Payflow","PayGlocal","Paynote","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","PayPal","Payper","Payr","PayRedeem","PayRetailers","Paysafe","Paysafecard","Paysafecash","PayTabs","PayU","PayULatam","Payvision","PayXpert","PharosPayments","Piastrix","Pin4Pay","Plugnpay","PostFinance","Powertranz","PPRO","Prosa","PSiGate","Quickpay","Rapyd","Realex","Realtime","Redsys","Rotessa","RPN","Safecharge","SaltarPay","Sagepay","SeamlessChex","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","Splitit","StaticGateway","STPMexico","Stripe","Tabby","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","TrustsPay","Trustly","TWINT","Txn","Unlimit","UPayCard","USAePay","VantivLitle","vegaaH","VCreditos","VegaWallet","Viva","Wallet88","Walpay","WesternUnion","Wirecard","WorldlineAtosFrankfurt","Worldpay","XPay","Zimpler","Zotapay"]},"AcquirerName":{"description":"Acquirer name.","type":["string","null"],"enum":["Adyen","ACI","Aera","Alipay","AIB","Aircash","Airpay","AmazonPay","ApcoPay","AsiaPaymentGateway","AstroPay Card","Awepay","Ipay Options","B+S","Bambora","BitPay","Bank of America","Bank of Moscow","Bank of Rebilly","Bank One","BankSEND","BMO Harris Bank","Borgun","BraintreePayments","Buckaroo","BVNK","Cardknox","CASHlib","Cashterminal","CashToCode","Catalunya Caixa","CCAvenue","Chase","CheckoutCom","Chillstock","ChinaUnionPay","CIM","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptonator","CyberSource","Dimoco","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","EcorePay","Elavon","EMS","ePay","EPG","Euteller","Ezeebill","eZeeWallet","ezyEFT","Fifth Third Bank","Finrax","First Data Buypass","First Data Nashville","First Data North","First Data Omaha","FinTecSystems","Flexepin","Forte","FundSend","gate2way","Gigadat","Global East","Gooney","Gpaysafe","Heartland","HiPay","HSBC","iCashOne","iCanPay","ICEPAY","iCheque","Ilixium","Ingenico","INOVAPAY","Intuit","Isx","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","Limepay","Loonio","loonie","LPG","Masapay","MaxiCash","MercadoPago","Merrick","Mission Valley Bank","MiFinity","MobilePay","Moneris","Monolo","MonRem","MuchBetter","MuchBetterGateway","MyFatoorah","NATWEST","Neosurf","Netbanking","Neteller","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","Nuvei","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Other","Panamerican","Panda Bank","Paramount","ParamountCommerce","ParamountEft","ParamountInterac","Pay4fun","Paybilt","PayCash","PayClub","PayEcards","PayGlocal","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","Paynetics","PayPal","Payper","Payr","PayRedeem","PayRetailers","PayTabs","PayU","PayULatam","Payvision","PharosPayments","Piastrix","Pin4Pay","Peoples Trust Company","PostFinance","PPRO","Privatbank","Prosa","PSiGate","QQPay","Rapyd","RBC","RBS WorldPay","RealTime","Rotessa","Safecharge","SaltarPay","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","State Bank of Mauritius","STPMexico","Stripe","Tabby","TBI","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","Trustly","TrustPay","TrustsPay","TSYS","TWINT","Txn","UPayCard","Vantiv","VCreditos","VegaWallet","VoicePay","Wallet88","WeChat Pay","Wells Fargo","Wing Hang Bank","Wirecard","WorldPay","XPay","Zimpler","Zotapay"]},"VaultedInstrument":{"title":"Vaulted payment instrument","description":"Vaulted payment instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","required":["method","paymentInstrumentId"],"properties":{"method":{"description":"Payment method supported vault.\nFor more information, see [Payment instrument](https://www.rebilly.com/catalog/all/payment-instruments).","type":"string","enum":["payment-card","ach","paypal"]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"AlternativePaymentInstrument":{"title":"Alternative instrument","description":"Alternative payment method instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"not":{"enum":["payment-card","ach","paypal","cash","check"]}}]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"reference":{"description":"Reference data.\nThis field is available only for the `bank-transfer` payment method.","type":["string","null"]}}},"CashInstrument":{"title":"Cash","description":"Cash payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["cash"]},"receivedBy":{"description":"Individual or entity that received the payment.","type":"string"}}},"CheckInstrument":{"title":"Check","description":"Check payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["check"]},"reference":{"description":"Reference data.","type":"string"}}},"MoneyAmount":{"type":"number","format":"double","example":10,"x-type":"Money"},"Money":{"type":"object","required":["amount","currency"],"properties":{"amount":{"$ref":"#/components/schemas/MoneyAmount"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"HttpHeaders":{"type":"object","description":"HTTP headers.","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},"x-is-free-form":true},"RiskMetadata":{"type":"object","title":"Risk metadata","description":"Risk metadata used for 3D Secure and risk scoring.","properties":{"ipAddress":{"description":"Customer's IP address.","type":["string","null"],"format":"ipv4 or ipv6","example":"93.92.91.90"},"fingerprint":{"description":"Customer's device fingerprint.\nA device fingerprint is a unique token that is used to identify the customer.\nThe device fingerprint is generated based on device attributes, such as: hardware,\nsoftware, IP address, language, browser, and more.","type":["string","null"],"maxLength":50,"example":"pIUt3xbgX3l9g3YDiLbx"},"httpHeaders":{"oneOf":[{"$ref":"#/components/schemas/HttpHeaders"},{"type":"null"}]},"browserData":{"type":["object","null"],"description":"Browser data used for 3D Secure and risk scoring.","required":["colorDepth","isJavaEnabled","language","screenWidth","screenHeight","timeZoneOffset"],"properties":{"colorDepth":{"description":"Browser color depth in bits per pixel.\nThis value is obtained using the `screen.colorDepth` property.","type":"integer","minimum":1,"maximum":48,"example":24},"isJavaEnabled":{"description":"Specifies if Java is enabled in a browser.\nThis value is obtained from the `navigator.javaEnabled` property.","type":"boolean"},"language":{"description":"Browser language settings.\nThis value is obtained from the `navigator.language` property.","type":"string","example":"en-US","maxLength":8},"screenWidth":{"description":"Width of the browser screen.\nThis value is obtained from the `screen.width` property.","type":"integer","minimum":0,"maximum":65535,"example":1920},"screenHeight":{"description":"Height of the browser screen.\nThis value is obtained from the `screen.height` property.","type":"integer","minimum":0,"maximum":65535,"example":1080},"timeZoneOffset":{"description":"Browser time zone offset in minutes from UTC.\nA positive offset indicates that the local time is behind UTC.\nA negative offset indicates that the local time is ahead of UTC.\nYou can find this value using the `(new Date()).getTimezoneOffset()` property.","type":"integer","minimum":-1410,"maximum":1410,"example":300},"isAdBlockEnabled":{"description":"Specifies if the usage of ad block has been detected in the browser.","type":["boolean","null"]}}},"extraData":{"type":["object","null"],"description":"Third-party data used for risk scoring.","properties":{"kountFraudSessionId":{"description":"Alpha-numeric `fraudSessionId` as provided by the Kount SDK.","type":["string","null"],"minLength":10,"maxLength":32,"example":"abcdefg12345abababab123456789012"},"payPalMerchantSessionId":{"description":"PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.","type":["string","null"],"minLength":1,"maxLength":64,"example":"dd65ratxc5qv15iph3vyoq7l6davuowa"},"threatMetrixSessionId":{"description":"Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.","pattern":"[a-zA-Z0-9_-]+","type":["string","null"],"minLength":1,"maxLength":128,"example":"dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa"}}},"isProxy":{"description":"Specifies if the customer's IP address is related to a proxy.","type":"boolean","readOnly":true},"isVpn":{"description":"Specifies if the customer's IP address is related to a VPN.","type":"boolean","readOnly":true},"isTor":{"description":"Specifies if the customer's IP address is related to TOR.","type":"boolean","readOnly":true},"isHosting":{"description":"Specifies if the customer's IP address is related to hosting.","type":"boolean","readOnly":true},"hostingName":{"description":"Name of the data center or hosting provider, if available.","type":["string","null"],"readOnly":true},"isp":{"description":"Internet Service Provider (ISP) name, if available.","type":["string","null"],"readOnly":true},"country":{"description":"Country ISO Alpha-2 code of the specified IP address.","maxLength":2,"type":["string","null"],"readOnly":true,"example":"US"},"region":{"description":"Region of the specified IP address.","type":["string","null"],"readOnly":true,"example":"NY"},"city":{"description":"City of the specified IP address.","type":["string","null"],"readOnly":true,"example":"New York"},"latitude":{"description":"Latitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"longitude":{"description":"Longitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"postalCode":{"description":"Postal code of the specified IP address.","type":["string","null"],"maxLength":10,"readOnly":true},"timeZone":{"description":"Time zone of the specified IP address.","type":["string","null"],"readOnly":true,"example":"America/New_York"},"accuracyRadius":{"description":"Accuracy radius of the specified IP address, in kilometers.","type":["integer","null"],"readOnly":true},"distance":{"description":"Distance between the customer's IP address and the billing address geolocation, in kilometers.","type":["integer","null"],"readOnly":true},"hasMismatchedBillingAddressCountry":{"description":"Specifies if the customer's billing address country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedBankCountry":{"description":"Specifies if the customer's bank country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedTimeZone":{"description":"Specifies if the customer's browser time zone and the IP address associated time zone are not the same.","type":"boolean","readOnly":true},"hasMismatchedHolderName":{"description":"Specifies if the customer's billing address name and primary address name are not the same.","type":"boolean","readOnly":true},"hasFakeName":{"description":"Specifies if the holder name seems fake.","type":"boolean","readOnly":true},"isHighRiskCountry":{"description":"Specifies if the geo-IP country, or the customer's billing country, is considered a high risk country.","type":"boolean","readOnly":true},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","type":"integer","readOnly":true},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","type":"integer","readOnly":true},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","type":"integer","readOnly":true},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","type":"integer","readOnly":true},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","type":"integer","readOnly":true},"score":{"description":"Computed risk score based on IP risk data,\nsuch as: `isVpn`, `isTor`, and `isProxy`.","type":"integer","readOnly":true}}},"TransactionLimitAmount":{"type":["object","null"],"title":"LimitAmount","description":"Transaction amount limit information.","properties":{"amount":{"type":"number","format":"double","example":275.35,"description":"Limit amount."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"resetTime":{"type":["string","null"],"format":"date-time","description":"Date and time in which the limit amount resets.\nThis value may be used for user interfaces."}}},"Transaction":{"type":"object","description":"Transaction information.","properties":{"id":{"readOnly":true,"$ref":"#/components/schemas/TransactionId"},"websiteId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"customerId":{"x-basic":true,"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"amount":{"x-type":"Money","x-sortable":true,"x-basic":true,"description":"Total amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"purchaseAmount":{"description":"Amount by which the purchase is completed.\nIf an adjustment occurs, the purchased amount may differ from the requested amount.","type":"number","format":"double","x-type":"Money","x-currency-field":"purchaseCurrency","x-sortable":true,"readOnly":true},"purchaseCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"requestAmount":{"description":"Amount of the payment request.\nIf an adjustment occurs,\nthe purchase amount may differ from the billing amount.","type":"number","x-type":"Money","x-currency-field":"requestCurrency","format":"double","readOnly":true},"requestCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"parentTransactionId":{"description":"ID of the parent transaction.","type":["string","null"],"$ref":"#/components/schemas/TransactionId"},"childTransactions":{"description":"IDs of child transactions.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"invoiceIds":{"description":"Related invoice IDs.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"subscriptionIds":{"description":"Subscription IDs of invoices that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"planIds":{"description":"Plan IDs of orders that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"isRebill":{"description":"Specifies if the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","type":"boolean","readOnly":true},"rebillNumber":{"description":"Rebill number of the transaction.\nA rebill number is the number of recurring payments in a subscription, excluding trials or setup fees.","type":"integer","readOnly":true,"x-sortable":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"has3ds":{"description":"Specifies if the transaction uses 3D Secure.","type":"boolean","readOnly":true},"3ds":{"type":"object","description":"Authentication object.\nFor more information, see [3D Secure (3DS)](https://www.rebilly.com/docs/settings/3ds/).","readOnly":true,"properties":{"server":{"description":"Name of the 3D Secure server.","type":"string"},"version":{"description":"Version of 3D Secure.","type":"string","enum":["1.0.2","2.1.0","2.2.0"]},"enrolled":{"description":"Specifies if the cardholder is enrolled in 3D Secure.","type":"string","enum":["yes","no","invalid card/timeout","unavailable"]},"authenticated":{"description":"Authentication response status for 3D Secure.","type":"string","enum":["yes","no","not applicable","attempted"]},"liability":{"type":"string","enum":["protected","not protected","protected (attempt)"]},"flow":{"description":"Authentication flow for 3D Secure 2.","type":"string","enum":["frictionless","challenge"]},"isDowngraded":{"description":"Specifies if 3D Secure 2 is attempted and downgraded to 3D Secure 1.","type":"boolean","default":false,"deprecated":true}}},"redirectUrl":{"description":"URL where the end-user is redirected to when an offsite transaction is completed.\nThe default value is the website URL.","type":["string","null"],"maxLength":2083,"format":"uri"},"retryNumber":{"type":"integer","readOnly":true,"description":"Position of the transaction in the sequence of retries.","x-sortable":true},"isRetry":{"type":"boolean","readOnly":true,"description":"Specifies if a transaction is a retry."},"billingDescriptor":{"type":["string","null"],"readOnly":true,"description":"Billing descriptor that appears on the periodic billing statement.\nFor a credit card statement, this field commonly contains 12 or fewer characters."},"description":{"type":"string","description":"Description of the payment.","maxLength":255},"requestId":{"description":"Request ID of the transaction.\nThis ID must be unique within a 24-hour period.\nUse this field to prevent duplicate transactions.","type":"string","x-sortable":true},"hasAmountAdjustment":{"description":"Specifies if the transaction has amount adjustment.","type":"boolean","readOnly":true},"gatewayName":{"readOnly":true,"description":"Name of the payment gateway that processed, or is selected to process, the transaction.\nThis value is only available after a gateway is selected for the transaction.","x-label":"Gateway","x-basic":true,"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"processedTime":{"description":"Date and time when the transaction is processed.","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"gatewayAccountId":{"type":["string","null"],"description":"ID of the gateway account that processed the transaction.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34","readOnly":true},"gatewayTransactionId":{"description":"ID of the gateway transaction.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"gateway":{"type":"object","description":"Related gateway information.","readOnly":true,"properties":{"response":{"description":"Gateway response.","type":"object","properties":{"code":{"description":"Gateway response code.","type":["string","null"]},"message":{"description":"Gateway response message.","type":["string","null"]},"type":{"description":"Gateway response type.","type":["string","null"]},"originalCode":{"description":"Raw, unmapped gateway response code.","type":["string","null"]},"originalMessage":{"description":"Raw, unmapped gateway response message.","type":["string","null"]}}},"avsResponse":{"description":"Gateway Address Verification System (AVS) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}},"cvvResponse":{"description":"Gateway Card Verification Value (CVV) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}}}},"acquirerName":{"readOnly":true,"description":"Acquirer name.\nThis value is only available when a transaction uses a payment gateway.\nIf a transaction does not use a payment gateway, this value is `null`.","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"deprecated":true,"description":"Payment method.\n\n>**Note:** Use `paymentInstrument.method` instead.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"velocity":{"description":"Number of transactions by the same customer in the past 24 hours.","type":"integer"},"revision":{"description":"Number of times the transaction data has been modified.\n\nThis revision number is useful when analyzing webhook data to determine if the change takes precedence over the current representation.","type":"integer","readOnly":true},"referenceData":{"description":"Transaction reference data.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"},"readOnly":true},"bin":{"description":"Payment card Bank Identification Number (BIN).","x-label":"BIN","type":["string","null"],"format":"bin","readOnly":true},"paymentInstrumentFingerprint":{"description":"Unique value that is used to identify the payment instrument of the transaction.\nThis value is `null` if the transaction has no payment instrument,\nor the payment instrument has no fingerprint.","type":["string","null"],"readOnly":true},"paymentInstrument":{"type":"object","oneOf":[{"$ref":"#/components/schemas/VaultedInstrument"},{"$ref":"#/components/schemas/AlternativePaymentInstrument"},{"$ref":"#/components/schemas/CashInstrument"},{"$ref":"#/components/schemas/CheckInstrument"}]},"hasDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) applies to the transaction.","type":"boolean","readOnly":true},"dcc":{"description":"Detailed Dynamic currency conversion (DCC).\nIf DCC is not applied to the transaction, this value is `null`.","type":["object","null"],"readOnly":true,"properties":{"base":{"description":"Initial amount and currency to convert from.","$ref":"#/components/schemas/Money"},"quote":{"description":"Suggested amount and currency to convert to.","$ref":"#/components/schemas/Money"},"usdMarkup":{"description":"Markup amount converted to USD.","$ref":"#/components/schemas/MoneyAmount"},"outcome":{"type":"string","description":"Dynamic currency conversion outcome.","enum":["unprocessed","rejected","selected"]},"isForceDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) is forced for the transaction.","type":"boolean"}}},"riskScore":{"description":"Risk score for the transaction.","type":"integer","readOnly":true,"x-sortable":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"notificationUrl":{"description":"URL where a server-to-server POST notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"isDisputed":{"description":"Specifies if a transaction is disputed.","type":"boolean","readOnly":true},"disputeTime":{"description":"Date and time when the dispute is created.\nIf the transaction is not disputed, this value is `null`.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true},"disputeStatus":{"description":"Status of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"response-needed","under-review","forfeited","won","lost","unknown"]},"isReconciled":{"description":"Specifies if the transaction is verified with gateway batch data.","type":"boolean","readOnly":true},"isProcessedOutside":{"description":"Specifies if the transaction is processed outside of Rebilly.","type":"boolean"},"isMerchantInitiated":{"description":"Specifies if the transaction is initiated by the merchant.","type":"boolean"},"hadDiscrepancy":{"description":"Specifies if the transaction is updated due to a discrepancy with its source of truth.","type":"boolean","readOnly":true},"orderId":{"deprecated":true,"description":"Order ID of the transaction.\nThis ID must be unique within a 24 hour period.\n\n> **Note:** Use the `requestId` field instead.","type":"string","x-sortable":true},"arn":{"x-label":"ARN","type":["string","null"],"readOnly":true,"description":"Acquirer reference number.","example":"74836950144358910018150"},"reportAmount":{"description":"Transaction amount converted to the report currency of the organization.","type":"number","x-type":"Money","x-sortable":true,"x-currency-field":"reportCurrency","format":"double","readOnly":true},"reportCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"settlementTime":{"type":["string","null"],"description":"Date and time when the transaction is settled by the banking institution.","format":"date-time","readOnly":true,"x-sortable":true},"discrepancyTime":{"type":["string","null"],"description":"Date and time of the most recent discrepancy on the transaction.","format":"date-time","readOnly":true,"x-sortable":true},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"depositRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the deposit request if applicable.\nThe created transaction is based on the properties of this deposit request.","maxLength":50,"example":"dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7"},"transferId":{"readOnly":true,"type":["string","null"],"description":"ID of the ledger transfer if applicable.\nThe transaction is linked to this transfer when processed in the wallet ledger.","maxLength":50,"example":"tb_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"payoutRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the payout request if applicable.\nThe created transaction is based on the properties of this payout request.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","website","customer","gatewayAccount","paymentCard","parentTransaction","leadSource","approvalUrl","refundUrl","updateUrl","disputes","invoices","queryUrl","redirectUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"parentTransaction":{"type":"object"},"childTransactions":{"type":"array","maxItems":10,"description":"Most recent child transactions."},"gatewayAccount":{"type":"object"},"customer":{"type":"object"},"leadSource":{"type":"object"},"website":{"type":"object"},"invoices":{"type":"array","maxItems":10,"description":"Most recent related invoices."},"organization":{"type":"object"},"dispute":{"type":"object"},"paymentCard":{"type":"object"},"bankAccount":{"type":"object"}}}}},"TimeUnit":{"type":"string","enum":["second","minute","hour","day","month","year"]},"TimePluralUnit":{"type":"string","enum":["seconds","minutes","hours","days","months","years"]},"TimeIso8601Extended":{"description":"Extended ISO-8601 format of time.","type":"string","format":"time","pattern":"^(([01][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?)((?:[+-](?:0[0-9]|1[12])(?::?[0-5][0-9])?)|Z)?$"},"SchedulingMethodDayOfMonth":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-month"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","method"]},"SchedulingMethodDayOfWeek":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-week"]},"day":{"description":"Day of the week when the event occurs.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"week":{"type":"string","enum":["next","first-in-month","last-in-month"]},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","week","method"]},"PeriodAnchor":{"type":"object","description":"Instruction for calculating the period anchor.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]},"SchedulingMethodDateInterval":{"type":"object","properties":{"method":{"type":"string","enum":["date-interval"]},"duration":{"type":"integer","description":"Number of time units.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]},"anchor":{"$ref":"#/components/schemas/PeriodAnchor"}},"required":["duration","unit","method"]},"SchedulingMethodImmediately":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["immediately"]}}},"SchedulingMethodIntelligent":{"type":"object","properties":{"method":{"type":"string","enum":["intelligent"]},"duration":{"type":"integer","description":"Latest point in time at which the event should occur.\nThe event occurs at a random time between the initial time and duration time.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}},"required":["duration","unit","method"]},"InvoiceRetryScheduleInstruction":{"type":"object","description":"Specifies when the payment retry instruction is performed.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]},"AmountAdjustmentPoliciesNone":{"title":"None","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"],"description":"No payment amount adjustment."}}},"AmountAdjustmentPoliciesDiscountAmountRemaining":{"title":"Discount remaining amount","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["discount-amount-remaining"],"description":"Discount the remaining amount on the invoice."}}},"AmountAdjustmentInstructionPartial":{"type":"object","required":["method","value","type"],"properties":{"method":{"type":"string","enum":["partial"]},"value":{"description":"Amount of the payment.","type":"number","format":"float"},"type":{"description":"Payment amount type.","type":"string","enum":["percent","fixed"]},"afterApprovalPolicy":{"description":"After an approved payment retry for an adjusted amount, this field specifies whether to discount the remaining invoice amount.","discriminator":{"propertyName":"method","mapping":{"none":"#/components/schemas/AmountAdjustmentPoliciesNone","discount-amount-remaining":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentPoliciesNone"},{"$ref":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}]}}},"AmountAdjustmentInstructionNone":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"]}}},"InvoiceRetryAmountAdjustmentInstruction":{"type":"object","description":"Specifies if the payment amount must be adjusted for the retry.","discriminator":{"propertyName":"method","mapping":{"partial":"#/components/schemas/AmountAdjustmentInstructionPartial","none":"#/components/schemas/AmountAdjustmentInstructionNone"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentInstructionPartial"},{"$ref":"#/components/schemas/AmountAdjustmentInstructionNone"}]},"Invoice":{"required":["customerId","currency","websiteId"],"properties":{"id":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"invoiceNumber":{"description":"Auto-incrementing number based on the sequence of invoices for any particular customer.","readOnly":true,"type":"integer","x-basic":true},"orderId":{"description":"ID of the order (experimental).","readOnly":true,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC","type":["string","null"]},"subscriptionId":{"type":"string","description":"ID of the related subscription order, if available.\nThis field is `null` if there are no related subscription orders.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"quoteId":{"type":["string","null"],"description":"ID of the related quote, if available.\nThis field is `null` if there are no related quotes.","readOnly":true,"maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"organizationTaxIdNumber":{"description":"Organization tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"customerTaxIdNumber":{"description":"Customer tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"billingAddress":{"description":"Billing address of the invoice.\nAfter the first payment is made for an invoice, this value cannot be changed.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456","maxLength":50},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string","maxLength":65535},"items":{"type":"array","description":"Invoice items array.","readOnly":true,"items":{"$ref":"#/components/schemas/InvoiceItem"}},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"autopayScheduledTime":{"description":"Date and time when an automatic payment (autopay) is scheduled.","type":["string","null"],"x-sortable":true,"format":"date-time"},"autopayRetryNumber":{"description":"Number of times that an automatic payment (autopay) has been attempted on an invoice.","readOnly":true,"type":"integer","x-sortable":true,"minimum":0,"default":0},"status":{"type":"string","description":"Status of the invoice.","x-basic":true,"readOnly":true,"enum":["draft","quotation","unpaid","paid","partially-paid","past-due","abandoned","voided","partially-refunded","refunded","disputed"]},"delinquentCollectionPeriod":{"type":"integer","description":"Length of time, in days, between when the invoice is due and when the invoice is paid.","x-sortable":true,"readOnly":true},"collectionPeriod":{"type":"integer","x-sortable":true,"description":"Length of time, in days, between when the invoice is issued and when the invoice is paid.","readOnly":true},"abandonedTime":{"description":"Date and time when the invoice is abandoned.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidedTime":{"description":"Date and time when the invoice is voided.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"paidTime":{"x-label":"Payment Date","x-sortable":true,"x-basic":true,"description":"Date and time when the invoice is paid.","type":["string","null"],"format":"date-time","readOnly":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"paymentFormUrl":{"type":["string","null"],"readOnly":true,"format":"uri","description":"URL where the customer is redirected to pay the invoice\nusing one of the methods which are available to the customer.\nThis is an alternative to creating a new transaction with empty\n`methods`."},"creditMemoAllocations":{"type":"array","description":"Credit memo allocations to an invoice.","readOnly":true,"items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"transactions":{"type":"array","description":"Up to 10 of the most recent transactions for the invoice.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","maxItems":10,"readOnly":true,"items":{"$ref":"#/components/schemas/Transaction"}},"retryInstruction":{"description":"Invoice payment retry instruction.\nThis object specifies how to proceed if a payment related to the invoice fails.","type":["object","null"],"properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Describes the action to take when a payment attempt concludes, and payment is not collected.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Describes the action to take when all scheduled payment retries, in a retry instruction, have concluded and payment is not collected.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies"]},"revision":{"description":"Number of times the invoice data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"type":{"description":"Type of invoice.","type":"string","enum":["initial","renewal","interim","cancellation","one-time","refund","charge","one-time-sale"],"readOnly":true},"dueReminderTime":{"description":"Date and time when a past due reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"dueReminderNumber":{"description":"Number of past due reminder events that have been triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"delinquencyTime":{"description":"Date and time when the related order is considered delinquent, and is canceled.\nIf this value is `null`, no delinquency time is configured.\nIf the `dueTime` of the order becomes greater than the `delinquencyTime` value,\nthe `delinquencyTime` value becomes equal to `dueTime`.\n\nIf an invoice is not related to an order, this field can only be `null`.","type":["string","null"],"format":"date-time","default":null},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","attachments","leadSource","transactionAllocations","recalculateInvoice","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"}}}}},"InvoiceIssue":{"type":"object","properties":{"issuedTime":{"description":"Date and time when the invoice is issued.\nIf this field is `null` or omitted, the invoice is issued immediately.","type":["string","null"],"format":"date-time"},"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the `issuedTime` value.","type":["string","null"],"format":"date-time"}}},"InvoiceReissue":{"type":"object","properties":{"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the current date-time.","type":["string","null"],"format":"date-time"}}},"InvoiceTransactionAllocation":{"type":"object","properties":{"invoiceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"amount":{"type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["invoice","transaction"]}}}}}},"InvoiceCreditMemoAllocationRequest":{"type":"object","description":"Allocation request settings.\nCredit memo IDs are not accepted and are selected automatically by the system.","properties":{"amount":{"type":"number","format":"double","exclusiveMinimum":0,"description":"Optional maximum amount to allocate from customer credit memos to the invoice.\nIf provided, allocation is capped at this value.\nIf omitted, the allocated amount is the lesser of:\n- Invoice unpaid amount.\n- Available allocatable credit memo balance."},"allocationOrder":{"type":"string","description":"Credit memo application order.","enum":["oldest-first","newest-first"],"x-enumDescriptions":{"oldest-first":"Applies oldest allocatable credit memos first.","newest-first":"Applies newest allocatable credit memos first."},"default":"oldest-first"}}},"InvoiceAppliedCreditMemoAllocation":{"type":"object","required":["creditMemoId","amount"],"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"amount":{"description":"Amount allocated from the credit memo to the invoice.","type":"number","format":"double"}}},"InvoiceCreditMemoAllocationResponse":{"type":"object","required":["invoiceId","currency","appliedCreditMemos","remainingInvoiceAmount"],"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}]},"appliedCreditMemos":{"type":"array","readOnly":true,"description":"List of credit memos applied to the invoice and the amount allocated from each.","items":{"$ref":"#/components/schemas/InvoiceAppliedCreditMemoAllocation"}},"remainingInvoiceAmount":{"description":"Remaining amount due on the invoice after credit memo allocation.","type":"number","readOnly":true,"format":"double"}}},"InvoiceTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-restored","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","quickbooks-credit-memo-created","quickbooks-credit-memo-voided","quickbooks-invoice-created","quickbooks-invoice-task-failed","quickbooks-invoice-updated","quickbooks-invoice-voided","quickbooks-revenue-recognition-created","timeline-comment-created","transaction-abandoned","transaction-approved","transaction-canceled","transaction-declined","transaction-initiated","transaction-partially-refunded","transaction-refunded","transaction-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Describes the message details.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CreditMemoTaxItem":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double"},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double"},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double"},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double"},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double"},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US"},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA"},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES"},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES"}}}}},"CreditMemo":{"type":"object","description":"Credit memo object.","required":["customerId","currency"],"properties":{"id":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"number":{"description":"Auto-incrementing number based on the sequence of credit memos for any particular customer.","readOnly":true,"type":"integer"},"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"status":{"type":"string","description":"Status of the credit memo.","readOnly":true,"enum":["draft","quotation","issued","applied","partially-applied","voided"],"x-enumDescriptions":{"draft":"Credit memo is in process of being created.\nThe full amount of the credit memo is unused, and the customer has not seen it yet.","quotation":"Credit memo is associated with a quote.\nIf the customer approves the quotation, the credit memo changes to the `issued` state.","issued":"Credit memo is available with a full amount to be applied.","applied":"The full amount of the credit memo has been applied.\nNo more credit can be created from it.","partially-applied":"A partial amount of the credit memo has been applied.\nA credit can be created from the remaining amount.","voided":"Credit memo has been voided and cannot be used anymore."}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"},"taxAmount":{"description":"Sum of items tax amount of an invoice to credit.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"totalAmount":{"description":"Total amount of all credits in the credit memo, including items, shipping, and tax.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"unusedAmount":{"description":"Unused credit memo amount that has not been allocated.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"revision":{"type":"integer","readOnly":true,"description":"Number of times the credit memo has been modified."},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which the credit memo is issued.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"quoteId":{"type":["string","null"],"description":"ID of the related quote.","readOnly":true,"maxLength":50,"example":"qt_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"type":["string","null"],"description":"ID of the transaction associated with the credit memo.\nAssociating a transaction does not change the unused amount of the credit memo.\nThe transaction must be approved and associated with the same customer as the credit memo.\nApproved transactions of any type are accepted, including refunds and voided sales.\nIf the transaction result changes later, the association is retained.\nIf this field is omitted in an update request and `customerId` is not changed, this field retains its current value.\nIf this field is omitted and `customerId` is changed, the transaction is removed from the credit memo.\nTo remove the transaction from the credit memo, set this field to `null`.","maxLength":50,"example":"txn_0YVDTQJ8YKC82BP14NE2R7V2XT"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PatchCreditMemoRequest":{"type":"object","description":"Patch credit memo object.","properties":{"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"}}},"CreditMemoTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["credit-memo-created","credit-memo-applied","credit-memo-partially-applied","credit-memo-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Content of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalAccount":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the journal account.","readOnly":true,"maxLength":50,"example":"jrn_acc_0YVCXS791DD8JAK1WV3VHM70ZQ"},"name":{"type":"string","description":"Name of the journal account.","example":"Unearned revenue"},"description":{"type":["string","null"]},"createdTime":{"description":"Date and time when the journal record is created.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalEntry":{"type":"object","required":["period","currency"],"properties":{"id":{"type":"string","description":"ID of the journal entry.","readOnly":true,"maxLength":50,"example":"jrn_ent_0YVCXSFCF2DJX99NBBSJCEVETB"},"period":{"type":"object","properties":{"startDate":{"type":"string","format":"date","example":"2022-09-01"},"endDate":{"type":"string","format":"date","example":"2022-09-30"}}},"label":{"type":"string","description":"Custom label that can be used to filter entries.\nAnnual orders are created with the label **Annual**.\nMonthly orders are created with the label **Monthly**.","maxLength":255,"default":"monthly"},"currency":{"description":"Currency of the journal record revenue.","$ref":"#/components/schemas/CurrencyCode"},"description":{"type":"string"},"totalRecognizedAmount":{"description":"Total amount of all revenue recognized at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"totalEstimatedAmount":{"description":"Total amount of all revenue estimated at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalRecord":{"type":"object","required":["journalEntryId","invoiceItemId","debitAccountId","creditAccountId"],"properties":{"id":{"type":"string","description":"Unique resource ID.","readOnly":true,"maxLength":50,"example":"jrn_rec_0YVCXV2HE5DBT89QV7RXSJEZQ4"},"journalEntryId":{"description":"ID of the journal entry.","type":"string","maxLength":50,"example":"jrn_ent_01JXJ8EF9WVR0W187QZ6WF5703"},"customerId":{"description":"ID of the customer.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","readOnly":true},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT","readOnly":true},"invoiceItemId":{"type":"string","description":"ID of the invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"type":"string","readOnly":true,"enum":["automated","manual"]},"estimatedAmount":{"description":"Amount of revenue estimated to be recognized at the schedule date.\nThis value is ignored when updating a journal record with a `type` of `automated`.","type":["number","null"],"format":"double"},"recognizedAmount":{"description":"Amount of revenue recognized at the journal period end.","type":["number","null"],"format":"double"},"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8S97PTMYX8W01SQ72FSWC"},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8RW7AWMVAH7DP3VXYQC1W"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"invoice":{"type":"object"},"invoiceItem":{"type":"object"},"debitAccount":{"type":"object"},"creditAccount":{"type":"object"},"journalEntry":{"type":"object"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice","invoiceItem","journalEntry","creditAccount","debitAccount"]}}}}}},"KycDocumentTypes":{"type":"string","enum":["identity-proof","address-proof","funds-proof","purchase-proof","credit-file-proof"]},"KycDocumentSubtypes":{"type":["string","null"],"enum":["passport","id-card","driver-license","birth-certificate","utility-bill","rental-receipt","lease-agreement","copy-credit-card","credit-card-statement","bank-statement","inheritance-documentation","tax-return","salary-slip","sale-of-assets","public-health-card","proof-of-age-card","reverse-of-id","public-service","ewallet-holder-details","ewallet-transaction-statement","marriage-certificate","firearms-license","insurance-letter","income-statement","debtors-letter","other",null]},"KycRequestDocument":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of document to request from the customer.","$ref":"#/components/schemas/KycDocumentTypes"},"subtypes":{"description":"Permitted document subtype.","type":["array","null"],"items":{"$ref":"#/components/schemas/KycDocumentSubtypes"}},"maxAttempts":{"description":"Total number of allowed document upload attempts.\nUse `0` to allow unlimited upload attempts.","type":"integer","default":3,"minimum":0,"maximum":100},"faceProofRequired":{"description":"Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document.","type":"boolean"},"faceLivenessRequired":{"description":"Specifies if the customer must use the face liveness feature when uploading a selfie.\nFor more information, see [Facial recognition and identity verification](https://www.rebilly.com/docs/kyc-and-aml/kyc#facial-recognition-identity-verification).","type":"boolean"}}},"KycDocumentMatchLevels":{"description":"Document verification level.","type":"integer","enum":[1,2,3],"default":2,"x-enumDescriptions":{"1":"Moderate verification requirements. This option is used for sale transactions.","2":"Strict verification requirements. This option is used for credit transactions.","3":"Basic verification requirements. This option is used when a high level of verification is not required."}},"KycRequest":{"type":"object","description":"KYC request information.","required":["customerId","documents"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["gathering","attempted","partial","pending-review","fulfilled","failed","abandoned","expired"],"x-enumDescriptions":{"gathering":"No documents have been provided yet.\nThis is a temporary state.","attempted":"At least one document has been provided but none were assigned the `accepted` status.\nThis is a temporary state.","partial":"At least one requested document has the `accepted` status,\nbut not all requested documents have been assigned the `accepted` status.\nThis is a temporary state.","pending-review":"At least one requested document has the `pending` status,\nand no requested documents have been assigned the `accepted` status.\nThis is a temporary state, until the document is reviewed,\nor another `accepted` document is provided.","fulfilled":"All requested documents are provided and have been assigned the `accepted` status.\nThis is a permanent state.","failed":"At least one requested document has exhausted all attempts,\nand has not been assigned a `accepted`, `pending`, or `in-progress` status.\nThis is a permanent state.","abandoned":"One or more documents provided but the request expired.\nThis is a permanent state.","expired":"No documents were provided and the request expired.\nThis is a permanent state."}},"redirectUrl":{"description":"URL where the customer is redirected when a KYC document upload is complete.\nWhen the customer is redirected,\nRebilly appends an `info` query parameter that has one of the following values:\n  - `back`: Customer clicked the `back to website` link.\n  - `token_expired`: Customer's token expired.\n  - `success`: Customer uploaded KYC documents that have been analyzed.\n  - `manual`: Customer uploaded KYC documents that require a manual review.\n    This is because the analyzer rejected the documents or could not process them.\n  - `partial`: Some of the customer's KYC documents have been analyzed,\n    but other documents have not.\n    For example, this may occur when a proof of address document is analyzed but proof of ID is not.\n\nExample: `https://example.com?info=success`.","type":["string","null"],"format":"uri"},"reason":{"description":"Reason for uploading.","example":"spend limit","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC request data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"expirationTime":{"description":"Date and time when the request expires.\nThe default value is one hour in the future.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","documents","gatherer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"documents":{"type":"array"}}}}},"KycDocumentRejectionReasonTypes":{"description":"Reason the document is rejected.","type":"string","enum":["document-unreadable","document-expired","document-was-valid-but-expired","document-not-matching","document-duplicate","document-invalid","document-not-open","underage-person","third-party-or-mismatch","expiration-date-missing","issue-date-missing","subtype-missing","dob-mismatch","name-mismatch","name-and-dob-mismatch","critical-info-missing","old-address-on-id","tampered-document","no-document-data-detected","other"]},"KycDocumentRejection":{"description":"Reason the document is rejected.","type":["object","null"],"required":["type"],"readOnly":true,"properties":{"type":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"message":{"description":"KYC document rejection message.","type":"string","maxLength":255,"example":"Provided document is unreadable"}}},"KycDocumentMatchesVersion":{"type":"string","description":"Version of the document matches.","readOnly":true,"example":"2.0"},"KycDocumentMatchesScore":{"type":"integer","description":"Calculated score that represents the percentage of confidence that this ID document represents the customer.","minimum":0,"maximum":100,"example":75},"KycDocumentCheck":{"type":"object","description":"Result of an executed document check during KYC verification.","properties":{"name":{"description":"Name of the document check.","type":"string","enum":["city","containsImage","date","dateIsInvalid","dateOfBirth","decision","documentNumber","documentSubtype","expirationDate","firstName","hasMatchingFaceProof","hasMinimalAge","isIdentityDocument","isPublishedOnline","isTampered","issuanceCountry","issuanceRegion","issueDate","lastName","line1","matchesDateOfBirth","phone","postalCode","region"]},"failed":{"description":"Specifies if a document check has failed.\nWhen a check fails,\nthe score value associated with the check is subtracted from the overall score of the proof document.\nThe overall score together with accept and reject thresholds determine whether an proof document passes or fails verification.\nFor more information, see [KYC](https://www.rebilly.com/docs/kyc-and-aml/kyc).","type":"boolean","example":true},"score":{"type":"integer","description":"Specifies the number of points to deduct from the proof document when a check fails during the verification process.","minimum":0,"maximum":100,"example":75},"reason":{"description":"Specifies the reason why the KYC check failed.","type":["string","null"],"example":"closed_eyes"}}},"KycDocumentCheckList":{"type":["array","null"],"description":"List of checks executed against the document during KYC verification.","items":{"$ref":"#/components/schemas/KycDocumentCheck"}},"KycIdentityMatches":{"type":"object","description":"Matched identity data.","properties":{"containsImage":{"description":"Specifies if the document includes an image that contains a face.","type":"boolean","example":true},"isIdentityDocument":{"description":"Specifies if the document resembles an ID.","type":"boolean","example":true},"isPublishedOnline":{"description":"Specifies if an exact match of the document has been found online.","type":"boolean","example":false},"matchingImages":{"description":"URLs where matching images have been found online.","type":"array","readOnly":true,"maxItems":3,"items":{"type":"string"}},"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"dateOfBirth":{"description":"Date of birth detected on the document.\nThis value is null if no match is detected.","type":["string","null"],"format":"date-time"},"expirationDate":{"description":"Expiration date detected on the document.\nThis value is null if no expiration date is detected.","type":["string","null"],"format":"date-time"},"issueDate":{"description":"Issue date detected on the document.\nThis value is null if no issue date is detected.","type":["string","null"],"format":"date-time"},"hasMinimalAge":{"description":"Specifies that the individual is older than the minimal age limit.\nThe minimal age is 21+ the for USA and 18+ for all other countries.\nThis value is null if `dateOfBirth` is not determined.","type":["boolean","null"],"readOnly":true,"example":true},"nationality":{"description":"Nationality detected on a passport or citizenship document.\nThis value is null if no nationality is detected.","type":["string","null"],"example":"US","maxLength":3},"issuanceCountry":{"description":"Country that issued the document.","type":["string","null"],"example":"CA","minLength":2,"maxLength":2},"issuanceRegion":{"description":"Region, state, province, or territory that issued the document.","type":["string","null"],"example":"Ontario"},"documentNumber":{"description":"Unique number on the identity document.\nThis value may contain alphanumeric characters.","type":["string","null"],"example":"1234567890"},"sex":{"description":"MRZ sex code (ICAO 9303).\n`M`, `F`, or `X`.\nNull if not extracted.","type":["string","null"],"pattern":"^[MFX]$","example":"M"},"mrzChecksumValid":{"description":"MRZ check digits validation.\nNull if there is no MRZ, no check data, or a non-standard layout.","type":["boolean","null"],"readOnly":true,"example":true},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"hasMatchingFaceProof":{"description":"Specifies if an identity document has matching face proof.","type":"boolean","example":false},"isTampered":{"description":"Specifies if an identity document has been tampered with.","type":"boolean","example":false},"isDigitallyTampered":{"description":"Specifies if an identity document has been digitally tampered with (experimental).","type":"boolean","example":false},"isPhotocopy":{"description":"Specifies if an identity document is detected as a photocopy.","type":"boolean","example":false},"hasCompletedFaceLiveness":{"description":"Specifies if the face liveness session completed.","type":"boolean","readOnly":true,"example":false},"faceProofBrightness":{"description":"Brightness of the lighting in the detected face area of the face proof image, on a scale from `0` to `100`.\nA higher value indicates brighter lighting.\nThis value is `null` if no face proof is compared with the document.","type":["number","null"],"minimum":0,"maximum":100,"readOnly":true,"example":72.5},"expiryDate":{"description":"Use `expirationDate` field instead.","type":["string","null"],"format":"date-time","deprecated":true}}},"KycSettingsIdentity":{"type":"object","description":"Identity proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"containsImage":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not include an image that contains a face."},"isIdentityDocument":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not resemble an ID."},"isPublishedOnline":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an exact match of the document is not found online."},"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"expirationDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an expiration date is not detected on the document."},"dateOfBirth":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date of birth is not detected on the document, or if the date of birth detected on the document is not matched."},"issueDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an issue date is not detected on the document."},"hasMinimalAge":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not verify the minimal age limit.\nMinimal age is 21+ the for USA and 18+ for all other countries."},"hasMatchingFaceProof":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an identity document does not have matching face proof."},"nationality":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a nationality is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."},"isPhotocopy":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is detected as a photocopy."},"mrzChecksum":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added when MRZ check digits fail validation."},"documentNumber":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a document number is not detected on the document."},"issuanceCountry":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the country that issued the document is not detected."},"issuanceRegion":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the region, state, province, or territory that issued the document is not detected."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}},"minimumAgeSettings":{"type":"object","description":"Minimum age settings for identity proof documents.","properties":{"defaultMinimumAge":{"type":"integer","minimum":1,"maximum":100,"description":"Default minimum age requirement for identity proof documents.\nThis is used when no location-specific override is configured.","default":18},"locationOverrides":{"type":"array","description":"Location-specific minimum age.\nEach item specifies a minimum age for a specific location.\nFor country-wide rules, omit the state field.\nFor state-specific rules, include the state field.","items":{"type":"object","required":["country","minimumAge"],"properties":{"country":{"type":"string","description":"Country code in ISO 3166 alpha-2 format.","pattern":"^[A-Z]{2}$","example":"US"},"state":{"type":"string","description":"Name or code of the state or region.","maxLength":45,"example":"AZ"},"minimumAge":{"type":"integer","description":"Minimum age requirement for this location.","minimum":1,"maximum":100,"example":21}}},"example":[{"country":"US","minimumAge":21},{"country":"US","state":"AL","minimumAge":19}]}}},"faceProofSettings":{"type":"object","description":"Quality requirements for the face proof image of an identity proof document.","properties":{"minimumBrightness":{"type":"integer","minimum":0,"maximum":100,"default":40,"description":"Minimum brightness of the lighting in the detected face area of the face proof image.\nThe brightness scale ranges from `0` to `100`.\nA higher value indicates brighter lighting.\nIf the detected brightness is below this value,\nthe `hasMatchingFaceProof` check fails with the `face_match_low_brightness` reason.\nUse `0` to disable the brightness requirement."}}}}},"ProofOfIdentityKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of identity document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsIdentity"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"KycAddressMatches":{"type":"object","description":"Matched address data.","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"line1":{"description":"Address of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"36 Craven St"},"city":{"description":"Customer's city of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"region":{"description":"Customer's region of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"postalCode":{"description":"Postal code of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"WC2N 5NF"},"wordCount":{"description":"Total number of words in the document.","type":"integer","example":350},"uniqueWords":{"description":"Total number of unique words in the document.","type":"integer","example":175},"date":{"description":"Date detected on the document.\nUse this field to determine if the document is recent.","type":["string","null"],"format":"date-time","example":"2021-01-01T00:00:00+00:00"},"phone":{"description":"Phone number of the company or agency that issued the document.","type":["string","null"],"example":"(123) 456-7890"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"isTampered":{"description":"Specifies if an address proof document has been tampered with.","type":"boolean","example":false}}},"KycSettingsAddress":{"type":"object","description":"Address proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"line1":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's address is not matched."},"city":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's city is not matched."},"region":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's region is not matched."},"postalCode":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's postal code is not matched."},"date":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date is not detected on the document."},"phone":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a phone number is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}}}},"ProofOfAddressKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsAddress"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"FundsMatches":{"type":"object","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}},"ProofOfFundsKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of funds document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"PurchaseMatches":{"type":"object","properties":{"firstName":{"description":"First name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument related to the document.\nThis value is null if no match is found.","example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}},"ProofOfPurchaseKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of purchase document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","paymentInstrument"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"CreditFileCommonDecisionData":{"readOnly":true,"type":"object","properties":{"lastNameMatch":{"description":"Last name match.","type":"string","readOnly":true,"example":"Y"},"firstNameMatch":{"description":"First name match.","type":"string","readOnly":true,"example":"Y"},"civicNumberMatch":{"description":"Civic number match.","type":"string","readOnly":true,"example":"Y"},"streetNameMatch":{"description":"Street name match.","type":"string","readOnly":true,"example":"Y"},"cityMatch":{"description":"City match.","type":"string","readOnly":true,"example":"Y"},"postalCodeMatch":{"description":"Postal code match.","type":"string","readOnly":true,"example":"Y"},"provinceMatch":{"description":"Province match.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthMatch":{"description":"Date of birth match.","type":"string","readOnly":true,"example":"Y"},"ageOfCreditFileThreeOrMoreYearsOld":{"description":"Age of credit file is three or more years old.","type":"string","readOnly":true,"example":"Y"},"addressAsReported":{"description":"Address as reported.","type":"string","readOnly":true,"example":"Y"},"nameAsReported":{"description":"Name as reported.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthAsReported":{"description":"Date of birth as reported.","type":"string","readOnly":true,"example":"Y"}}},"CreditFileMatches":{"type":"object","properties":{"creditBureau":{"description":"Credit bureau from which the credit file data is sourced.","type":"string","readOnly":true,"enum":["equifax","experian","transunion","test-bureau"]},"creditFileNumber":{"description":"Credit file number from the credit bureau.","type":"string","readOnly":true},"name":{"description":"Name of the person to consult about the credit file.","type":"string","readOnly":true},"consultedDate":{"description":"Date to consult with the credit bureau about the credit file.","type":"string","format":"date-time","readOnly":true},"decision":{"description":"Specifies if the credit file is used in a single source, or as part of a dual source, proof of identity decision.","type":"string","enum":["single-source","dual-source","other"],"x-enumDescriptions":{"single-source":"Credit file used as a single source of proof for an identity decisions.","dual-source":"Credit file used as a source of proof where the credit bureau agency found two reliable trade sources.\nAt least two sources are required for a dual-source proof of identity decision.","other":"Credit file cannot be used for KYC decisions."},"readOnly":true},"trades":{"description":"Contains information to support the dual process.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Trade name.","example":"Rogers"},"accountNumber":{"type":"string","example":"123-ABC-123"},"dateOpened":{"type":"string","format":"date"}}},"readOnly":true},"referenceData":{"description":"Extra data from the credit bureau.","readOnly":true,"type":"object","properties":{"singleSourceHit":{"description":"Single source hit.","type":"string","readOnly":true,"example":"Y"},"dualSourceHit":{"description":"Dual source hit.","type":"string","readOnly":true,"example":"Y"},"waterfallProcess":{"description":"Waterfall process.","type":"string","readOnly":true,"example":"Y"},"creditFileCreatedDate":{"description":"Date when the credit file is created.","type":"string","readOnly":true},"numberOfTradesOnFile":{"description":"Number of trades on file.","type":"string","readOnly":true,"example":"001"},"singleDecision":{"description":"Data related to a single source decision.","type":"object","allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]},"dualDecision":{"description":"Data related to a dual source decision.","type":["array","null"],"items":{"allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]}}}}}},"ProofOfCreditFileKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"description":"Proof of credit document matches.","type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"KycDocument":{"type":"object","description":"KYC document information.","discriminator":{"propertyName":"documentType","mapping":{"identity-proof":"#/components/schemas/ProofOfIdentityKycDocument","address-proof":"#/components/schemas/ProofOfAddressKycDocument","funds-proof":"#/components/schemas/ProofOfFundsKycDocument","purchase-proof":"#/components/schemas/ProofOfPurchaseKycDocument","credit-file-proof":"#/components/schemas/ProofOfCreditFileKycDocument"}},"oneOf":[{"$ref":"#/components/schemas/ProofOfIdentityKycDocument"},{"$ref":"#/components/schemas/ProofOfAddressKycDocument"},{"$ref":"#/components/schemas/ProofOfFundsKycDocument"},{"$ref":"#/components/schemas/ProofOfPurchaseKycDocument"},{"$ref":"#/components/schemas/ProofOfCreditFileKycDocument"}]},"KycIdentityMatchesOverwrite":{"type":"object","description":"Request body for overwriting identity KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\n This value identifies the document match type as `identity-proof`.","type":"string","enum":["identity-proof"],"example":"identity-proof"}}},{"$ref":"#/components/schemas/KycIdentityMatches"}]},"KycAddressMatchesOverwrite":{"type":"object","description":"Request body for overwriting address KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `address-proof`.","type":"string","enum":["address-proof"],"example":"address-proof"}}},{"$ref":"#/components/schemas/KycAddressMatches"}]},"KycPurchaseMatchesOverwrite":{"type":"object","description":"Request body for overwriting purchase KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `purchase-proof`.","type":"string","enum":["purchase-proof"],"example":"purchase-proof"}}},{"$ref":"#/components/schemas/PurchaseMatches"}]},"KycFundsMatchesOverwrite":{"type":"object","description":"Request body for overwriting funds KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `funds-proof`.","type":"string","enum":["funds-proof"],"example":"funds-proof"}}},{"$ref":"#/components/schemas/FundsMatches"}]},"KycSettings":{"type":"object","description":"Settings for KYC score calculation.","properties":{"identityProof":{"$ref":"#/components/schemas/KycSettingsIdentity"},"addressProof":{"$ref":"#/components/schemas/KycSettingsAddress"},"uiVersion":{"description":"Version of the KYC document gatherer UI.","type":["string","null"],"enum":["1","2"],"default":"1","x-enumDescriptions":{"1":"Classic design.","2":"Modern design, optimized for the best user experience on both mobile and desktop devices."}}}},"ResetPasswordToken":{"type":"object","required":["username"],"properties":{"token":{"description":"ID of the token.","type":"string","readOnly":true},"username":{"description":"Username associated with the token.","type":"string"},"credentialId":{"description":"Credential ID associated with the token.","type":"string","readOnly":true},"expiredTime":{"description":"Date and time when the password expires.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentCardBrand":{"description":"Brand of payment card.","type":"string","enum":["Visa","MasterCard","American Express","Discover","Maestro","Solo","Electron","JCB","Voyager","Diners Club","Switch","Laser","China UnionPay","AstroPay Card"]},"UseAsBackup":{"description":"Specifies if this payment instrument can be used as a backup for invoice payment retries.","type":"boolean","default":false},"LastPaymentTime":{"description":"Date and time of the last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Payment Time"},"PaymentCard":{"type":"object","description":"Payment card information.","title":"Payment card","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["payment-card"]},"status":{"type":"string","description":"Status of the payment instrument.\nAn `active` status means that a payment instrument has been used at least once for an approved transaction.\nTo remove an instrument from use, set this value to `deactivated`.\n\nFor more information, see [`POST /payment-instruments/{id}/deactivation`](https://www.rebilly.com/catalog/all/payment-instruments/postpaymentinstrumentdeactivation).","enum":["active","inactive","expired","deactivated","verification-needed"]},"fingerprint":{"description":"Unique value that is used to identify the payment instrument.\nThis value is generated from the `bin` and the `last4` values.\nThis value contains alphanumeric characters.","type":"string","readOnly":true},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Primary Account Number (PAN).","type":"string","format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the associated Primary Account Number (PAN).","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThis value is only present for payment cards created from digital wallet tokens,\nwhere the FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in the digital wallet transaction.","type":["string","null"],"readOnly":true},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"bankCountry":{"description":"Bank country of the payment instrument.","type":["string","null"],"readOnly":true},"bankName":{"description":"Bank name of the payment instrument.","type":"string","readOnly":true},"isPayoutable":{"description":"Specifies if payouts are supported for cards with this BIN.\nDefaults to `true`.\nThis value is `false` if the BIN does not support payouts.","type":"boolean","readOnly":true},"billingAddress":{"description":"Contact's billing address.","$ref":"#/components/schemas/ContactObject"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"billingPortalUrl":{"description":"URL of the billing portal where the card can be updated.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"expirationReminderTime":{"description":"Date and time when an expiration reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"expirationReminderNumber":{"description":"Number of expiration reminder events that have triggered.","type":["integer","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"digitalWallet":{"readOnly":true,"description":"Digital wallet type.","type":["string","null"],"enum":["Apple Pay","Google Pay","Samsung Pay",null]},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"BankAccount":{"type":"object","title":"Bank account","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["ach"]},"bankName":{"description":"Name of the bank.","type":"string"},"routingNumber":{"description":"Bank routing number.","type":"string"},"accountNumberType":{"description":"Type of bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","default":"BBAN","enum":["BBAN","IBAN"]},"accountType":{"description":"Type of bank account.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":["string","null"]},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"fingerprint":{"description":"Unique value which identifies the bank account.\nThis value contains alphanumeric characters.\nDepending on the type of bank account number,\na bank account fingerprint is generated using one of the following:\n- BBAN: `last4` and `routingNumber` values.\n- IBAN: First 8 characters of the IBAN and the `last4` value.","type":"string","readOnly":true},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true},"status":{"description":"Status of the bank account.","type":"string","readOnly":true,"enum":["active","deactivated"]},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PayPalAccount":{"type":"object","title":"PayPal account","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","enum":["paypal"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"username":{"description":"PayPal username.","type":"string","readOnly":true},"status":{"description":"PayPal account status.","type":"string","readOnly":true,"enum":["inactive","active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"AlternativePaymentMethods":{"type":"string","description":"Payment method.","enum":["cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Alfa-click","Alipay","AstroPay Card","AstroPay-GO","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Boleto","cash-deposit","CASHlib","CashToCode","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Cupon-de-pagos","cryptocurrency","domestic-cards","Directa24Card","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","Efecty","EPS","ePay.bg","eZeeWallet","FasterPay","Flexepin","Giropay","Gpaysafe","Google Pay","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","instant-bank-transfer","InstantPayments","Interac","Interac-online","Interac-eTransfer","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","loonie","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Bancontact","Bancontact-mobile","MTS","Mollie","MuchBetter","MuchBetterVoucher","Multibanco","Neosurf","Netbanking","Neteller","Nordea-Solo","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-deposit-express","Pagsmile-lottery","PayCash","Payco","Payeer","PaymentAsia-crypto","Paymero","Perfect-money","Piastrix","PIX","PIX-Automatico","plaid-account","PayTabs","Paysafecard","Paysafecash","Pay4Fun","Paynote","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","Resurs","SafetyPay","Samsung Pay","SEPA","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","swift-dbt","Tele2","Terminaly-RF","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","wire","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]},"AlternativeInstrument":{"type":"object","title":"Alternative instrument","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck"]}}]},"billingAddress":{"description":"Billing address of the user that is associated with the payment instrument.","$ref":"#/components/schemas/ContactObject"},"status":{"description":"Payment instrument status.","type":"string","readOnly":true,"enum":["active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PaymentInstrument":{"discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCard","ach":"#/components/schemas/BankAccount","paypal":"#/components/schemas/PayPalAccount","Khelocard":"#/components/schemas/AlternativeInstrument","cash":"#/components/schemas/AlternativeInstrument","check":"#/components/schemas/AlternativeInstrument","AdvCash":"#/components/schemas/AlternativeInstrument","Alfa-click":"#/components/schemas/AlternativeInstrument","Alipay":"#/components/schemas/AlternativeInstrument","AstroPay Card":"#/components/schemas/AlternativeInstrument","AstroPay-GO":"#/components/schemas/AlternativeInstrument","BankReferenced":"#/components/schemas/AlternativeInstrument","bank-transfer":"#/components/schemas/AlternativeInstrument","bank-transfer-2":"#/components/schemas/AlternativeInstrument","bank-transfer-3":"#/components/schemas/AlternativeInstrument","bank-transfer-4":"#/components/schemas/AlternativeInstrument","bank-transfer-5":"#/components/schemas/AlternativeInstrument","bank-transfer-6":"#/components/schemas/AlternativeInstrument","bank-transfer-7":"#/components/schemas/AlternativeInstrument","bank-transfer-8":"#/components/schemas/AlternativeInstrument","bank-transfer-9":"#/components/schemas/AlternativeInstrument","Baloto":"#/components/schemas/AlternativeInstrument","Beeline":"#/components/schemas/AlternativeInstrument","Belfius-direct-net":"#/components/schemas/AlternativeInstrument","bitcoin":"#/components/schemas/AlternativeInstrument","Bizum":"#/components/schemas/AlternativeInstrument","Boleto":"#/components/schemas/AlternativeInstrument","cash-deposit":"#/components/schemas/AlternativeInstrument","CASHlib":"#/components/schemas/AlternativeInstrument","CashToCode":"#/components/schemas/AlternativeInstrument","China UnionPay":"#/components/schemas/AlternativeInstrument","Cleo":"#/components/schemas/AlternativeInstrument","CODVoucher":"#/components/schemas/AlternativeInstrument","Conekta-oxxo":"#/components/schemas/AlternativeInstrument","Cupon-de-pagos":"#/components/schemas/AlternativeInstrument","cryptocurrency":"#/components/schemas/AlternativeInstrument","domestic-cards":"#/components/schemas/AlternativeInstrument","ecoPayz":"#/components/schemas/AlternativeInstrument","ecoVoucher":"#/components/schemas/AlternativeInstrument","Efecty":"#/components/schemas/AlternativeInstrument","EPS":"#/components/schemas/AlternativeInstrument","ePay.bg":"#/components/schemas/AlternativeInstrument","eZeeWallet":"#/components/schemas/AlternativeInstrument","FasterPay":"#/components/schemas/AlternativeInstrument","Flexepin":"#/components/schemas/AlternativeInstrument","Giropay":"#/components/schemas/AlternativeInstrument","Gpaysafe":"#/components/schemas/AlternativeInstrument","Google Pay":"#/components/schemas/AlternativeInstrument","iDebit":"#/components/schemas/AlternativeInstrument","iDEAL":"#/components/schemas/AlternativeInstrument","ING-homepay":"#/components/schemas/AlternativeInstrument","INOVAPAY-pin":"#/components/schemas/AlternativeInstrument","INOVAPAY-wallet":"#/components/schemas/AlternativeInstrument","InstaDebit":"#/components/schemas/AlternativeInstrument","instant-bank-transfer":"#/components/schemas/AlternativeInstrument","InstantPayments":"#/components/schemas/AlternativeInstrument","Interac":"#/components/schemas/AlternativeInstrument","Interac-online":"#/components/schemas/AlternativeInstrument","Interac-eTransfer":"#/components/schemas/AlternativeInstrument","invoice":"#/components/schemas/AlternativeInstrument","iWallet":"#/components/schemas/AlternativeInstrument","Jeton":"#/components/schemas/AlternativeInstrument","jpay":"#/components/schemas/AlternativeInstrument","Klarna":"#/components/schemas/AlternativeInstrument","KNOT":"#/components/schemas/AlternativeInstrument","loonie":"#/components/schemas/AlternativeInstrument","Matrix":"#/components/schemas/AlternativeInstrument","MaxiCash":"#/components/schemas/AlternativeInstrument","Megafon":"#/components/schemas/AlternativeInstrument","MiFinity-eWallet":"#/components/schemas/AlternativeInstrument","miscellaneous":"#/components/schemas/AlternativeInstrument","Bancontact":"#/components/schemas/AlternativeInstrument","Bancontact-mobile":"#/components/schemas/AlternativeInstrument","MTS":"#/components/schemas/AlternativeInstrument","MuchBetter":"#/components/schemas/AlternativeInstrument","Multibanco":"#/components/schemas/AlternativeInstrument","Neosurf":"#/components/schemas/AlternativeInstrument","Netbanking":"#/components/schemas/AlternativeInstrument","Neteller":"#/components/schemas/AlternativeInstrument","Nordea-Solo":"#/components/schemas/AlternativeInstrument","OchaPay":"#/components/schemas/AlternativeInstrument","online-bank-transfer":"#/components/schemas/AlternativeInstrument","Onlineueberweisen":"#/components/schemas/AlternativeInstrument","oriental-wallet":"#/components/schemas/AlternativeInstrument","OXXO":"#/components/schemas/AlternativeInstrument","P24":"#/components/schemas/AlternativeInstrument","Pagadito":"#/components/schemas/AlternativeInstrument","PagoEffectivo":"#/components/schemas/AlternativeInstrument","Pagsmile-deposit-express":"#/components/schemas/AlternativeInstrument","Pagsmile-lottery":"#/components/schemas/AlternativeInstrument","PayCash":"#/components/schemas/AlternativeInstrument","Payeer":"#/components/schemas/AlternativeInstrument","PaymentAsia-crypto":"#/components/schemas/AlternativeInstrument","Paymero":"#/components/schemas/AlternativeInstrument","Perfect-money":"#/components/schemas/AlternativeInstrument","Piastrix":"#/components/schemas/AlternativeInstrument","plaid-account":"#/components/schemas/AlternativeInstrument","PayTabs":"#/components/schemas/AlternativeInstrument","Paysafecard":"#/components/schemas/AlternativeInstrument","Paysafecash":"#/components/schemas/AlternativeInstrument","Pay4Fun":"#/components/schemas/AlternativeInstrument","Paynote":"#/components/schemas/AlternativeInstrument","PinPay":"#/components/schemas/AlternativeInstrument","phone":"#/components/schemas/AlternativeInstrument","PhonePe":"#/components/schemas/AlternativeInstrument","POLi":"#/components/schemas/AlternativeInstrument","PostFinance-card":"#/components/schemas/AlternativeInstrument","PostFinance-e-finance":"#/components/schemas/AlternativeInstrument","QIWI":"#/components/schemas/AlternativeInstrument","QPay":"#/components/schemas/AlternativeInstrument","QQPay":"#/components/schemas/AlternativeInstrument","rapyd-checkout":"#/components/schemas/AlternativeInstrument","Resurs":"#/components/schemas/AlternativeInstrument","SafetyPay":"#/components/schemas/AlternativeInstrument","SEPA":"#/components/schemas/AlternativeInstrument","Skrill":"#/components/schemas/AlternativeInstrument","Skrill Rapid Transfer":"#/components/schemas/AlternativeInstrument","SMSVoucher":"#/components/schemas/AlternativeInstrument","Sofort":"#/components/schemas/AlternativeInstrument","SparkPay":"#/components/schemas/AlternativeInstrument","swift-dbt":"#/components/schemas/AlternativeInstrument","Tele2":"#/components/schemas/AlternativeInstrument","Terminaly-RF":"#/components/schemas/AlternativeInstrument","Thunes-Checkout":"#/components/schemas/AlternativeInstrument","ToditoCash-card":"#/components/schemas/AlternativeInstrument","Trustly":"#/components/schemas/AlternativeInstrument","UPayCard":"#/components/schemas/AlternativeInstrument","UPI":"#/components/schemas/AlternativeInstrument","USD-coin":"#/components/schemas/AlternativeInstrument","VCreditos":"#/components/schemas/AlternativeInstrument","VenusPoint":"#/components/schemas/AlternativeInstrument","voucher":"#/components/schemas/AlternativeInstrument","voucher-2":"#/components/schemas/AlternativeInstrument","voucher-3":"#/components/schemas/AlternativeInstrument","voucher-4":"#/components/schemas/AlternativeInstrument","Webmoney":"#/components/schemas/AlternativeInstrument","Webpay":"#/components/schemas/AlternativeInstrument","Webpay-2":"#/components/schemas/AlternativeInstrument","Webpay Card":"#/components/schemas/AlternativeInstrument","WeChat Pay":"#/components/schemas/AlternativeInstrument","XPay-P2P":"#/components/schemas/AlternativeInstrument","XPay-QR":"#/components/schemas/AlternativeInstrument","Yandex-money":"#/components/schemas/AlternativeInstrument","Zotapay":"#/components/schemas/AlternativeInstrument","Zimpler":"#/components/schemas/AlternativeInstrument"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCard"},{"$ref":"#/components/schemas/BankAccount"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]},"PaymentInstrumentCreateToken":{"title":"Payment token","type":"object","required":["customerId","token"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"token":{"description":"ID of the payment token.","type":"string"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentCardCreatePlain":{"title":"Payment card","type":"object","required":["method","customerId","pan","expYear","expMonth","billingAddress"],"properties":{"method":{"description":"Method of the payment instrument.","type":"string","enum":["payment-card"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BBANType":{"type":"object","description":"BBAN type object.","required":["accountNumberType","method","customerId","accountNumber","routingNumber","accountType","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","pattern":"^[0-9]+$","example":"1234567890"},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$","example":"123456789"},"accountType":{"description":"Type of the bank account.","type":"string","enum":["checking","savings","other"]},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"IBANType":{"type":"object","description":"IBAN type object.","required":["accountNumberType","method","customerId","accountNumber","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","example":"DE89370400440532013000"},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string","example":"DEUTDE8LXXX"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BankAccountCreatePlain":{"title":"Bank account","type":"object","required":["accountNumberType"],"discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANType","IBAN":"#/components/schemas/IBANType"}},"oneOf":[{"$ref":"#/components/schemas/BBANType"},{"$ref":"#/components/schemas/IBANType"}]},"PaymentInstrumentUpdateToken":{"type":"object","properties":{"token":{"description":"ID of the payment token.","type":"string"},"billingAddress":{"description":"Customer's billing address.\nIf this value is supplied it overrides the billing address that is supplied with the token.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\nTo remove the sticky gateway account from a payment instrument, set this value to `null`.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentCardUpdatePlain":{"type":"object","properties":{"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BankAccountUpdatePlain":{"type":"object","properties":{"bankName":{"description":"Name of the bank.","type":"string"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentInstrumentNameInquiry":{"type":"object","description":"Perform a name inquiry on a payment instrument.","required":["gatewayAccountId"],"properties":{"gatewayAccountId":{"description":"ID of the gateway account.","type":"string"},"result":{"description":"Result of the payment instrument name inquiry.","type":"string","readOnly":true,"enum":["full-match","partial-match","no-match","not-supported","unknown"]},"response":{"readOnly":true,"description":"Raw response message from gateway.","type":"string"}}},"PlanFormulaFixedFee":{"title":"Fixed-fee","description":"Fixed-fee pricing details.\nUse this formula for subscriptions that involve the same price,\nnumber of units, and reoccur over a fixed period of time.\n\nFor more information, see [Fixed-fee per period](https://www.rebilly.com/docs/settings/pricing-formulas/#fixed-fee-per-period).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["fixed-fee"]},"price":{"description":"Use this formula to charge for subscriptions that have a fixed price,\nnumber of units, and reoccur over a fixed period of time,\nsuch as every: day, week, month, year, or number of years.\n\nFor example, a streaming company charges customers $13.99 each month for subscription period that is 6 months in duration.\nThe quantity of movies that a customer streams each month does not impact the price.","type":"number","format":"double","example":99.95}}},"PlanFormulaFlatRate":{"title":"Flat rate","description":"Flat rate pricing details.\nUse this formula to charge a flat fee per unit.\nFor example, $0.10 per transaction or $4 per unit.\n\nFor more information, see [Flat rate pricing](https://www.rebilly.com/docs/billing/pricing-formulas/#flat-rate-pricing).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["flat-rate"]},"price":{"description":"Use this formula to charge a flat fee per unit.\nFor example, $0.10 for each transaction or $4 per unit.\n\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaStairstep":{"title":"Stair-step","description":"Stair-step pricing details.\nUse this formula to charge for units that are sold in specific quantities.\n\nFor more information, see [Stair-step](https://www.rebilly.com/docs/billing/pricing-formulas/#stair-step).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["stairstep"]},"brackets":{"description":"Use this formula to charge for units that are sold in specific quantity ranges.\n\nFor example, a bank charges a merchant based on the number of transactions they complete each month.\n\nPrice total | Max quantity | Description\n------------|--------------|------------\n$50         | 1000         | Up to 1000 transactions\n$100        | 1500         | Between 1000 and 1500 transactions\n$200        | 3000         | Between 1500 and 3000 transactions\n$500        | null         | More than 3000 transactions\n\n- If the merchant completes 900 transaction in a month, they are charged $50.\n- If the merchant completes 1001 transaction in a month, they are charged $100.\n- If the merchant completes 2500  transaction in a month, they are charged $200.\n- If the merchant completes more than 3000 transaction in a month, they are charged $500.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaTiered":{"title":"Tiered","description":"Tiered pricing details.\nUse this formula to charge for units that are sold within defined quantity ranges, or tiers.\n\nFor more information, see [Tiered](https://www.rebilly.com/docs/settings/pricing-formulas/#tiered).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["tiered"]},"brackets":{"description":"Use this formula to charge for units that are sold within defined quantity ranges, or tiers.\nIf a customer buys a number of units that span more than one tier,\nthe total cost is calculated based on the cost of the units in each tier.\n\nFor example, a software company sells user licenses based on the following:\n\nTier | Price per user | Max quantity | Description\n-----|----------------|--------------|------------\n1    | $40            | 3            | 1 to 3 user licenses\n2    | $30            | 5            | 5 to 8 user licenses\n3    | $15            | null         | 9 or more user licenses\n\nIf a customer buys 10 user licenses, the pricing is as follows:\n- 3 licenses at tier 1 (3 x $40) is 120\n- 5 licenses at tier 2 (5 x $30) is 150\n- 2 licenses at tier 3 (2 x $15) is 30\n\nTotal cost = $330\n\nFormula: `(price for the tier x quantity within the tier)` + `(price for next tier x quantity in next tier)` + `...` = final price.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaVolume":{"title":"Volume","description":"Volume pricing details.\nUse this formula to charge for units that are sold in bulk,\nor volume ranges. In general,\nthis formula means that a customer pays less per unit when they buy a large volume of units.\n\nFor more information, see [Volume](https://www.rebilly.com/docs/settings/pricing-formulas/#volume).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["volume"]},"brackets":{"description":"Use this formula to charge for units that are sold in bulk, or volume ranges.\nThis formula enables customers to pays less per unit when they buy a large volume of units.\nUnit cost is based on the highest volume range, and does not include lower volume range pricing.\n\nFor example, a company sells t-shirts in the following volume ranges:\n\nPrice per unit| Max quantity | Description\n--------------|--------------|------------\n$10           | 1            | 1 t-shirt\n$8            | 5            | 2 to 5 t-shirts\n$4            | null         | 6 or more t-shirts\n\n- If a customer buys 1 unit, they pay $10.\n- If a customer buys 3 units, they pay $24 per unit, which is $8 per unit.\n- If a customer buys 10 units, they pay $40, which is $4 per unit.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanPriceFormula":{"description":"Pricing details.","type":"object","discriminator":{"propertyName":"formula","mapping":{"fixed-fee":"#/components/schemas/PlanFormulaFixedFee","flat-rate":"#/components/schemas/PlanFormulaFlatRate","stairstep":"#/components/schemas/PlanFormulaStairstep","tiered":"#/components/schemas/PlanFormulaTiered","volume":"#/components/schemas/PlanFormulaVolume"}},"oneOf":[{"$ref":"#/components/schemas/PlanFormulaFixedFee"},{"$ref":"#/components/schemas/PlanFormulaFlatRate"},{"$ref":"#/components/schemas/PlanFormulaStairstep"},{"$ref":"#/components/schemas/PlanFormulaTiered"},{"$ref":"#/components/schemas/PlanFormulaVolume"}]},"PlanSetup":{"type":["object","null"],"description":"Setup fee information for the plan.","required":["price"],"properties":{"price":{"description":"One-time setup fee charged when the plan starts.\nThis field is deprecated.\nUse the `setupFee` field instead.","type":"number","format":"double","deprecated":true}},"deprecated":true},"PlanSetupFee":{"description":"One-time setup fee charged when the plan starts.\nSet to `0` or `null` if no setup fee applies.","type":["number","null"],"format":"double","minimum":0,"example":0},"SchedulingMethodDayAndMonthOfYear":{"type":"object","properties":{"method":{"type":"string","enum":["day-and-month-of-year"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month of the year in which the event occurs."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","month","method"]},"ServicePeriodAnchorInstruction":{"type":["object","null"],"description":"Instruction for calculating the service period anchor.\n\nThe service period anchor is used, in conjunction with the subscription\nstart time, to calculate when the service period starts and ends.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}]},"PlanTrial":{"type":["object","null"],"required":["price","period"],"properties":{"price":{"description":"Price of setting up a trial.\nIf your service charges a fee for a trial, specify it here.\nTo charge no trial fee, set this value to `0`.","type":"number","format":"double"},"period":{"type":"object","description":"Period information.","required":["unit","length"],"properties":{"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1}}}}},"InvoiceTimeShift":{"type":["object","null"],"description":"Use invoice time shift to control the billing time.\n\nInvoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes.\n\nUse invoice time shift in conjunction with `billingTiming` to:\n\n- Bill immediately when the service period starts.\n- Bill immediately after the service period ends.\n- Bill at an interval of time before the service period starts.\n- Bill at an interval of time after the service period starts.\n- Bill at an interval of time before the service period ends.\n- Bill at an interval of time after the service period ends.","properties":{"issueTimeShift":{"type":"object","description":"Calculation instruction of the billing time.\n\nThis is used in conjunction with the service period anchor to calculate\nthe time at which the invoice is issued. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","required":["chronology","duration","unit"],"properties":{"chronology":{"type":"string","description":"Sequential order of the billing time relative to the start of the service period.","enum":["before"]},"duration":{"type":"integer","description":"Amount of time by which to move the invoice issue time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}},"dueTimeShift":{"type":"object","required":["duration","unit"],"description":"Calculation instruction of the invoice due time.\n\nThis is used in conjunction with the service period anchor to calculate when\nan invoice is due for payment. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).\n\nThe sequential order of due time shift is always after the due date.","default":{"duration":1,"unit":"hour"},"properties":{"duration":{"type":"integer","description":"Amount of time by which to move the invoice due time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}}}},"SubscriptionPlan":{"title":"SubscriptionPlan","description":"Details of the subscription order plan.\nUse this plan for subscriptions or sales that reoccur over a period of time.","type":"object","required":["name","currency","productId","pricing","recurringInterval"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `subscription` when `recurringInterval` is present.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["subscription"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"description":"Service interval settings.","type":"object","required":["unit","length"],"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"},"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1},"limit":{"description":"Number of invoices the subscription order generates.\nIf this value is `1`, only the initial order creation is generated.\n\nExample: For a 1 year contract that is billed monthly,\nwhere the `periodUnit` is `month` and the `periodDuration` is `1`,\nset this field to `12`.","type":["integer","null"],"minimum":1,"maximum":65535},"billingTiming":{"type":"string","default":"prepaid","description":"Billing timing in relation to the service period.\nFor `prepaid` plans the customer pays when the service period starts,\nwhereas, for `postpaid` plans, the customer pays when the service period ends.","enum":["prepaid","postpaid"]}}},"trial":{"description":"Trial configuration setting.\nIf you do not want to offer a trial, set this value to `null`.","$ref":"#/components/schemas/PlanTrial"},"meteredBilling":{"type":["object","null"],"required":["strategy"],"description":"Use metered billing when an exact quantity is unknown.\nReport usage during a service period and charge customers afterwards.\nMetered billing plans must be postpaid.","properties":{"strategy":{"type":"string","enum":["sum","last"],"x-enumDescriptions":{"sum":"Total amount of reported invoice item quantity usage.","last":"Last reported invoice item quantity usage."}},"min":{"description":"Minimum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"max":{"description":"Maximum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"sticky":{"description":"When enabled, if no usage is reported during a service period,\nthe plan bills the last known reported quantity from a previous period instead of zero.\nThis is suitable for hosted or persistent resources whose usage does not change every period.\nOnly supported with `strategy`: `last`.","type":"boolean","default":false,"example":false}}},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"SubscriptionPlanDetails":{"title":"SubscriptionPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},"OneTimeSalePlan":{"title":"OneTimeSalePlan","type":"object","description":"Details of the one-time sale plan.\nUse this plan for non-recurring, one-time, sales.","required":["name","currency","productId","pricing"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `one-time-sale` when both `recurringInterval` and `trial` are omitted.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["one-time-sale"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"type":"null","description":"Trial configuration setting.","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"OneTimeSalePlanDetails":{"title":"OneTimeSalePlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},"TrialOnlyPlan":{"title":"TrialOnlyPlan","description":"Details of the trial-only plan.\nUse this plan for limited-time product trials.\nTrials may have a reduced fee, or may be free.","type":"object","required":["name","currency","productId","trial"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `trial-only` when `trial` is present without `recurringInterval`.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["trial-only"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":true,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"description":"Trial configuration settings.","allOf":[{"type":"object"},{"$ref":"#/components/schemas/PlanTrial"}]},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"description":"Use invoice time shift to adjust the invoice issue and due date when billing must occur before the service period changes.\nFor example, rent must be paid in advance,\nso the invoice must be in advance of the billing date.\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"TrialOnlyPlanDetails":{"title":"TrialOnlyPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]},"Plan":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/SubscriptionPlanDetails","one-time-sale":"#/components/schemas/OneTimeSalePlanDetails","trial-only":"#/components/schemas/TrialOnlyPlanDetails"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionPlanDetails"},{"$ref":"#/components/schemas/OneTimeSalePlanDetails"},{"$ref":"#/components/schemas/TrialOnlyPlanDetails"}]},"PlanRequest":{"title":"PlanRequest","oneOf":[{"$ref":"#/components/schemas/SubscriptionPlan"},{"$ref":"#/components/schemas/OneTimeSalePlan"},{"$ref":"#/components/schemas/TrialOnlyPlan"}]},"Product":{"type":"object","required":["name"],"description":"Products are the items that your business sells.\nProducts include digital goods, services, and physical goods.\nProducts appear on invoice line items.\nIf you set a tax category identifier, taxes are calculated at invoice generation.\nIf the product is shippable, shipping costs are calculated at invoice generation.\nPricing and variations are set within plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","properties":{"id":{"type":"string","description":"ID of the product.","readOnly":true,"maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"name":{"description":"Name of the product.","type":"string","minLength":3,"maxLength":255,"example":"Premium membership"},"unitLabel":{"description":"Unit label, such as per `seat` or per `unit`.","type":"string","minLength":1,"maxLength":50,"example":"seat","default":"unit"},"description":{"description":"Description of the product.","type":["string","null"],"maxLength":512},"requiresShipping":{"description":"Specifies if the product requires shipping.\nIf this value is `true`, shipping calculations are applied.","type":"boolean","example":false,"default":false},"options":{"description":"Product options such as color, size, and so forth.\nProduct option values are defined in plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","type":"array","items":{"type":"string"}},"taxCategoryId":{"description":"Tax category of the product.\nFor a complete list of supported tax categories, see [TaxJar sales tax API reference](https://developers.taxjar.com/api/reference/#get-list-tax-categories).\nIf none of the tax categories from the list are applicable for your product, use the general tax category `00000`.","type":["string","null"],"example":"00000"},"accountingCode":{"description":"Accounting code of the product.","type":["string","null"],"example":"4010"},"recognition":{"type":["object","null"],"properties":{"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"]},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"]}}},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OriginalPlan":{"type":"object","description":"Use an existing plan without changes for the current order.\n\nTo create a new plan, see [Create a plan](https://www.rebilly.com/catalog/all/plans/postplan).","required":["id"],"additionalProperties":false,"properties":{"id":{"description":"ID of the plan.","$ref":"#/components/schemas/ResourceId"}}},"FlexiblePlan":{"oneOf":[{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}]},"UsageLimits":{"type":"object","description":"Specifies the soft and hard usage limit thresholds for an item with a metered billing plan.\nThis value is ignored when the plan is not metered.","properties":{"softLimit":{"type":"object","description":"Defines thresholds for notification purposes.\nFor example, to notify the customer that their usage is near the hard limit of their metered billing plan.\nThis notification informs the customer so that they can upgrade their plan before the hard limit is reached.\nWhen metered usage equals or exceeds the configured soft limit, the `soft-usage-limit-reached` event is triggered.\nThe quantity limit applies to the larger of the reported and billed quantity.\nIf a minimum billable quantity results in a billed quantity that is higher than the reported quantity, the billed quantity applies to the limit.\nIf a maximum billable quantity results in a billed quantity that is lower than the reported quantity, the reported quantity applies to the limit.\nThe amount limit applies to the billed amount.\nTo notify the customer, a webhook and notification can be configured for this event.\nThis field is useful for accounting and customer success purposes.\nThe usage of metered billing plans can still be reported if the soft limit is reached.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"hardLimit":{"type":"object","description":"Defines a limit where the customer can no longer use the service.\nHard limits are used in addition to soft limits.\nWhen a soft limit is reached,\na customer may receive a notification\nbut the service can still be provided up to the hard limit value so that the customer can upgrade their plan.\nWhen the reported usage reaches the configured limit,\na specific event is triggered.\nTo notify the customer in the merchant system,\nor block a service,\na webhook and notification can be configured for this event.\nWhen the total usage reaches the hard limit quantity,\nor amount values,\nmetered billing plan usages can no longer be reported.\nPlans with a minimum quantity, fixed fee, or flat stairstep bracket set a minimum billable quantity and amount.\nA `quantity` value below the minimum billable quantity is invalid.\nAn `amount` value below the minimum billable amount is invalid.\nA `0` value remains valid even on plans with minimum billing.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"trialLimit":{"oneOf":[{"type":"number","format":"double","minimum":0},{"type":"null"}],"description":"Defines a usage cap during the trial period of a subscription.\nThis limit is enforced only while the subscription is in its trial phase.\nWhen the reported usage reaches the configured trial limit, an event called 'trial-usage-limit-reached' is triggered.\nTo notify the customer or restrict access to the service, a webhook and notification can be configured for this event.\nOnce the trial limit is reached, additional usage cannot be reported unless the trial ends.","example":20.725}}},"QuoteSubscriptionItem":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["subscription"]},"quantity":{"description":"Number of product units in the specified plan.\nQuantity for metered billing is always 0.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.\nThis field is not used for metered billing plans.","type":["number","null"],"format":"double","example":5.125},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the quote item.\nThis value is only used for metered billing items.","example":"50% of the markup for approved transactions","default":"","maxLength":255},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"QuoteOneTimeSaleItem":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["one-time-sale"]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"QuoteItem":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/QuoteSubscriptionItem","one-time-sale":"#/components/schemas/QuoteOneTimeSaleItem"}},"oneOf":[{"$ref":"#/components/schemas/QuoteSubscriptionItem"},{"$ref":"#/components/schemas/QuoteOneTimeSaleItem"}]},"CreationQuote":{"type":"object","title":"CreationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, a new order is created.","type":"string","enum":["creation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote and created an order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["items"],"properties":{"id":{"description":"ID of the related order.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"autopay":{"type":"boolean","default":false,"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order."},"shipping":{"$ref":"#/components/schemas/Shipping"},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"startTime":{"description":"Date and time when the created order starts.\nIf this value is `null`, the quote acceptance time is used.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"isLegacy":{"description":"Specifies if the order is a legacy order.\nIf omitted when the quote is created, the value follows the order model that is used by the organization: `false` for the current order model and `true` for the legacy order model.\nIf omitted when the quote is updated, the value does not change.\nOrganizations that use the current order model cannot set this value to `true`.","type":"boolean","example":true}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"ChangeQuote":{"type":"object","title":"ChangeQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the related order.\nChange quotes can only be created for orders with `active` or `trial-ended` status.\nFor `trial-ended` orders, use this quote type to convert a trial-only order to a regular recurring order.","type":"string","enum":["change"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. Quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"renewalPolicy":{"description":"Policy for managing service periods and trial state of the related order when the quote is accepted.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` flag is ignored unless `retain` is used, or this field is omitted.\nIf this field is omitted, this value defaults to `retainRecurring`.\nIf this field is omitted and `keepTrial` is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"string","default":"retainRecurring","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring` or `retainTrialThenRecurring` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring` or `retainTrialThenRecurring`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period length.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the time of quote acceptance.","type":["string","null"],"format":"date-time"},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change at once.\n  `prorated`, `renewalPolicy` and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `prorated` and `renewalPolicy` are ignored.\n  Omit `effectiveTime`.\n  If the request includes `effectiveTime`, a validation error is returned.\n  `couponIds` and `usageSettings` are not supported.\n  If the request includes either field, a validation error is returned.\n  `interimOnly` must be `true`.\n  A later request replaces the pending change.\n  The pending change is locked when the next renewal invoice is issued.\n  One-time sale items that are already on the order are retained.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`, or omitted.\nIf `renewalPolicy` is omitted and this field is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"boolean","default":false},"interimOnly":{"type":"boolean","default":true,"description":"Specifies if the quotation invoice must include interim items only.\nIf this value is set to `false`, all upcoming items are included.\nWith `applyAt` set to `nextRenewal`, this value must be `true`.\nTo bill the next period now, issue the upcoming invoice of the order."},"usageSettings":{"type":"array","default":[],"description":"Usage settings for items with metered billing.","items":{"type":"object","required":["productId","policy"],"properties":{"productId":{"type":"string","description":"ID of the product to use to transfer usage.\nIf the `policy` value is `transfer`,\nand an existing item and a new item are of the same product,\nusage can be transferred to the new item.\nIf a new item of the same product does not exist,\nor does not have a metered billing plan,\nthis transfer is ignored.","example":"prod_0YV7DENSVGDBW9S71XZNNYYQ0X"},"policy":{"type":"string","enum":["reset","transfer"],"description":"Policy for removed items that have a metered billing plan.","x-enumDescriptions":{"reset":"Delete existing usages.","transfer":"Transfer usages from removed item to new item of the same product."}}}}},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"ReactivationQuote":{"type":"object","title":"ReactivationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the order and the order is reactivated.","type":"string","enum":["reactivation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. The related order is reactivated and quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":["string","null"],"format":"date-time"},"paymentInstrumentId":{"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"includeUnpaidInvoices":{"type":"boolean","default":false,"example":false,"description":"Specifies whether the quote invoice includes items from outstanding unpaid and past-due invoices for the related order.\nWhen this value is `true`, the quote invoice includes charges for eligible items from those invoices.\nWhen the quote is accepted, only invoices included in the quote that remain unpaid or past due and can be voided are voided."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"Quote":{"discriminator":{"propertyName":"type","mapping":{"creation":"#/components/schemas/CreationQuote","change":"#/components/schemas/ChangeQuote","reactivation":"#/components/schemas/ReactivationQuote"}},"oneOf":[{"$ref":"#/components/schemas/CreationQuote"},{"$ref":"#/components/schemas/ChangeQuote"},{"$ref":"#/components/schemas/ReactivationQuote"}]},"QuoteReissue":{"type":"object","properties":{"expirationTime":{"description":"Date and time when the reissued quote expires.\nA new expiration time must be later than the current time.\nIf this field is `null` or omitted, the quote keeps its expiration time when it has not passed.\nOtherwise, the quote expires one month after it is reissued.","type":["string","null"],"format":"date-time"}}},"QuoteTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["quote-created","quote-issued","quote-accepted","quote-rejected","quote-canceled","quote-recalled","quote-updated","quote-expired","quote-order-attached","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ReadyToPayAmount":{"type":"object","title":"With amount","required":["websiteId","currency","amount","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount to pay.","type":"number","format":"double"},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}},"ReadyToPayItems":{"type":"object","title":"With items","required":["websiteId","items","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}},"ReadyToPay":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAmount"},{"$ref":"#/components/schemas/ReadyToPayItems"}]},"PostReadyToPayRequest":{"allOf":[{"type":"object","properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"}}},{"$ref":"#/components/schemas/ReadyToPay"}]},"Country":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"},"DigitalWalletCountry":{"description":"ISO 3166 alpha-2 country code where the payment is processed.\nThis is often the location for settling the payment.\nConsult with your Payment Service Provider (PSP) to determine the\nappropriate country code.","$ref":"#/components/schemas/Country"},"ApplePayFeature":{"type":"object","title":"Apple Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Apple Pay"]},"displayName":{"description":"String of 64 or fewer UTF-8 characters containing the canonical name for your store,\nthat is suitable for display.\nDo not localize the name.","type":"string","example":"Test Merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"GooglePayFeature":{"type":"object","title":"Google Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Google Pay"]},"merchantName":{"description":"Merchant name in Google Pay.","type":"string","example":"Test Merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay.\nThe fully qualified domain name.","type":"string","example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"SamsungPayFeature":{"type":"object","title":"Samsung Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Samsung Pay"]},"merchantName":{"description":"Merchant name in Samsung Pay.","type":"string","example":"Test Merchant"}}},"PaymentCardFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Apple Pay":"#/components/schemas/ApplePayFeature","Google Pay":"#/components/schemas/GooglePayFeature","Samsung Pay":"#/components/schemas/SamsungPayFeature"}},"oneOf":[{"$ref":"#/components/schemas/ApplePayFeature"},{"$ref":"#/components/schemas/GooglePayFeature"},{"$ref":"#/components/schemas/SamsungPayFeature"}]},"ReadyToPayMethodFilters":{"type":"array","description":"For the method to be applicable, one or more of the following filters must match.\nIf no filters are sent, no restrictions are applied.\nFor more information, see [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","items":{"type":"string"}},"ReadyToPayPaymentCardMethod":{"type":"object","title":"Payment card","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["payment-card"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/PaymentCardFeature"},{"type":"null"}]},"brands":{"type":"array","description":"List of supported brands.","minItems":1,"items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"AchPlaidFeature":{"type":"object","title":"Plaid","required":["name","linkToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Plaid"]},"linkToken":{"type":"string","description":"Plaid `linkToken` for frontend integrations."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the `linkToken` expires."}}},"ReadyToPayAchMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Plaid":"#/components/schemas/AchPlaidFeature"}},"oneOf":[{"$ref":"#/components/schemas/AchPlaidFeature"}]},"ReadyToPayAchMethod":{"type":"object","title":"ACH","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["ach"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAchMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"ReadyToPayGenericMethod":{"type":"object","title":"Generic","required":["method"],"properties":{"method":{"$ref":"#/components/schemas/AlternativePaymentMethods"},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"PayPalBillingAgreementFeature":{"type":"object","title":"Billing agreement","required":["name","paypalMerchantId","paypalClientId","billingAgreementToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["PayPal billing agreement"]},"paypalMerchantId":{"type":"string","description":"ID of the PayPal merchant."},"paypalClientId":{"type":"string","description":"ID of the PayPal client."},"billingAgreementToken":{"type":"string","description":"PayPal billing agreement token."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the billing agreement token expires."}}},"ReadyToPayPayPalMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"PayPal billing agreement":"#/components/schemas/PayPalBillingAgreementFeature"}},"oneOf":[{"$ref":"#/components/schemas/PayPalBillingAgreementFeature"}]},"ReadyToPayPayPalMethod":{"type":"object","title":"PayPal","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["paypal"]},"feature":{"description":"Specific features of PayPal.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayPayPalMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"KlarnaFeature":{"type":"object","title":"Klarna","required":["name","clientToken","sessionId"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Klarna"]},"clientToken":{"type":"string","description":"Klarna client token."},"sessionId":{"type":"string","description":"Klarna session token."}}},"ReadyToPayKlarnaMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Klarna":"#/components/schemas/KlarnaFeature"}},"oneOf":[{"$ref":"#/components/schemas/KlarnaFeature"}]},"ReadyToPayKlarnaMethod":{"type":"object","title":"Klarna","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["Klarna"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayKlarnaMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"ReadyToPayMethods":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/ReadyToPayPaymentCardMethod","ach":"#/components/schemas/ReadyToPayAchMethod","cash":"#/components/schemas/ReadyToPayGenericMethod","check":"#/components/schemas/ReadyToPayGenericMethod","paypal":"#/components/schemas/ReadyToPayPayPalMethod","AdvCash":"#/components/schemas/ReadyToPayGenericMethod","Alfa-click":"#/components/schemas/ReadyToPayGenericMethod","Alipay":"#/components/schemas/ReadyToPayGenericMethod","AstroPay Card":"#/components/schemas/ReadyToPayGenericMethod","AstroPay-GO":"#/components/schemas/ReadyToPayGenericMethod","BankReferenced":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-2":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-3":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-4":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-5":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-6":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-7":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-8":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-9":"#/components/schemas/ReadyToPayGenericMethod","Baloto":"#/components/schemas/ReadyToPayGenericMethod","Beeline":"#/components/schemas/ReadyToPayGenericMethod","Belfius-direct-net":"#/components/schemas/ReadyToPayGenericMethod","bitcoin":"#/components/schemas/ReadyToPayGenericMethod","Bizum":"#/components/schemas/ReadyToPayGenericMethod","Boleto":"#/components/schemas/ReadyToPayGenericMethod","cash-deposit":"#/components/schemas/ReadyToPayGenericMethod","CASHlib":"#/components/schemas/ReadyToPayGenericMethod","CashToCode":"#/components/schemas/ReadyToPayGenericMethod","China UnionPay":"#/components/schemas/ReadyToPayGenericMethod","Cleo":"#/components/schemas/ReadyToPayGenericMethod","CODVoucher":"#/components/schemas/ReadyToPayGenericMethod","Conekta-oxxo":"#/components/schemas/ReadyToPayGenericMethod","Cupon-de-pagos":"#/components/schemas/ReadyToPayGenericMethod","cryptocurrency":"#/components/schemas/ReadyToPayGenericMethod","domestic-cards":"#/components/schemas/ReadyToPayGenericMethod","echeck":"#/components/schemas/ReadyToPayGenericMethod","ecoPayz":"#/components/schemas/ReadyToPayGenericMethod","ecoVoucher":"#/components/schemas/ReadyToPayGenericMethod","Efecty":"#/components/schemas/ReadyToPayGenericMethod","EPS":"#/components/schemas/ReadyToPayGenericMethod","ePay.bg":"#/components/schemas/ReadyToPayGenericMethod","eZeeWallet":"#/components/schemas/ReadyToPayGenericMethod","FasterPay":"#/components/schemas/ReadyToPayGenericMethod","Flexepin":"#/components/schemas/ReadyToPayGenericMethod","Giropay":"#/components/schemas/ReadyToPayGenericMethod","Gpaysafe":"#/components/schemas/ReadyToPayGenericMethod","Google Pay":"#/components/schemas/ReadyToPayGenericMethod","iDebit":"#/components/schemas/ReadyToPayGenericMethod","iDEAL":"#/components/schemas/ReadyToPayGenericMethod","ING-homepay":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-pin":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-wallet":"#/components/schemas/ReadyToPayGenericMethod","InstaDebit":"#/components/schemas/ReadyToPayGenericMethod","instant-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","InstantPayments":"#/components/schemas/ReadyToPayGenericMethod","Interac":"#/components/schemas/ReadyToPayGenericMethod","Interac-online":"#/components/schemas/ReadyToPayGenericMethod","Interac-eTransfer":"#/components/schemas/ReadyToPayGenericMethod","invoice":"#/components/schemas/ReadyToPayGenericMethod","iWallet":"#/components/schemas/ReadyToPayGenericMethod","Jeton":"#/components/schemas/ReadyToPayGenericMethod","jpay":"#/components/schemas/ReadyToPayGenericMethod","Khelocard":"#/components/schemas/ReadyToPayGenericMethod","Klarna":"#/components/schemas/ReadyToPayKlarnaMethod","KNOT":"#/components/schemas/ReadyToPayGenericMethod","loonie":"#/components/schemas/ReadyToPayGenericMethod","Matrix":"#/components/schemas/ReadyToPayGenericMethod","MaxiCash":"#/components/schemas/ReadyToPayGenericMethod","Megafon":"#/components/schemas/ReadyToPayGenericMethod","MiFinity-eWallet":"#/components/schemas/ReadyToPayGenericMethod","miscellaneous":"#/components/schemas/ReadyToPayGenericMethod","Bancontact":"#/components/schemas/ReadyToPayGenericMethod","Bancontact-mobile":"#/components/schemas/ReadyToPayGenericMethod","MTS":"#/components/schemas/ReadyToPayGenericMethod","MuchBetter":"#/components/schemas/ReadyToPayGenericMethod","Multibanco":"#/components/schemas/ReadyToPayGenericMethod","Neosurf":"#/components/schemas/ReadyToPayGenericMethod","Netbanking":"#/components/schemas/ReadyToPayGenericMethod","Neteller":"#/components/schemas/ReadyToPayGenericMethod","Nordea-Solo":"#/components/schemas/ReadyToPayGenericMethod","OchaPay":"#/components/schemas/ReadyToPayGenericMethod","online-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","Onlineueberweisen":"#/components/schemas/ReadyToPayGenericMethod","oriental-wallet":"#/components/schemas/ReadyToPayGenericMethod","OXXO":"#/components/schemas/ReadyToPayGenericMethod","P24":"#/components/schemas/ReadyToPayGenericMethod","Pagadito":"#/components/schemas/ReadyToPayGenericMethod","PagoEffectivo":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-deposit-express":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-lottery":"#/components/schemas/ReadyToPayGenericMethod","PayCash":"#/components/schemas/ReadyToPayGenericMethod","Payeer":"#/components/schemas/ReadyToPayGenericMethod","PaymentAsia-crypto":"#/components/schemas/ReadyToPayGenericMethod","Paymero":"#/components/schemas/ReadyToPayGenericMethod","Perfect-money":"#/components/schemas/ReadyToPayGenericMethod","Piastrix":"#/components/schemas/ReadyToPayGenericMethod","plaid-account":"#/components/schemas/ReadyToPayGenericMethod","PayTabs":"#/components/schemas/ReadyToPayGenericMethod","Paysafecard":"#/components/schemas/ReadyToPayGenericMethod","Paysafecash":"#/components/schemas/ReadyToPayGenericMethod","Pay4Fun":"#/components/schemas/ReadyToPayGenericMethod","Paynote":"#/components/schemas/ReadyToPayGenericMethod","PinPay":"#/components/schemas/ReadyToPayGenericMethod","phone":"#/components/schemas/ReadyToPayGenericMethod","PhonePe":"#/components/schemas/ReadyToPayGenericMethod","POLi":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-card":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-e-finance":"#/components/schemas/ReadyToPayGenericMethod","QIWI":"#/components/schemas/ReadyToPayGenericMethod","QPay":"#/components/schemas/ReadyToPayGenericMethod","QQPay":"#/components/schemas/ReadyToPayGenericMethod","rapyd-checkout":"#/components/schemas/ReadyToPayGenericMethod","Resurs":"#/components/schemas/ReadyToPayGenericMethod","SafetyPay":"#/components/schemas/ReadyToPayGenericMethod","SEPA":"#/components/schemas/ReadyToPayGenericMethod","Skrill":"#/components/schemas/ReadyToPayGenericMethod","Skrill Rapid Transfer":"#/components/schemas/ReadyToPayGenericMethod","SMSVoucher":"#/components/schemas/ReadyToPayGenericMethod","Sofort":"#/components/schemas/ReadyToPayGenericMethod","SparkPay":"#/components/schemas/ReadyToPayGenericMethod","swift-dbt":"#/components/schemas/ReadyToPayGenericMethod","Tele2":"#/components/schemas/ReadyToPayGenericMethod","Terminaly-RF":"#/components/schemas/ReadyToPayGenericMethod","Thunes-Checkout":"#/components/schemas/ReadyToPayGenericMethod","ToditoCash-card":"#/components/schemas/ReadyToPayGenericMethod","Trustly":"#/components/schemas/ReadyToPayGenericMethod","UPayCard":"#/components/schemas/ReadyToPayGenericMethod","UPI":"#/components/schemas/ReadyToPayGenericMethod","USD-coin":"#/components/schemas/ReadyToPayGenericMethod","VCreditos":"#/components/schemas/ReadyToPayGenericMethod","VenusPoint":"#/components/schemas/ReadyToPayGenericMethod","voucher":"#/components/schemas/ReadyToPayGenericMethod","voucher-2":"#/components/schemas/ReadyToPayGenericMethod","voucher-3":"#/components/schemas/ReadyToPayGenericMethod","voucher-4":"#/components/schemas/ReadyToPayGenericMethod","Webmoney":"#/components/schemas/ReadyToPayGenericMethod","Webpay":"#/components/schemas/ReadyToPayGenericMethod","Webpay-2":"#/components/schemas/ReadyToPayGenericMethod","Webpay Card":"#/components/schemas/ReadyToPayGenericMethod","WeChat Pay":"#/components/schemas/ReadyToPayGenericMethod","XPay-P2P":"#/components/schemas/ReadyToPayGenericMethod","XPay-QR":"#/components/schemas/ReadyToPayGenericMethod","Yandex-money":"#/components/schemas/ReadyToPayGenericMethod","Zotapay":"#/components/schemas/ReadyToPayGenericMethod","Zimpler":"#/components/schemas/ReadyToPayGenericMethod"}},"oneOf":[{"$ref":"#/components/schemas/ReadyToPayPaymentCardMethod"},{"$ref":"#/components/schemas/ReadyToPayAchMethod"},{"$ref":"#/components/schemas/ReadyToPayGenericMethod"},{"$ref":"#/components/schemas/ReadyToPayPayPalMethod"},{"$ref":"#/components/schemas/ReadyToPayKlarnaMethod"}]},"ShippingOption":{"type":"object","required":["name","price","currency"],"properties":{"id":{"type":"string","description":"ID of the shipping rate.","readOnly":true,"maxLength":50,"example":"ship_rate_0YVDN408G4DQE9G1RV1QCFHJ3P"},"name":{"type":"string","description":"Name of the shipping rate."},"description":{"type":["string","null"],"description":"Description of the shipping rate."},"price":{"description":"Price of the shipping rate.\nIf `price` is `0`, shipping is free.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"ShippingRate":{"allOf":[{"$ref":"#/components/schemas/ShippingOption"},{"properties":{"filter":{"type":"string","description":"Filter based on invoice properties that is used to determine when the rate is applicable.\nIf no filters are used, the rate is always applicable.","default":"","example":"deliveryAddress.country:US,CA,RU;amount:100..1000"},"status":{"description":"Status of the shipping rate.\nIf `status` is `inactive` the shipping rate is not applied.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}]},"OneTimeSaleItem":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"one-time-sale"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"UsageStatus":{"type":"object","readOnly":true,"description":"Current status of the usage limits.","properties":{"isSoftLimitReached":{"type":"boolean","description":"Specifies if the soft limit has been reached.","example":false},"isHardLimitReached":{"type":"boolean","description":"Specifies if the hard limit has been reached.","example":false},"isTrialLimitReached":{"type":"boolean","description":"Specifies if the trial limit has been reached.","example":false}}},"SubscriptionItem":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the subscription.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"subscription"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"recurringInterval":{"type":["object","null"],"description":"Recurring interval to override plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same recurring period length.","example":null,"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"}}},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific item."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"OrderUpcomingInvoiceItem":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"orderId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderUpcomingInvoice":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice.\nThis value is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/OrderUpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Website":{"type":"object","required":["name","url","servicePhone","serviceEmail"],"properties":{"id":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"name":{"description":"Name of the website.","type":"string"},"url":{"description":"Domain address of the website.","type":"string"},"servicePhone":{"description":"Customer service phone number of the website.","type":"string"},"serviceEmail":{"description":"Customer service email address of the website.","type":"string","format":"email"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"settings":{"type":"object","description":"Website settings.","properties":{"paymentForm":{"type":"object","description":"Payment form settings.","properties":{"css":{"description":"Hosted payment form [CSS options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#2-use-css-property-to-override-any-styles).","type":["string","null"]},"theme":{"description":"Hosted payment form [theme options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#adjust-the-default-style).\n\nThe `pageColorBackground` property sets the background color of the page around the form.\nIt is read by the hosted payment form page and is not passed to Rebilly Instruments.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"colorPrimary":"#504CCA","pageColorBackground":"#F6F8F9"}},"features":{"description":"Hosted payment form features.","type":["object","null"],"properties":{"showCoupons":{"type":["array","null"],"items":{"type":"string"}},"fullPageRedirect":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form uses a full page redirect, or the default iframe modal, for approval URL redirects.","default":false},"skipRedirectOnPaymentComplete":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form skips the redirect to the website URL when the payment is completed.","default":false},"hideZeroAmountSummaryItems":{"type":["boolean","null"],"description":"Specifies if the hosted payment form displays 0 amount line items in the summary.","default":false}}}}},"amplitude":{"type":"object","description":"Amplitude settings.\nAmplitude is an analytics tool for tracking user behavior.","properties":{"tracking":{"description":"Specifies if the hosted pages, such as KYC pages, include Amplitude analytics.","type":"boolean","default":false},"apiKey":{"description":"API key of an Amplitude project.","type":["string","null"],"minLength":20,"maxLength":50,"example":"35d1795750c585984f7e6b01c0ca6e19"}}},"payoutRequest":{"type":"object","description":"Payout request settings for the website.","properties":{"automaticReadinessEnabled":{"type":"boolean","default":false,"description":"Specifies whether pending payout requests are automatically marked as `ready`.\nWhen this value is `false`, payout requests are created in the `ready` status and automatic transition is not used.\nWhen this value is `true`, payout requests remain in the `pending` status until the pending period elapses and the configured transition time is reached."},"pendingPeriodHours":{"type":"integer","description":"Minimum number of hours a payout request stays in the `pending` status before it can be automatically set to `ready`.\nRequired when `automaticReadinessEnabled` is `true`.","minimum":1,"maximum":8760,"example":48},"automaticReadinessTime":{"description":"Time of day when the automatic readiness job processes eligible pending payout requests.\nRequired when `automaticReadinessEnabled` is `true`.\nUse extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset.\nWhen the timezone offset is omitted, the server timezone is used.","allOf":[{"$ref":"#/components/schemas/TimeIso8601Extended"}],"example":"10:00:00Z"},"automaticReadinessLastExecutedAt":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the automatic readiness job last completed successfully for this website."}}}}},"logoId":{"type":["string","null"],"description":"ID of the linked file object.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"logoUrl":{"readOnly":true,"description":"URL of the website logo.","type":["string","null"]},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","logoUrl"]}}}}}},"RecurringOrder":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"recurring"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","active","canceled","churned","paused","voided","completed","trial-ended","abandoned"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"type":"object","discriminator":{"propertyName":"type","mapping":{"one-time-sale":"#/components/schemas/OneTimeSaleItem","subscription":"#/components/schemas/SubscriptionItem"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionItem"},{"$ref":"#/components/schemas/OneTimeSaleItem"}]}},"invoiceIssueTimeShift":{"description":"Invoice issue time shift interval in ISO-8601 format.\n\nThis field adjusts the issue date and time of renewal invoices for the order.\n\nThis interval value supports the `-` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"invoiceDueTimeShift":{"description":"Invoice due time shift interval in ISO-8601 format.\n\nUse this field to adjust when payment is due for the order.\nIf autopay is configured, payment is collected automatically on this date.\n\nThis interval value supports the `+` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.","type":"boolean","default":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"churnTime":{"description":"Date and time when the order is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"cancellationTime":{"description":"Date and time when an order is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","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",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":["string","null"],"format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.\nIf subscriptions have different recurring settings or the order is not active, providing this field causes the request to be rejected with a conflict.\nThis field is ignored if the order is in trial.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time when the next subscription in this recurring order renews.","type":["string","null"],"format":"date-time","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}},"OneTimeOrder":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"one-time"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","voided","completed","abandoned"]},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"$ref":"#/components/schemas/OneTimeSaleItem"}},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"$ref":"#/components/schemas/Shipping"},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}},"Order":{"type":"object","discriminator":{"propertyName":"type","mapping":{"recurring":"#/components/schemas/RecurringOrder","one-time":"#/components/schemas/OneTimeOrder"}},"oneOf":[{"$ref":"#/components/schemas/RecurringOrder"},{"$ref":"#/components/schemas/OneTimeOrder"}]},"OrderPause":{"type":"object","description":"Order pause details.","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the order pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"orderId":{"type":"string","description":"ID of the paused order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"status":{"description":"Status of the order pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the order resumes billing.\n\nTo resume an order from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the order is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month order on a 30-day month is paused on day 20.\nThere are 10 unused days on the order.\nTherefore, the order renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf a subscription item in the order uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderChange":{"type":"object","description":"Change to the items of a recurring order.\nA change with `applyAt` set to `now` replaces the items immediately.\nA change with `applyAt` set to `nextRenewal` records the new items and applies them at the next renewal.\nThe current items remain until the next renewal, when the new items are applied and billed on the renewal invoice.\n\nThis resource records changes made through this resource and changes created by a quote with `applyAt` set to `nextRenewal`.\nChanges made through the `POST /orders/{id}/change-items` operation or through a quote with `applyAt` set to `now` are not recorded.\nA change with `applyAt` set to `now` triggers the `order-change-created` and `order-change-applied` events and the item events of the order.","required":["orderId","items"],"properties":{"id":{"description":"ID of the order change.","type":"string","maxLength":50,"readOnly":true,"example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"orderId":{"description":"ID of the order.","type":"string","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the order change.","type":"string","readOnly":true,"enum":["pending","applied","canceled","superseded"],"x-enumDescriptions":{"pending":"Scheduled to apply at the next renewal.","applied":"Items of the order are replaced.","canceled":"Canceled before the change is applied.","superseded":"Replaced by a later change for the same order."}},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change immediately.\n  `renewalPolicy`, `prorated`, and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `renewalPolicy`, `prorated`, and `effectiveTime` are not allowed.\n  A later change for the same order supersedes the pending change.\n  The pending change is locked once the next renewal invoice is issued.\n  To remove a pending change, use the `DELETE /order-changes/{id}` operation.\n  The new items must differ from the current items.\n  One-time sale items that are already on the order remain.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"effectiveTime":{"description":"Date and time when the change is applied.\nIf `applyAt` is set to `now`, this value is the date from which the renewal time for `resetToRecurring` and the proration are calculated.\nIf this field is omitted, this value defaults to the current time.\nIf `applyAt` is set to `nextRenewal`, this value is read-only and equals the renewal time of the order.","type":"string","format":"date-time"},"lockedTime":{"description":"Date and time when the items of a pending change are billed.\nAfter this time, the change is locked and cannot be modified until the renewal.","type":["string","null"],"format":"date-time","readOnly":true},"appliedTime":{"description":"Date and time when the items of the order are replaced.","type":["string","null"],"format":"date-time","readOnly":true},"quoteId":{"description":"ID of the quote that is used to create the change.\nThis value is `null` if the change is not created from a quote.","type":["string","null"],"maxLength":50,"readOnly":true},"items":{"description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","type":"array","minItems":1,"items":{"type":"object","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}]},"excludeFromMrr":{"description":"Specifies if this item is excluded from monthly recurring revenue calculations.","type":["boolean","null"]}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order are managed when its items change now.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderCancellation":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"orderId":{"type":"string","description":"ID of the canceled order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and order next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the order cancellation.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms an order cancellation.\nSets the order to cancel when the `churnTime` is reached.","completed":"Marks an order cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes an order cancellation."}},"canceledTime":{"description":"Date and time when an order is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the order is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the order is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":[null,"now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the order cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderReactivation":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"ord_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"orderId":{"type":"string","description":"ID of the reactivated order.","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\n\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionOrOneTimeSaleItem":{"type":"object","required":["plan"],"properties":{"id":{"type":"string","description":"ID of the order item.","readOnly":true,"maxLength":50},"planId":{"description":"ID of the plan.\n\n> **Note:** This field is deprecated. Use the `plan.id` field instead.","deprecated":true,"x-basic":true,"type":"string","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"plan":{"oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific plan item."},"isModified":{"type":"boolean","readOnly":true,"description":"Specifies if the plan information is modified for this subscription."},"isGrandfathered":{"type":"boolean","readOnly":true,"description":"Specifies if the current plan revision number is greater than the plan item revision number."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"}}}}},"Subscription":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.\n\n> **Note:** The order type cannot be changed after creation.","type":"string","x-basic":true,"enum":["subscription-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the subscription service.\nA subscription starts in the `pending` status, and becomes `active` when the service period begins.","type":"string","readOnly":true,"enum":["pending","active","abandoned","canceled","churned","paused","voided","completed","trial-ended"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"invoiceTimeShift":{"description":"Shifts issue time and due time of invoices for this subscription.\n\nThis setting overrides plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same billing period,\nthis property enables the customer to subscribe to different plans.","$ref":"#/components/schemas/InvoiceTimeShift"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the subscription.","type":"boolean","default":true},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"churnTime":{"description":"Date and time when the subscription is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"lineItems":{"description":"Subscription line items which queue until the next renewal, or interim, invoice is issued for the subscription.","readOnly":true,"type":"array","deprecated":true,"items":{"type":"object","description":"Invoice line item.\nUse the `isInterim` property of upcoming invoice items instead.","deprecated":true,"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"type":"object","readOnly":true,"deprecated":true,"description":"Subtotal of line items in this subscription (signed value).\nIf credits exceed debits, this value is a negative number.","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","x-type":"Money","x-sortable":true,"description":"Amount of the subtotal.","format":"double","example":49.95}}},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).\n\n> **Note:** The ID of the website cannot be changed after creation.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG","x-sortable":true,"x-basic":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n{% admonition type=\"warning\" %}\n- If the `delinquencyPeriod` value is `null`, the order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.\n- If you add a delinquency period to an active order, it is applied to all new invoices created for the order. It is not applied to the unpaid and past-due invoices. To apply a delinquency period to unpaid and past-due invoices, set the `delinquencyTime` parameter using the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=delinquencytime).\n{% /admonition %}\n\nIf this value is not passed during order creation,\nan [order delinquency period](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/orderdelinquencyperiod) setting is used to calculate the value.","example":"P7D","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"canceledTime":{"description":"Date and time when a subscription is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","delinquency","did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","never-started","switched-plan","organization-deactivated","other",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"initialInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"},"upcomingInvoice":{"type":"object"}}}}},"OneTimeSale":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.","type":"string","x-basic":true,"enum":["one-time-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the one-time order.","type":"string","readOnly":true,"enum":["pending","abandoned","completed","canceled"]},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"x-sortable":true,"x-basic":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice (`null` for one-time orders).","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"}}}}},"SubscriptionOrOneTimeSale":{"type":"object","description":"Subscription details.","discriminator":{"propertyName":"orderType","mapping":{"subscription-order":"#/components/schemas/Subscription","one-time-order":"#/components/schemas/OneTimeSale"}},"oneOf":[{"$ref":"#/components/schemas/Subscription"},{"$ref":"#/components/schemas/OneTimeSale"}]},"SubscriptionChange":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New set of items for the subscription.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the subscription order are managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless `reset` or `retain` is used.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring` or `retainTrialOnly`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the subscription can be previewed.\nSubscriptions cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}},"OrderItemsChange":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the specified plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order that contains subscription items is managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless the value is `reset` or `retain`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date and time that is used to calculate the renewal time for `reset` operations and proration.\nIf this field is omitted, the date and time default to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the order can be previewed.\nOrders cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}},"OrderItemUpdate":{"type":"object","properties":{"quantityFilled":{"description":"Filled quantity of the subscription item.","type":["number","null"],"format":"double","example":5.125},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"plan":{"type":"object","description":"Details of the subscription item plan.","properties":{"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}}}}}},"SubscriptionInvoice":{"type":"object","properties":{"transactionId":{"description":"If present, applies a payment to the invoice created.\nIf the payment is for the invoice total, it would be marked as paid.","$ref":"#/components/schemas/TransactionId"}}},"SubscriptionPause":{"type":"object","description":"Subscription pause details.","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the subscription pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"subscriptionId":{"type":"string","description":"ID of the paused subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the subscription pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the subscription resumes billing.\n\nTo resume a subscription from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the subscription is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month subscription on a 30-day month is paused on day 20 of the subscription.\nThere are 10 unused days on the subscription.\nTherefore, the subscription renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf the subscription uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders-(legacy)),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionCancellation":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"subscriptionId":{"type":"string","description":"ID of the canceled subscription order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the subscription order.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms a subscription cancellation.\nSets the subscription to cancel when the `churnTime` is reached.","completed":"Marks a subscription cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes a subscription cancellation."}},"canceledTime":{"description":"Date and time when a subscription is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the subscription is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the subscription is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":["null","now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the subscription cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionReactivation":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"sub_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"subscriptionId":{"type":"string","description":"ID of the reactivated subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the subscription is canceled but still active.\n\nIf the subscription is still active,\nthe subscription continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next subscription renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the subscription is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the subscription payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"UpcomingInvoiceItem":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","plan","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}},"UpcomingInvoice":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice, which is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"subscriptionId":{"description":"ID of the related subscription order.","type":"string","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/UpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"billingAddress":{"description":"Billing address of the invoice.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","subscription","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"}}}}},"OrderTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-voided","order-activated","order-autopay-changed","order-billing-address-changed","order-billing-anchor-changed","order-canceled","order-churned","order-completed","order-custom-fields-changed","order-delivery-address-changed","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-items-changed","order-paid-early","order-quantity-changed","order-reactivated","order-recurring-interval-changed","order-renewal-time-changed","order-renewed","order-risk-metadata-changed","order-trial-ended","order-upgraded","order-voided","order-abandoned","quote-accepted","subscription-paused","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-resumed","subscription-trial-end-changed","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Usage":{"type":"object","required":["subscriptionId","quantity"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the usage record.","maxLength":50,"example":"sub_usg_0YVJ636B95DNA9M3B1638HXBCQ"},"subscriptionId":{"type":"string","description":"Subscription ID for which the usage is reported.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"invoiceItemId":{"description":"ID of the invoice item to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"quantity":{"description":"Quantity of consumed units for a subscription plan product.\nRepresents the actual usage of a billable product or service by the customer.\nAccepts both integer and decimal values with a precision of up to 3 decimal places.\nThe minimum billable unit is 0.001.","type":"number","format":"double","minimum":0.001,"example":5.125},"usageTime":{"description":"Date and time, in ISO 8601 format, when a usage occurred.\nIf this value is not provided or is empty, the date and time of the request is used.","type":"string","format":"date-time"},"acceptPartialQuantity":{"description":"Specifies whether partial usage should be accepted if the reported quantity exceeds the available limit.\n\nWhen set to `true`, the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage.\nWhen set to `false`, the system rejects the request if the reported quantity exceeds the limit.","type":"boolean","writeOnly":true,"default":false,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentCardToken":{"type":"object","title":"Payment card token","description":"Creates a payment card token.\nA payment card token is a string that represents a customer's payment card details.\nIt can be used once, and expires upon first use or within 30 minutes of token creation.\nTo generate a full payment card token, you must provide the `billingAddress`.\nIf `billingAddress` is not provided, the token can not be used for payments.","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["payment-card"]},"paymentInstrument":{"description":"Payment card instrument details.","type":"object","required":["expMonth","expYear"],"properties":{"pan":{"description":"Primary Account Number (PAN) of the payment card.\nThis value is required to perform a payment.","type":"string","writeOnly":true},"cvv":{"description":"Card Verification Value (CVV/CVC) of the payment card.\nTakes precedence over `encryptedCvv` if both are included.","type":"string","writeOnly":true},"encryptedCvv":{"description":"Encrypted CVV of the payment card.\nUse to update a payment card with a CVV stored on the client side.\nThis value is returned for client side caching if `cvv` is provided in the request.","type":["string","null"],"minLength":100,"maxLength":255},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the first 6 digits of the payment card number.","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Primary Account Number (PAN) of the payment card.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]}}},"billingAddress":{"description":"Billing address object.\nThis value is required to perform payments.\nFor payment-card updates, `billingAddress` can be ignored.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token has been used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PayPalToken":{"type":"object","title":"PayPal token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["paypal"]},"paymentInstrument":{"description":"Paypal instrument details required for express checkout.","type":"object","required":["billingAgreementToken","paypalMerchantId"],"properties":{"paypalMerchantId":{"description":"ID of the PayPal merchant.","type":"string"},"billingAgreementToken":{"description":"PayPal billing agreement token.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expires.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BBANInstrument":{"description":"Bank account BBAN instrument.","type":"object","required":["accountNumberType","accountNumber","routingNumber","accountType"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.","type":"string","pattern":"^[0-9]+$","writeOnly":true},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}},"IBANInstrument":{"description":"Bank account IBAN instrument.","type":"object","required":["accountNumberType","accountNumber"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Bank account number.\nDetailed information about all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","writeOnly":true},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}},"BankAccountInstrument":{"type":"object","description":"Bank account BBAN or IBAN instrument.","discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANInstrument","IBAN":"#/components/schemas/IBANInstrument"}},"oneOf":[{"$ref":"#/components/schemas/BBANInstrument"},{"$ref":"#/components/schemas/IBANInstrument"}]},"BankAccountToken":{"type":"object","title":"Bank account token","required":["method","paymentInstrument","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["ach","echeck"]},"paymentInstrument":{"$ref":"#/components/schemas/BankAccountInstrument"},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DigitalWalletToken":{"type":"object","title":"Digital wallet token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["digital-wallet"]},"paymentInstrument":{"description":"Payment instrument details.","type":"object","required":["type","amount","currency","descriptor","payload"],"properties":{"type":{"description":"Type of digital wallet.","type":"string","enum":["Apple Pay","Google Pay","Samsung Pay"]},"amount":{"description":"Authorized for the digital wallet amount.","type":"number","format":"double"},"currency":{"description":"Authorized for the digital wallet currency.","$ref":"#/components/schemas/CurrencyCode"},"descriptor":{"description":"Descriptor for a payment.","type":"string"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Device Primary Account Number (DPAN).","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Device Primary Account Number (DPAN) of the payment card.\nThe DPAN is the tokenized card number used in digital wallet transactions,\nas opposed to the Funding Primary Account Number (FPAN) which is the physical card number visible to the cardholder.","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThe FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in digital wallet transactions.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"expMonth":{"readOnly":true,"description":"Payment card expiration month.","type":"integer"},"expYear":{"readOnly":true,"description":"Payment card expiration year.","type":"integer"},"payload":{"writeOnly":true,"description":"Digital wallet encoded data.\nThis field may contain the digital wallet billing address.","type":"object"}}},"billingAddress":{"readOnly":true,"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PlaidAccountToken":{"type":"object","title":"Plaid account token","required":["method","billingAddress","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["plaid-account"]},"paymentInstrument":{"description":"Plaid payment instrument details.","type":"object","required":["linkToken","publicToken","accountId"],"properties":{"linkToken":{"type":"string","description":"Plaid link token.","writeOnly":true},"publicToken":{"type":"string","description":"Plaid public token."},"accountId":{"type":"string","description":"ID of the Plaid account."}}},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AlternativePaymentToken":{"type":"object","title":"Alternative payment token","required":["method","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck","digital-wallet","plaid-account","Klarna","cryptocurrency"]}}]},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"KlarnaToken":{"type":"object","title":"Klarna token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["Klarna"]},"paymentInstrument":{"description":"Klarna instrument details required for express checkout.","type":"object","required":["klarnaAuthorizationToken","klarnaSessionId"],"properties":{"klarnaAuthorizationToken":{"description":"Klarna authorization token.","type":"string"},"klarnaSessionId":{"description":"ID of the Klarna session.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CryptocurrencyToken":{"type":"object","title":"Cryptocurrency token","required":["method"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["cryptocurrency"]},"walletName":{"description":"Name of the crypto wallet.","type":["string","null"],"maxLength":255},"walletAddress":{"description":"Address of the crypto wallet.","type":["string","null"],"maxLength":255},"walletCurrency":{"description":"Currency of the crypto wallet.","type":["string","null"],"maxLength":255},"walletNetwork":{"description":"Network of the crypto wallet.","type":["string","null"],"maxLength":255},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CompositeToken":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCardToken","paypal":"#/components/schemas/PayPalToken","ach":"#/components/schemas/BankAccountToken","echeck":"#/components/schemas/BankAccountToken","digital-wallet":"#/components/schemas/DigitalWalletToken","plaid-account":"#/components/schemas/PlaidAccountToken","Khelocard":"#/components/schemas/AlternativePaymentToken","Klarna":"#/components/schemas/KlarnaToken","cash":"#/components/schemas/AlternativePaymentToken","check":"#/components/schemas/AlternativePaymentToken","AdvCash":"#/components/schemas/AlternativePaymentToken","Alfa-click":"#/components/schemas/AlternativePaymentToken","Alipay":"#/components/schemas/AlternativePaymentToken","AstroPay Card":"#/components/schemas/AlternativePaymentToken","AstroPay-GO":"#/components/schemas/AlternativePaymentToken","BankReferenced":"#/components/schemas/AlternativePaymentToken","bank-transfer":"#/components/schemas/AlternativePaymentToken","bank-transfer-2":"#/components/schemas/AlternativePaymentToken","bank-transfer-3":"#/components/schemas/AlternativePaymentToken","bank-transfer-4":"#/components/schemas/AlternativePaymentToken","bank-transfer-5":"#/components/schemas/AlternativePaymentToken","bank-transfer-6":"#/components/schemas/AlternativePaymentToken","bank-transfer-7":"#/components/schemas/AlternativePaymentToken","bank-transfer-8":"#/components/schemas/AlternativePaymentToken","bank-transfer-9":"#/components/schemas/AlternativePaymentToken","Baloto":"#/components/schemas/AlternativePaymentToken","Beeline":"#/components/schemas/AlternativePaymentToken","Belfius-direct-net":"#/components/schemas/AlternativePaymentToken","bitcoin":"#/components/schemas/AlternativePaymentToken","Bizum":"#/components/schemas/AlternativePaymentToken","Boleto":"#/components/schemas/AlternativePaymentToken","cash-deposit":"#/components/schemas/AlternativePaymentToken","CASHlib":"#/components/schemas/AlternativePaymentToken","CashToCode":"#/components/schemas/AlternativePaymentToken","China UnionPay":"#/components/schemas/AlternativePaymentToken","Cleo":"#/components/schemas/AlternativePaymentToken","CODVoucher":"#/components/schemas/AlternativePaymentToken","Conekta-oxxo":"#/components/schemas/AlternativePaymentToken","Cupon-de-pagos":"#/components/schemas/AlternativePaymentToken","cryptocurrency":"#/components/schemas/CryptocurrencyToken","domestic-cards":"#/components/schemas/AlternativePaymentToken","ecoPayz":"#/components/schemas/AlternativePaymentToken","ecoVoucher":"#/components/schemas/AlternativePaymentToken","Efecty":"#/components/schemas/AlternativePaymentToken","EPS":"#/components/schemas/AlternativePaymentToken","ePay.bg":"#/components/schemas/AlternativePaymentToken","eZeeWallet":"#/components/schemas/AlternativePaymentToken","FasterPay":"#/components/schemas/AlternativePaymentToken","Flexepin":"#/components/schemas/AlternativePaymentToken","Giropay":"#/components/schemas/AlternativePaymentToken","Gpaysafe":"#/components/schemas/AlternativePaymentToken","Google Pay":"#/components/schemas/AlternativePaymentToken","iDebit":"#/components/schemas/AlternativePaymentToken","iDEAL":"#/components/schemas/AlternativePaymentToken","ING-homepay":"#/components/schemas/AlternativePaymentToken","INOVAPAY-pin":"#/components/schemas/AlternativePaymentToken","INOVAPAY-wallet":"#/components/schemas/AlternativePaymentToken","InstaDebit":"#/components/schemas/AlternativePaymentToken","instant-bank-transfer":"#/components/schemas/AlternativePaymentToken","InstantPayments":"#/components/schemas/AlternativePaymentToken","Interac":"#/components/schemas/AlternativePaymentToken","Interac-online":"#/components/schemas/AlternativePaymentToken","Interac-eTransfer":"#/components/schemas/AlternativePaymentToken","invoice":"#/components/schemas/AlternativePaymentToken","iWallet":"#/components/schemas/AlternativePaymentToken","Jeton":"#/components/schemas/AlternativePaymentToken","jpay":"#/components/schemas/AlternativePaymentToken","KNOT":"#/components/schemas/AlternativePaymentToken","loonie":"#/components/schemas/AlternativePaymentToken","Matrix":"#/components/schemas/AlternativePaymentToken","MaxiCash":"#/components/schemas/AlternativePaymentToken","Megafon":"#/components/schemas/AlternativePaymentToken","MiFinity-eWallet":"#/components/schemas/AlternativePaymentToken","miscellaneous":"#/components/schemas/AlternativePaymentToken","Bancontact":"#/components/schemas/AlternativePaymentToken","Bancontact-mobile":"#/components/schemas/AlternativePaymentToken","MTS":"#/components/schemas/AlternativePaymentToken","MuchBetter":"#/components/schemas/AlternativePaymentToken","Multibanco":"#/components/schemas/AlternativePaymentToken","Neosurf":"#/components/schemas/AlternativePaymentToken","Netbanking":"#/components/schemas/AlternativePaymentToken","Neteller":"#/components/schemas/AlternativePaymentToken","Nordea-Solo":"#/components/schemas/AlternativePaymentToken","OchaPay":"#/components/schemas/AlternativePaymentToken","online-bank-transfer":"#/components/schemas/AlternativePaymentToken","Onlineueberweisen":"#/components/schemas/AlternativePaymentToken","oriental-wallet":"#/components/schemas/AlternativePaymentToken","OXXO":"#/components/schemas/AlternativePaymentToken","P24":"#/components/schemas/AlternativePaymentToken","Pagadito":"#/components/schemas/AlternativePaymentToken","PagoEffectivo":"#/components/schemas/AlternativePaymentToken","Pagsmile-deposit-express":"#/components/schemas/AlternativePaymentToken","Pagsmile-lottery":"#/components/schemas/AlternativePaymentToken","PayCash":"#/components/schemas/AlternativePaymentToken","Payeer":"#/components/schemas/AlternativePaymentToken","PaymentAsia-crypto":"#/components/schemas/AlternativePaymentToken","Paymero":"#/components/schemas/AlternativePaymentToken","Perfect-money":"#/components/schemas/AlternativePaymentToken","Piastrix":"#/components/schemas/AlternativePaymentToken","PayTabs":"#/components/schemas/AlternativePaymentToken","Paysafecard":"#/components/schemas/AlternativePaymentToken","Paysafecash":"#/components/schemas/AlternativePaymentToken","Pay4Fun":"#/components/schemas/AlternativePaymentToken","Paynote":"#/components/schemas/AlternativePaymentToken","PinPay":"#/components/schemas/AlternativePaymentToken","phone":"#/components/schemas/AlternativePaymentToken","PhonePe":"#/components/schemas/AlternativePaymentToken","POLi":"#/components/schemas/AlternativePaymentToken","PostFinance-card":"#/components/schemas/AlternativePaymentToken","PostFinance-e-finance":"#/components/schemas/AlternativePaymentToken","QIWI":"#/components/schemas/AlternativePaymentToken","QPay":"#/components/schemas/AlternativePaymentToken","QQPay":"#/components/schemas/AlternativePaymentToken","rapyd-checkout":"#/components/schemas/AlternativePaymentToken","Resurs":"#/components/schemas/AlternativePaymentToken","SafetyPay":"#/components/schemas/AlternativePaymentToken","SEPA":"#/components/schemas/AlternativePaymentToken","Skrill":"#/components/schemas/AlternativePaymentToken","Skrill Rapid Transfer":"#/components/schemas/AlternativePaymentToken","SMSVoucher":"#/components/schemas/AlternativePaymentToken","Sofort":"#/components/schemas/AlternativePaymentToken","SparkPay":"#/components/schemas/AlternativePaymentToken","swift-dbt":"#/components/schemas/AlternativePaymentToken","Tele2":"#/components/schemas/AlternativePaymentToken","Terminaly-RF":"#/components/schemas/AlternativePaymentToken","ToditoCash-card":"#/components/schemas/AlternativePaymentToken","Trustly":"#/components/schemas/AlternativePaymentToken","UPayCard":"#/components/schemas/AlternativePaymentToken","UPI":"#/components/schemas/AlternativePaymentToken","USD-coin":"#/components/schemas/AlternativePaymentToken","VCreditos":"#/components/schemas/AlternativePaymentToken","VenusPoint":"#/components/schemas/AlternativePaymentToken","voucher":"#/components/schemas/AlternativePaymentToken","voucher-2":"#/components/schemas/AlternativePaymentToken","voucher-3":"#/components/schemas/AlternativePaymentToken","voucher-4":"#/components/schemas/AlternativePaymentToken","Webmoney":"#/components/schemas/AlternativePaymentToken","Webpay":"#/components/schemas/AlternativePaymentToken","Webpay-2":"#/components/schemas/AlternativePaymentToken","Webpay Card":"#/components/schemas/AlternativePaymentToken","WeChat Pay":"#/components/schemas/AlternativePaymentToken","XPay-P2P":"#/components/schemas/AlternativePaymentToken","XPay-QR":"#/components/schemas/AlternativePaymentToken","Yandex-money":"#/components/schemas/AlternativePaymentToken","Zotapay":"#/components/schemas/AlternativePaymentToken","Zimpler":"#/components/schemas/AlternativePaymentToken"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCardToken"},{"$ref":"#/components/schemas/PayPalToken"},{"$ref":"#/components/schemas/BankAccountToken"},{"$ref":"#/components/schemas/DigitalWalletToken"},{"$ref":"#/components/schemas/PlaidAccountToken"},{"$ref":"#/components/schemas/KlarnaToken"},{"$ref":"#/components/schemas/AlternativePaymentToken"},{"$ref":"#/components/schemas/CryptocurrencyToken"}]},"DigitalWalletValidation":{"type":"object","required":["type"],"discriminator":{"propertyName":"type","mapping":{"Apple Pay":"#/components/schemas/ApplePayValidation"}},"properties":{"type":{"description":"Type of digital wallet to validate.","type":"string","enum":["Apple Pay"]}}},"ApplePayValidation":{"description":"Apple Pay session validation.","allOf":[{"$ref":"#/components/schemas/DigitalWalletValidation"},{"type":"object","required":["validationRequest"],"properties":{"type":{"type":"string"},"validationRequest":{"description":"Validation request.","type":"object","properties":{"validationUrl":{"type":"string","description":"Apple Pay SDK URL that is used to perform validation."},"domainName":{"type":"string","description":"Domain where the client code, such as [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/), is executed.\nThe domain name must be registered in the Apple Pay console.\nFor more information, see [Register a domain for Apple Pay](https://www.rebilly.com/catalog/all/gateway-accounts/postdigitalwalletonboardingapplepay).","example":"www.example.com"},"displayName":{"type":"string","description":"Display name of your store.","example":"My Store"}},"writeOnly":true},"validationResponse":{"description":"Apple Pay SDK validation response.","type":"object","readOnly":true}}}]},"PaymentInstructionToken":{"type":"object","title":"Payment token","required":["token"],"properties":{"token":{"description":"Token ID of the payment.","type":"string"}}},"PaymentInstructionInstrument":{"type":"object","title":"Payment instrument","required":["paymentInstrumentId"],"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"PaymentInstructionMethods":{"type":"object","title":"Payment Methods","properties":{"methods":{"type":"array","description":"List of available payment methods.\nOnly payment methods with at least one active gateway account are allowed.\n\nIf not specified all available payment methods are displayed.\n\nCustomer can choose any of those as well as the payment instrument for them.\nAdditional steps occur via a redirect to `approvalUrl`.","items":{"$ref":"#/components/schemas/PaymentMethod"}},"receivedBy":{"description":"Name of the cash receiver.\nThis field is available only for the `cash` payment method.","type":"string"},"reference":{"description":"Reference data.\nThis field is available only for the `check` and `bank-transfer` payment methods.","type":"string"}}},"PaymentInstruction":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstructionToken"},{"$ref":"#/components/schemas/PaymentInstructionInstrument"},{"$ref":"#/components/schemas/PaymentInstructionMethods"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"}]},"TransactionQuery":{"type":"object","properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"result":{"description":"Result of the transaction.","type":"string","readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","suspended","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"}}},"TransactionUpdate":{"type":"object","description":"Updates the status of a transaction to `completed` with a specified `result` and optional currency and amount values.","required":["result"],"properties":{"result":{"description":"Result of the transaction.","type":"string","enum":["abandoned","approved","canceled","declined"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double"},"currency":{"description":"Currency of the transaction.","$ref":"#/components/schemas/CurrencyCode"}}},"TransactionRefund":{"type":"object","required":["amount"],"properties":{"amount":{"description":"Amount of the refund.","type":"number","format":"double"},"description":{"description":"Description of the refund.","type":"string","maxLength":255},"isProcessedOutside":{"description":"Specifies if the refund is processed outside of Rebilly.","type":"boolean","default":false}}},"TransactionTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["amount-adjusted","blocklist-matched","bump-offer-accepted","bump-offer-presented","bump-offer-rejected","customer-redirected-offsite","customer-returned","dcc-offer-accepted","dcc-offer-forced","dcc-offer-presented","dcc-offer-rejected","dispute-changed","dispute-created","dispute-forfeited","dispute-lost","dispute-responded","dispute-won","gateway-connection-failed","gateway-connection-timed-out","gateway-response-received","offsite-transaction-completed","quickbooks-payment-created","quickbooks-refund-receipt-created","quickbooks-transaction-task-failed","risk-score-changed","timeline-comment-created","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-capture-delayed","transaction-captured","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-initiated","transaction-payment-method-changed","transaction-partially-refunded","transaction-process-requested","transaction-processed","transaction-queried","transaction-reconciled","transaction-refunded","transaction-retried","transaction-rules-processed","transaction-scheduled-time-changed","transaction-timeout-resolved","transaction-updated","transaction-voided","transaction-waiting-gateway","transaction-waiting-gateway-completed"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AllowedIps":{"description":"List of IP addresses that are permitted access.\nPrivate subnets are prohibited.\nTo remove restrictions, set this value to `null`.","type":["array","null"],"items":{"type":"string","format":"ip"},"example":["153.12.32.33","201.54.122.0/24","2001:0db8:abcd:0012:0000:0000:0000:ffff","2001:db8:abcd:12::0/64"]},"ApiKey":{"type":"object","description":"API secret Key.","required":["description"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"description":{"description":"API key description.","type":"string"},"type":{"description":"Type of API key.","type":"string","default":"secret","enum":["secret","publishable"]},"acl":{"description":"Specify access control list here if creating a restricted API key.\nSend all matching permission with an empty scope to allow all permissions.","$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"apiUser":{"description":"API user name.","type":"string","readOnly":true},"secretKey":{"description":"Value of the API secret key.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ChargeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["charge"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RefundTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["refund"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BuyFeeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["buy-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SellFeeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["sell-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RiskReserveTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve"]},"riskReserve":{"type":"object","properties":{"releaseTime":{"description":"Time of risk reserve release.","type":["string","null"],"format":"date-time","readOnly":true}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RiskReserveReleaseTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve-release"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ReverseTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["reverse"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BalanceTransaction":{"type":"object","title":"Balance transaction","discriminator":{"propertyName":"type","mapping":{"charge":"#/components/schemas/ChargeTransaction","refund":"#/components/schemas/RefundTransaction","buy-fee":"#/components/schemas/BuyFeeTransaction","sell-fee":"#/components/schemas/SellFeeTransaction","risk-reserve":"#/components/schemas/RiskReserveTransaction","risk-reserve-release":"#/components/schemas/RiskReserveReleaseTransaction","reverse":"#/components/schemas/ReverseTransaction"}},"oneOf":[{"$ref":"#/components/schemas/ChargeTransaction"},{"$ref":"#/components/schemas/RefundTransaction"},{"$ref":"#/components/schemas/BuyFeeTransaction"},{"$ref":"#/components/schemas/SellFeeTransaction"},{"$ref":"#/components/schemas/RiskReserveTransaction"},{"$ref":"#/components/schemas/RiskReserveReleaseTransaction"},{"$ref":"#/components/schemas/ReverseTransaction"}]},"BillingPortal":{"type":"object","required":["websiteId","slug","name"],"properties":{"id":{"type":"string","description":"ID of the billing portal.","readOnly":true,"maxLength":50,"example":"bill_prt_0YV7K5TYV5D1P9ZNKDT39KZC3C"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"slug":{"description":"Path segment that is appended to the billing portal URL to help make it human-readable.\nExample: `https://example.com/billing-portal/{slug}`.","type":"string","minLength":5,"maxLength":100},"name":{"description":"Billing portal name.\nThis name is for internal use and helps you to organize and differentiate billing portals.\nThis value is not displayed to your customers.","type":"string"},"customDomain":{"description":"Custom domain for the billing portal.\nThe default domain is: `portal.secure-payments.app`.","type":["string","null"],"maxLength":255},"features":{"description":"Features that can be enabled for the billing portal.","type":"object","properties":{"authenticateWithPassword":{"description":"Specifies if a customer can authenticate with a password.","type":"boolean","default":true},"orderCancel":{"description":"Specifies if a customer can cancel an order.","type":"boolean","default":true},"orderAddressEdit":{"description":"Specifies if a customer can change an order address.","type":"boolean","default":true},"paymentInstrumentAdd":{"description":"Specifies if a customer can add a new payment instrument.","type":"boolean","default":true},"paymentInstrumentUpdate":{"description":"Specifies if a customer can update their payment instruments.","type":"boolean","default":true},"paymentInstrumentDeactivate":{"description":"Specifies if a customer can disable their payment instruments.","type":"boolean","default":true}}},"customization":{"description":"Visual customization options for the billing portal.","type":"object","properties":{"logoId":{"type":["string","null"],"description":"File ID of the billing portal logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"colors":{"description":"Various colors used in the billing portal.","type":"object","properties":{"primary":{"description":"Primary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"secondary":{"description":"Secondary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed in the billing portal.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}}}},"status":{"description":"Status of the billing portal. If the status is `inactive`,\nthe billing portal URL results in a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SmtpAuthorizationNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"],"default":"none"}}},"SmtpAuthorizationCramMd5":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["cram-md5"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorizationLogin":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["login"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorizationPlain":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["plain"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorization":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/SmtpAuthorizationNone","cram-md5":"#/components/schemas/SmtpAuthorizationCramMd5","login":"#/components/schemas/SmtpAuthorizationLogin","plain":"#/components/schemas/SmtpAuthorizationPlain"}},"oneOf":[{"$ref":"#/components/schemas/SmtpAuthorizationNone"},{"$ref":"#/components/schemas/SmtpAuthorizationCramMd5"},{"$ref":"#/components/schemas/SmtpAuthorizationLogin"},{"$ref":"#/components/schemas/SmtpAuthorizationPlain"}]},"SmtpCredential":{"type":"object","description":"SMTP credential.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["smtp"]},"host":{"type":"string","description":"SMTP host name."},"port":{"type":"integer","description":"SMTP port value.","minimum":1,"maximum":65535,"default":25},"encryption":{"type":"string","description":"Encryption value.","enum":["none","tls","ssl"],"default":"none"},"auth":{"$ref":"#/components/schemas/SmtpAuthorization"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"WebhookAuthorizationNone":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["none"],"default":"none"}},"required":["type"]},"WebhookAuthorizationBasic":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["basic"],"default":"none"},"username":{"description":"Username for basic authentication.","type":"string"},"password":{"description":"Password for basic authentication.","type":"string","format":"password"}},"required":["username","password","type"]},"WebhookAuthorizationDigest":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["digest"],"default":"none"},"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"}},"required":["username","password","type"]},"WebhookAuthorization":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/WebhookAuthorizationNone","basic":"#/components/schemas/WebhookAuthorizationBasic","digest":"#/components/schemas/WebhookAuthorizationDigest"}},"oneOf":[{"$ref":"#/components/schemas/WebhookAuthorizationNone"},{"$ref":"#/components/schemas/WebhookAuthorizationBasic"},{"$ref":"#/components/schemas/WebhookAuthorizationDigest"}]},"WebhookCredential":{"type":"object","description":"Credential for webhook authentication.\nCredentials are associated with a host and contain authentication details.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["webhook"]},"host":{"type":"string","description":"Name of the host.","pattern":"^[A-Za-z0-9-.]+$","example":"app-prod.example.com"},"auth":{"$ref":"#/components/schemas/WebhookAuthorization"}}},"ExperianCredential":{"type":"object","description":"Experian integration provides identity verification.\nFor more information, see [Experian integration](https://www.rebilly.com/docs/automations/experian-integration/#experian-integration).","required":["username","password","hmacKey","publicKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["experian"]},"username":{"type":"string","description":"Username of the Experian account."},"password":{"type":"string","description":"Password of the Experian account.","format":"password"},"hmacKey":{"type":"string","description":"HMAC key that is used to generate the signature for Experian requests.","format":"password","example":"PxOclToLSxW4oAB5N5HSdfoslyEWuvfkLjfHeNG2aZY~"},"publicKey":{"type":"string","description":"HMAC public key that is included in the signature for Experian requests.","example":"8831AA5552FE10CD"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"MailgunCredential":{"type":"object","description":"Mailgun credential.","required":["emailFrom","apiKey","domain","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["mailgun"]},"emailFrom":{"type":"string","format":"email","description":"Address from which emails are sent.","minLength":1,"maxLength":254},"apiKey":{"type":"string","description":"Mailgun API key."},"domain":{"type":"string","description":"Mailgun domain."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OAuth2Credential":{"type":"object","description":"OAuth2 credential.","required":["code","scopes","service","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["oauth2"]},"service":{"description":"Name of the service to which the OAuth2 credential relates.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"code":{"description":"OAuth2 code provided by the authentication server.","type":"string","example":"2/smAHUUr9jOxw_IOp47Y_dH1r2Y"},"accessToken":{"description":"OAuth2 access token.","readOnly":true,"type":"string","example":"S9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkh"},"refreshToken":{"description":"OAuth2 refresh token.","readOnly":true,"type":"string","example":"2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94"},"expirationTime":{"description":"Date and time when the access token expires.","readOnly":true,"type":["string","null"],"format":"date-time"},"scopes":{"description":"List of URLs that are granted OAuth2 access.","type":"array","items":{"type":"string"},"example":["https://www.googleapis.com/auth/drive.metadata.readonly"]},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PostmarkCredential":{"type":"object","description":"Postmark credential.","required":["serverApiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["postmark"]},"serverApiToken":{"type":"string","description":"Postmark server API token.","example":"dd0508z9-2291-6794-3376-z0a70g12eqm9"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SendGridCredential":{"type":"object","description":"SendGrid credential.","required":["apiKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["sendgrid"]},"apiKey":{"type":"string","description":"SendGrid API key.","example":"SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SESCredential":{"type":"object","description":"Amazon Web Services (AWS) Simple Email Service (SES) credential.","required":["key","secret","region","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["aws-ses"]},"key":{"type":"string","description":"ID of the AWS access key.","example":"BWITYO4UARGDLMFY6UDP"},"secret":{"type":"string","description":"Secret AWS access key.","example":"8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG"},"region":{"type":"string","description":"AWS region name.","example":"us-west-2"},"configurationSetName":{"type":"string","description":"Name of configuration set from which emails are sent.","example":"SpecialConfigurationSet"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"TaxJarCredential":{"type":"object","description":"TaxJar integration enables you to calculate taxes and create transactions for the Sales Tax AutoFile feature in your TaxJar account.\nFor more information, see [TaxJar integration](https://www.rebilly.com/docs/automations/tax-jar-integration/#taxjar-integration).","required":["apiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["taxjar"]},"apiToken":{"type":"string","description":"TaxJar API token.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","default":false,"example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AvalaraCredential":{"type":"object","description":"Avalara integration enables you to calculate taxes and create transactions in your Avalara account.","required":["licenseKey","accountId","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["avalara"]},"licenseKey":{"type":"string","description":"Avalara license key.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"accountId":{"type":"string","description":"ID of the Avalara account.","example":"a1b2c3d4e5f6"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PlaidCredential":{"type":"object","description":"Plaid integration provides customer bank credential verification,\nand simplifies the process of providing credentials for your customers.\nFor more information, see [Plaid integration](https://www.rebilly.com/docs/automations/plaid-integration/).","required":["clientId","secretToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["plaid"]},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ServiceCredential":{"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/SmtpCredential","webhook":"#/components/schemas/WebhookCredential","experian":"#/components/schemas/ExperianCredential","mailgun":"#/components/schemas/MailgunCredential","oauth2":"#/components/schemas/OAuth2Credential","postmark":"#/components/schemas/PostmarkCredential","sendgrid":"#/components/schemas/SendGridCredential","aws-ses":"#/components/schemas/SESCredential","taxjar":"#/components/schemas/TaxJarCredential","avalara":"#/components/schemas/AvalaraCredential","plaid":"#/components/schemas/PlaidCredential"}},"oneOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"$ref":"#/components/schemas/WebhookCredential"},{"$ref":"#/components/schemas/ExperianCredential"},{"$ref":"#/components/schemas/MailgunCredential"},{"$ref":"#/components/schemas/OAuth2Credential"},{"$ref":"#/components/schemas/PostmarkCredential"},{"$ref":"#/components/schemas/SendGridCredential"},{"$ref":"#/components/schemas/SESCredential"},{"$ref":"#/components/schemas/TaxJarCredential"},{"$ref":"#/components/schemas/AvalaraCredential"},{"$ref":"#/components/schemas/PlaidCredential"}]},"PostSmtpCredential":{"allOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp"],"readOnly":false}}}]},"PostWebhookCredential":{"allOf":[{"$ref":"#/components/schemas/WebhookCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["webhook"],"readOnly":false}}}]},"PostExperianCredential":{"allOf":[{"$ref":"#/components/schemas/ExperianCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["experian"],"readOnly":false}}}]},"PostMailgunCredential":{"allOf":[{"$ref":"#/components/schemas/MailgunCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["mailgun"],"readOnly":false}}}]},"PostOAuth2Credential":{"allOf":[{"$ref":"#/components/schemas/OAuth2Credential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["oauth2"],"readOnly":false}}}]},"PostPostmarkCredential":{"allOf":[{"$ref":"#/components/schemas/PostmarkCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["postmark"],"readOnly":false}}}]},"PostSendGridCredential":{"allOf":[{"$ref":"#/components/schemas/SendGridCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["sendgrid"],"readOnly":false}}}]},"PostAwsSesCredential":{"allOf":[{"$ref":"#/components/schemas/SESCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["aws-ses"],"readOnly":false}}}]},"PostTaxJarCredential":{"allOf":[{"$ref":"#/components/schemas/TaxJarCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"],"readOnly":false}}}]},"PostAvalaraCredential":{"allOf":[{"$ref":"#/components/schemas/AvalaraCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["avalara"],"readOnly":false}}}]},"PostPlaidCredential":{"allOf":[{"$ref":"#/components/schemas/PlaidCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"],"readOnly":false}}}]},"PatchServiceCredentialRequest":{"type":"object","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","avalara"]}}},"PatchPlaidCredentialRequest":{"type":"object","description":"Plaid credential.","required":["type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"]}}},"PatchTaxJarCredentialRequest":{"type":"object","description":"TaxJar credential.","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","example":false},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"]}}},"CustomDomain":{"type":"object","required":["domain"],"properties":{"id":{"description":"ID of the custom domain.","type":"string","maxLength":255,"readOnly":true},"domain":{"description":"Fully qualified domain name.","type":"string","maxLength":255},"isVerified":{"description":"True if the domain is verified by Rebilly.","type":"boolean","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EmailDeliverySetting":{"type":"object","required":["from","name"],"properties":{"id":{"type":"string","description":"ID of the email delivery setting.","readOnly":true,"maxLength":50,"example":"mail_dst_0YVCNQV8PSCERAJ7N1V4WWPZN2"},"from":{"description":"Email address of the sender.\n\n> **Important:** This email address must be unique within your account.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"name":{"description":"Name of the sender.","type":"string","example":"John Doe"},"status":{"description":"Status of the email message.","readOnly":true,"type":"string","enum":["pending","verified"]},"credentialId":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"provider":{"readOnly":true,"description":"Email service provider name.","type":"string","enum":["rebilly","smtp","aws-ses","mailgun","postmark","sendgrid"],"example":"rebilly"},"isDefault":{"type":"boolean","description":"Specifies if the email delivery setting is used by default.","default":false},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EmailMessage":{"type":"object","required":["from","to","subject","text","html"],"properties":{"id":{"type":"string","description":"ID of the email message.","readOnly":true,"maxLength":50,"example":"mail_msg_0YVCNR8ZRBCVMAX28DP4XRFZVA"},"status":{"description":"Status of the email message.","type":"string","enum":["draft","outbox","sent","failed"],"default":"draft"},"metadata":{"description":"Metadata associated with the email message.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"eventType":"subscription-canceled"}},"credentialHash":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"from":{"description":"Email address of the sender.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"to":{"description":"List of email addresses to which the email message is sent.","type":"array","minItems":1,"items":{"type":"string","format":"email","maxLength":254},"example":["to-example@rebilly.com"]},"cc":{"description":"List of CC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"bcc":{"description":"List of BCC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"subject":{"description":"Subject of the email message.","type":"string","maxLength":998,"example":"Welcome dear customer!"},"text":{"description":"Body of the email message in plain text.","type":"string","example":"Email message text body"},"html":{"description":"Body of the email message in HTML format.","type":"string","example":"<p>Email message html body</p>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"description":"Type of attachment resource.","type":"string","example":"invoice"},"resourceId":{"type":"string","description":"ID of the attachment resource.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"}}}},"responseCode":{"type":["integer","null"],"description":"Status code returned by a mail service after an attempt to send email.","readOnly":true,"example":250},"responseBody":{"type":["string","null"],"description":"Body of response returned by a mail service after an attempt to send email.","readOnly":true},"initiatedTime":{"type":["string","null"],"description":"Date and time when the email is initiated.","format":"date-time","readOnly":true},"sentTime":{"type":["string","null"],"description":"Date and time when the email is sent.","format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EventType":{"type":"string","description":"Type of Rebilly event.","readOnly":true,"enum":["account-password-reset-requested","account-verification-requested","aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","customer-created","customer-one-time-password-requested","customer-updated","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-modified","kyc-document-rejected","kyc-request-fulfilled","order-abandon-reminder","order-abandoned","order-completed","order-change-applied","order-change-canceled","order-change-created","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-created","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","ready-to-payout-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","trial-usage-limit-reached","order-delinquency-reached","autodeposit-lookup-performed"]},"EmailNotification":{"type":"object","description":"Email notification event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"count":{"type":"integer","readOnly":true,"description":"Total number of binds with `send-email` actions per event."},"activeCount":{"type":"integer","readOnly":true,"description":"Number of active binds with `send-email` actions per event."},"notifications":{"readOnly":true,"type":"array","description":"List of notifications.","items":{"type":"object","properties":{"labels":{"description":"Labels of the notification.","type":"array","items":{"type":"string"}},"title":{"type":"string","description":"Title of the notification."},"isActive":{"type":"boolean","description":"Specifies if the notification is enabled."}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SystemEvent":{"type":"object","description":"Application event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"description":"Title of the system event.","type":"string"},"description":{"description":"Description of the system event.","type":"string"},"category":{"description":"Category of system event.","type":"string","enum":["billing","payments"]},"rulesCount":{"description":"Total number of rules associated with the system event.\nA rule is a configuration of an event and one or more actions.\nA rule can be configured to stop subsequent rules in the event list from being executed.","type":"integer","readOnly":true},"bindsCount":{"description":"Total number of binds associated with the system event.\nA bind is a configuration of an event and one or more actions.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}},"RuleAction":{"type":"object","discriminator":{"propertyName":"name","mapping":{"abandon-scheduled-payments":"#/components/schemas/RuleActionAbandonScheduledPayments","add-risk-score":"#/components/schemas/RuleActionAddRiskScore","adjust-ready-to-pay":"#/components/schemas/RuleActionAdjustReadyToPay","adjust-ready-to-payout":"#/components/schemas/RuleActionAdjustReadyToPayout","blocklist":"#/components/schemas/RuleActionAddBlockList","cancel-scheduled-payments":"#/components/schemas/RuleActionCancelScheduledPayments","create-intuit-quickbooks-balance-transaction-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","create-intuit-quickbooks-invoice":"#/components/schemas/RuleActionCreateIntuitQuickbooksInvoice","create-intuit-quickbooks-payment":"#/components/schemas/RuleActionCreateIntuitQuickbooksPayment","create-intuit-quickbooks-refund-receipt":"#/components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","create-intuit-quickbooks-revenue-recognition-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","decline-transaction":"#/components/schemas/RuleActionDeclineTransaction","check-ontario-restriction":"#/components/schemas/RuleActionCheckOntarioRestriction","display-other-choices":"#/components/schemas/RuleActionDisplayOtherChoices","guess-payment-card-expiration":"#/components/schemas/RuleActionGuessPaymentCardExpiration","perform-experian-check":"#/components/schemas/RuleActionPerformExperianCheck","pick-gateway-account":"#/components/schemas/RuleActionPickGatewayAccount","request-kyc":"#/components/schemas/RuleActionRequestKyc","request-physical-address":"#/components/schemas/RuleActionRequestPhysicalAddress","schedule-invoice-retry":"#/components/schemas/RuleActionScheduleInvoiceRetry","schedule-payment":"#/components/schemas/RuleActionSchedulePayment","schedule-reminder":"#/components/schemas/RuleActionScheduleReminder","send-email":"#/components/schemas/RuleActionSendEmail","stop-subscriptions":"#/components/schemas/RuleActionStopSubscriptions","tag-or-untag-customer":"#/components/schemas/RuleActionTagOrUntagCustomer","update-intuit-quickbooks-invoice":"#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","void-intuit-quickbooks-invoice":"#/components/schemas/RuleActionVoidIntuitQuickbooksInvoice"}},"properties":{"name":{"type":"string","description":"Name of the action.","enum":["abandon-scheduled-payments","add-risk-score","adjust-ready-to-pay","adjust-ready-to-payout","blocklist","cancel-scheduled-payments","create-intuit-quickbooks-balance-transaction-entry","create-intuit-quickbooks-invoice","create-intuit-quickbooks-payment","create-intuit-quickbooks-refund-receipt","create-intuit-quickbooks-revenue-recognition-entry","decline-transaction","check-ontario-restriction","display-other-choices","guess-payment-card-expiration","perform-experian-check","pick-gateway-account","remove-reminder","request-kyc","request-physical-address","reset-reminder","schedule-invoice-retry","schedule-payment","schedule-reminder","send-email","stop-subscriptions","tag-or-untag-customer","update-intuit-quickbooks-invoice","void-intuit-quickbooks-invoice","trigger-webhook","show-descriptor-disclaimer"]},"status":{"description":"Status of the action.","type":"string","default":"active","enum":["active","inactive"]}},"required":["name"]},"RuleActionAbandonScheduledPayments":{"description":"Abandon scheduled payments for an order that exceeds the configured delinquency period.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionAddRiskScore":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Add risk score.","properties":{"score":{"type":"integer","default":0}}}]},"AdjustReadyToPayPaymentCard":{"type":"object","title":"Payment card","properties":{"paymentMethod":{"type":"string","enum":["payment-card"]},"feature":{"type":["string","null"],"description":"Name of the feature.","enum":["Apple Pay","Google Pay"]}}},"AdjustReadyToPayAch":{"type":"object","title":"ACH","properties":{"paymentMethod":{"type":"string","enum":["ach"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["Plaid"]}}},"AdjustReadyToPayPaypal":{"type":"object","title":"PayPal","properties":{"paymentMethod":{"type":"string","enum":["paypal"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["PayPal billing agreement"]}}},"AdjustReadyToPayGeneric":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["paypal"]}}]},"feature":{"type":["string","null"]}}},"AdjustPaymentMethod":{"type":"object","required":["paymentMethod","feature"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayPaymentCard","ach":"#/components/schemas/AdjustReadyToPayAch","paypal":"#/components/schemas/AdjustReadyToPayPaypal","cash":"#/components/schemas/AdjustReadyToPayGeneric","check":"#/components/schemas/AdjustReadyToPayGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayGeneric","Alipay":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayGeneric","Baloto":"#/components/schemas/AdjustReadyToPayGeneric","Beeline":"#/components/schemas/AdjustReadyToPayGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayGeneric","Bizum":"#/components/schemas/AdjustReadyToPayGeneric","Boleto":"#/components/schemas/AdjustReadyToPayGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayGeneric","Cleo":"#/components/schemas/AdjustReadyToPayGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayGeneric","echeck":"#/components/schemas/AdjustReadyToPayGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Efecty":"#/components/schemas/AdjustReadyToPayGeneric","EPS":"#/components/schemas/AdjustReadyToPayGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayGeneric","Giropay":"#/components/schemas/AdjustReadyToPayGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayGeneric","iDebit":"#/components/schemas/AdjustReadyToPayGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayGeneric","Interac":"#/components/schemas/AdjustReadyToPayGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayGeneric","invoice":"#/components/schemas/AdjustReadyToPayGeneric","iWallet":"#/components/schemas/AdjustReadyToPayGeneric","Jeton":"#/components/schemas/AdjustReadyToPayGeneric","jpay":"#/components/schemas/AdjustReadyToPayGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayGeneric","Klarna":"#/components/schemas/AdjustReadyToPayGeneric","KNOT":"#/components/schemas/AdjustReadyToPayGeneric","loonie":"#/components/schemas/AdjustReadyToPayGeneric","Matrix":"#/components/schemas/AdjustReadyToPayGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayGeneric","Megafon":"#/components/schemas/AdjustReadyToPayGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayGeneric","MTS":"#/components/schemas/AdjustReadyToPayGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayGeneric","Neteller":"#/components/schemas/AdjustReadyToPayGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayGeneric","OXXO":"#/components/schemas/AdjustReadyToPayGeneric","P24":"#/components/schemas/AdjustReadyToPayGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayGeneric","PayCash":"#/components/schemas/AdjustReadyToPayGeneric","Payeer":"#/components/schemas/AdjustReadyToPayGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayGeneric","Paymero":"#/components/schemas/AdjustReadyToPayGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayGeneric","Paynote":"#/components/schemas/AdjustReadyToPayGeneric","PinPay":"#/components/schemas/AdjustReadyToPayGeneric","phone":"#/components/schemas/AdjustReadyToPayGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayGeneric","POLi":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayGeneric","QIWI":"#/components/schemas/AdjustReadyToPayGeneric","QPay":"#/components/schemas/AdjustReadyToPayGeneric","QQPay":"#/components/schemas/AdjustReadyToPayGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayGeneric","Resurs":"#/components/schemas/AdjustReadyToPayGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayGeneric","SEPA":"#/components/schemas/AdjustReadyToPayGeneric","Skrill":"#/components/schemas/AdjustReadyToPayGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Sofort":"#/components/schemas/AdjustReadyToPayGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayGeneric","Tele2":"#/components/schemas/AdjustReadyToPayGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayGeneric","Trustly":"#/components/schemas/AdjustReadyToPayGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayGeneric","UPI":"#/components/schemas/AdjustReadyToPayGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayGeneric","voucher":"#/components/schemas/AdjustReadyToPayGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayGeneric","Webpay":"#/components/schemas/AdjustReadyToPayGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayPaymentCard"},{"$ref":"#/components/schemas/AdjustReadyToPayAch"},{"$ref":"#/components/schemas/AdjustReadyToPayPaypal"},{"$ref":"#/components/schemas/AdjustReadyToPayGeneric"}]},"RuleActionAdjustReadyToPay":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to pay.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if the payment methods associated to with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of payment methods allowed.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustPaymentMethod"}}}}]},"AdjustReadyToPayoutGeneric":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","$ref":"#/components/schemas/AlternativePaymentMethods"}}},"AdjustReadyToPayoutPaymentMethod":{"type":"object","required":["paymentMethod"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayoutGeneric","ach":"#/components/schemas/AdjustReadyToPayoutGeneric","paypal":"#/components/schemas/AdjustReadyToPayoutGeneric","cash":"#/components/schemas/AdjustReadyToPayoutGeneric","check":"#/components/schemas/AdjustReadyToPayoutGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayoutGeneric","Alipay":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayoutGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayoutGeneric","Baloto":"#/components/schemas/AdjustReadyToPayoutGeneric","Beeline":"#/components/schemas/AdjustReadyToPayoutGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayoutGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayoutGeneric","Bizum":"#/components/schemas/AdjustReadyToPayoutGeneric","Boleto":"#/components/schemas/AdjustReadyToPayoutGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayoutGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayoutGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayoutGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Cleo":"#/components/schemas/AdjustReadyToPayoutGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayoutGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayoutGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayoutGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayoutGeneric","echeck":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Efecty":"#/components/schemas/AdjustReadyToPayoutGeneric","EPS":"#/components/schemas/AdjustReadyToPayoutGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayoutGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayoutGeneric","Giropay":"#/components/schemas/AdjustReadyToPayoutGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayoutGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","iDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayoutGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayoutGeneric","invoice":"#/components/schemas/AdjustReadyToPayoutGeneric","iWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","Jeton":"#/components/schemas/AdjustReadyToPayoutGeneric","jpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayoutGeneric","Klarna":"#/components/schemas/AdjustReadyToPayoutGeneric","KNOT":"#/components/schemas/AdjustReadyToPayoutGeneric","loonie":"#/components/schemas/AdjustReadyToPayoutGeneric","Matrix":"#/components/schemas/AdjustReadyToPayoutGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Megafon":"#/components/schemas/AdjustReadyToPayoutGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayoutGeneric","MTS":"#/components/schemas/AdjustReadyToPayoutGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayoutGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayoutGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayoutGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayoutGeneric","Neteller":"#/components/schemas/AdjustReadyToPayoutGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayoutGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayoutGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayoutGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","OXXO":"#/components/schemas/AdjustReadyToPayoutGeneric","P24":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayoutGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayoutGeneric","PayCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Payeer":"#/components/schemas/AdjustReadyToPayoutGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayoutGeneric","Paymero":"#/components/schemas/AdjustReadyToPayoutGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayoutGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayoutGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayoutGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayoutGeneric","Paynote":"#/components/schemas/AdjustReadyToPayoutGeneric","PinPay":"#/components/schemas/AdjustReadyToPayoutGeneric","phone":"#/components/schemas/AdjustReadyToPayoutGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayoutGeneric","POLi":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayoutGeneric","QIWI":"#/components/schemas/AdjustReadyToPayoutGeneric","QPay":"#/components/schemas/AdjustReadyToPayoutGeneric","QQPay":"#/components/schemas/AdjustReadyToPayoutGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayoutGeneric","Resurs":"#/components/schemas/AdjustReadyToPayoutGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayoutGeneric","SEPA":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Sofort":"#/components/schemas/AdjustReadyToPayoutGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayoutGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayoutGeneric","Tele2":"#/components/schemas/AdjustReadyToPayoutGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayoutGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayoutGeneric","Trustly":"#/components/schemas/AdjustReadyToPayoutGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayoutGeneric","UPI":"#/components/schemas/AdjustReadyToPayoutGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayoutGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayoutGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayoutGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayoutGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayoutGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayoutGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayoutGeneric"}]},"RuleActionAdjustReadyToPayout":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to payout.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if payment methods that are associated with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of allowed payment methods.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustReadyToPayoutPaymentMethod"}}}}]},"RuleActionAddBlockList":{"description":"Add customer data to blocklist.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"type":{"type":"string","enum":["customer-id","email","fingerprint","ip-address","payment-card"]},"ttl":{"type":"integer","description":"Blocklist TTL.\nThe default value is zero, which means the blocklist record does not expire.","default":0}},"required":["type"]}]},"RuleActionCancelScheduledPayments":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"skipStartedServicePeriod":{"type":"boolean","description":"Skip invoices with started service period.","default":false}}}]},"RuleActionCreateIntuitQuickbooksBalanceTransactionEntry":{"description":"Create an Intuit QuickBooks balance transaction entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks balance transaction entry description.\n\nFor example, `Balance transaction of type {{ balanceTransaction.type }} for transaction #{{ transaction.id }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]},"RuleActionCreateIntuitQuickbooksInvoice":{"description":"Create an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."},"customerDisplayName":{"description":"Customer display name in QuickBooks. Duplicate names are mapped to a single QuickBooks customer.\n\nEvent placeholders could be used as follows:\n- Organization name: `{{ invoice.customer.primaryAddress.organization }}`;\n- Full customer name: `{{ invoice.customer.firstName }} {{ invoice.customer.lastName }}`;\n- Customer ID: `{{ invoice.customer.id }}`.","type":"string"}},"required":["credentialHash","customerDisplayName","unearnedRevenueAccount","customerDisplayName"]}]},"RuleActionCreateIntuitQuickbooksPayment":{"description":"Create an Intuit QuickBooks payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]},"RuleActionCreateIntuitQuickbooksRefundReceipt":{"description":"Create an Intuit QuickBooks refund receipt.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]},"RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry":{"description":"Create an Intuit QuickBooks revenue recognition entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks revenue recognition entry description.\n\nFor example, `Revenue recognition for invoice #{{ invoice.id }} item #{{ item.id }} – {{ item.description }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]},"RuleActionDeclineTransaction":{"description":"Decline transaction.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionCheckOntarioRestriction":{"description":"Decline transactions not conforming to the Ontario restrictions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionDisplayOtherChoices":{"description":"Display other choices.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"choices":{"type":"array","minItems":1,"items":{"type":"object","properties":{"langIso":{"description":"Language in ISO 639-1 code format.","type":"string"},"content":{"type":"string"}},"required":["langIso","content"]}}},"required":["choices"]}]},"RuleActionGuessPaymentCardExpiration":{"allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionPerformExperianCheck":{"description":"Perform Experian ProveID check on the customer.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"experianCredentialHash":{"description":"Hash of the Experian credential to use for performing the check.","type":"string","example":"58816e40-387e-4834-982f-fa1855a75f64"},"tagOnApprove":{"description":"Tag ID that should be used to tag the customer when the identity matches Experian records.","type":"string"},"tagOnReject":{"description":"Tag ID that should be used to tag the customer when the identity doesn't match Experian records.","type":"string"},"tagOnUnknown":{"description":"Tag ID that should be used to tag the customer when the identity is not found in Experian records or further analysis needed.","type":"string"}},"required":["experianCredentialHash"]}]},"GatewayAccountPickInstruction":{"type":"object","discriminator":{"propertyName":"method","mapping":{"gateway-account-weights":"#/components/schemas/PickInstructionGatewayAccountWeights","gateway-acquirer-weights":"#/components/schemas/PickInstructionGatewayAcquirerWeights"}},"properties":{"strategy":{"type":"string","enum":["weighted-random","round-robin"],"description":"Controls the picking strategy for gateway accounts.\nThe weighted-random strategy picks based on weighted-random every time.\nThe round-robin strategy tries a weighted-random different gateway account for consecutive attempts from same payment instrument.","default":"weighted-random"},"method":{"type":"string","enum":["gateway-account-weights","gateway-acquirer-weights"]}},"required":["method"]},"PickInstructionGatewayAccountWeights":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayAccountId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"weight":{"type":"integer","minimum":0}},"required":["gatewayAccountId","weight"]},"example":[{"gatewayAccountId":"my_gateway_account_1","weight":80},{"gatewayAccountId":"my_gateway_account_2","weight":20}]}},"required":["weightedList"]}]},"PickInstructionGatewayAcquirerWeights":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"$ref":"#/components/schemas/AcquirerName"},"weight":{"type":"integer","minimum":0}},"required":["gatewayName","acquirerName","weight"]},"example":[{"gatewayName":"TestProcessor","acquirerName":"AIB","weight":80},{"gatewayName":"TestProcessor","acquirerName":"B+S","weight":20}]}},"required":["weightedList"]}]},"RuleActionPickGatewayAccount":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"pickInstruction":{"$ref":"#/components/schemas/GatewayAccountPickInstruction"}},"required":["pickInstruction"]}]},"RuleActionRequestKyc":{"description":"Request KYC page to verify customer identity.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"excludePolicy":{"type":"string","description":"Specifies who should be excluded from the verification.","enum":["customers-with-accepted-document","customers-with-document","none"],"default":"customers-with-accepted-document"},"isMandatory":{"type":"boolean","description":"Is the verification mandatory.","default":true},"promptPolicy":{"type":"string","description":"When to prompt, before or after processing the transaction.","enum":["before-transaction-process","after-transaction-process"],"default":"before-transaction-process"},"rejectedBeforeTransactionProcessPolicy":{"type":"string","description":"What to do if verification is before transaction processing, and is rejected.","enum":["process-transaction","decline","use-alternate-gateway"],"default":"decline"},"alternateGatewayAccountIfRejected":{"type":"string","description":"Gateway account to use if use-alternate-gateway is selected for rejectedBeforeTransactionProcessPolicy."},"rejectedAfterTransactionProcessPolicy":{"type":"string","description":"What to do if verification is after transaction processing, and is rejected.","enum":["proceed"],"default":"proceed"},"optionalPolicy":{"type":"string","description":"What to do if verification is optional.","enum":["allow-bypass","allow-use-alternate-gateway"],"default":"allow-bypass"},"alternateGatewayAccountIfOptional":{"type":"string","description":"Gateway account to use if allow-use-alternate-gateway is selected for optionalPolicy."},"bypassCurrencyToDisplay":{"description":"Currency three letter code to display on the bypass link, if optional.","type":"string","default":"USD"}},"required":["documents","excludePolicy","isMandatory","promptPolicy","rejectedBeforeTransactionProcessPolicy","rejectedAfterTransactionProcessPolicy","optionalPolicy"]}]},"RuleActionRequestPhysicalAddress":{"description":"Displays a Rebilly-hosted page where the customer can provide a street address and postal code before the payment is sent to the gateway.\nThe page is displayed only if the customer's primary address is a PO Box.\nThe submitted values are stored in the `referenceData` field of the transaction using the `physicalAddress` and `physicalAddressPostalCode` keys.\nAfter the customer provides an address, the page is not displayed on their later payments.\nIf the customer skips this step, the page is displayed again on their next payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"instructionsText":{"description":"Text that is displayed above the form.\nHTML is permitted.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":65535},"buttonText":{"description":"Text of the button that the customer can press to submit the address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255},"skipLinkText":{"description":"Text of the link that the customer can select to skip the address step and continue the payment without providing an address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255}}}]},"RuleActionScheduleInvoiceRetry":{"description":"Schedule an invoice retry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Policy on the attempt finishes.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Policy on the retry ends.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}},"overrideRetryInstruction":{"description":"Specifies whether to replace the existing retry.","type":"boolean"}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies","overrideRetryInstruction"]}]},"SchedulingMethodAuto":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["auto"]}}},"ScheduleInstruction":{"type":"object","description":"Specifies when the instruction is performed.","discriminator":{"propertyName":"method","mapping":{"auto":"#/components/schemas/SchedulingMethodAuto","date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodAuto"},{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]},"RuleActionSchedulePayment":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Calculation instruction of scheduled time for payment.","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/ScheduleInstruction"},"amountPolicy":{"type":"string","enum":["invoice-amount-due"]}},"required":["scheduleInstruction","amountPolicy"]}]},"ReminderScheduleInstruction":{"type":"object","description":"Calculation instruction of the scheduled time.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]},"RuleActionScheduleReminder":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","deprecated":true,"properties":{"role":{"type":"string","enum":["all","renewal","trial-end"],"description":"Specifies the types of events that the reminder is applicable to.\nThe `renewal` and `trial-end` options are only available for order events.\nOther events must use the `all` option."},"schedule":{"type":"object","description":"Collection of schedule instructions.","properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/ReminderScheduleInstruction"}},"chronology":{"type":"string","enum":["before","after"]}},"required":["instructions","chronology"]}},"required":["role"]}]},"RulesEmailNotification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the message."},"version":{"type":"string","description":"Version number of the message.\nUse this field to distinguish between multiple messages by name and version number.\nIf there are no versions, this field is empty."},"weight":{"type":"integer","description":"Weight distribution value that is assigned to a template for a split test.\nEach template in a split test can be assigned a weight.\nThe higher the weight value, the more likely the message template is used.\n\nThe split test algorithm does not assess locale when making a weighted template selection.","minimum":0,"maximum":100,"example":75,"default":100},"templates":{"description":"Array of message templates with language locale identifiers in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.\nA language is selected based on the customer's locale.\n\nIf no locale is configured for the customer, `en-US` (US English) is used.\n\nIf no template is available in the customer's locale,\na template locale is selected using a closest match algorithm.\n\nIf your email message templates are localized into more than one language,\nset a customer locale.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.","type":"array","minItems":1,"items":{"type":"object","required":["locale","subject","text","html","from","to"],"properties":{"locale":{"type":"string","description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR"},"from":{"type":"string","description":"Email address of the sender.\n\n> **Important:** This value must be a verified email address.\n\nTo verify an email address:\n  1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/).\n    In the response, you receive the email and a token.\n  1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter.\n\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to a verified `from` address,\nthe default verified `from` address is used.","maxLength":254,"example":"example@example.com"},"to":{"type":"array","description":"List of email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","minItems":1,"items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"cc":{"type":"array","description":"List of CC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"bcc":{"type":"array","description":"List of BCC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"subject":{"type":"string","description":"Subject of the message.\nThe use of template placeholders is permitted for this field.","maxLength":998,"example":"Demonstration subject"},"text":{"type":"string","description":"Text body of the message.\nTo use content from the `html` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"Demonstration text"},"html":{"type":"string","description":"HTML body of the message.\nTo use content from the `text` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"<p>Demonstration text</p>"},"editor":{"type":"string","description":"Source of the message.\nThis value is required for the email editor.\nThis value is not used for sending emails.\nIt is used by the editor to reproduce the message for future updates.","example":"<div class=\"block\">Demonstration text</div>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"type":"string","description":"Type of the attachment resource.","example":"customer"},"resourceId":{"type":"string","description":"ID of the attachment resource.\nTemplate placeholders are permitted.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"}}}}},"example":{"locale":"fr-FR","from":"example@example.com","to":["{{ invoice.customer.email }}"],"subject":"Sujet de démonstration","text":"Texte de démonstration","html":"<p>Texte de démonstration</p>","editor":"<div class=\"block\">Texte de démonstration</div>"}}}},"required":["templates"]},"RuleActionSendEmail":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the action."},"title":{"type":"string","description":"Title of the messages (this title appears in reports)."},"emails":{"type":"array","description":"List of messages.","minItems":1,"items":{"$ref":"#/components/schemas/RulesEmailNotification"}},"splitTestStartTime":{"type":"string","format":"date-time","description":"Split test start time."}},"required":["emails"]}]},"RuleActionStopSubscriptions":{"description":"Stop active subscriptions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionTagOrUntagCustomer":{"description":"Tag or untag a customer with a specified list of tags.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"addingTags":{"description":"List of tag ID customer should be tagged with.","type":"array","maxItems":1000,"items":{"type":"string"}},"removingTags":{"description":"List of tag ID customer should be untagged from.","type":"array","maxItems":1000,"items":{"type":"string"}}},"required":["addingTags","removingTags"]}]},"RuleActionUpdateIntuitQuickbooksInvoice":{"description":"Update an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","unearnedRevenueAccount"]}]},"RuleActionVoidIntuitQuickbooksInvoice":{"description":"Void an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash"]}]},"Bind":{"type":"object","description":"Rule information.","properties":{"id":{"description":"ID of the rule.","$ref":"#/components/schemas/ResourceId"},"name":{"description":"Name of the rule.","type":"string"},"labels":{"description":"Labels of the rule.","type":"array","uniqueItems":true,"example":["test-rule","category:foo"],"items":{"type":"string","pattern":"[a-zA-Z][a-zA-Z0-9:-]*"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"actions":{"description":"Actions that execute when an event occurs.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RuleAction"}}},"required":["name","actions"]},"Rule":{"type":"object","allOf":[{"$ref":"#/components/schemas/Bind"},{"type":"object","properties":{"final":{"description":"Specifies if the rule stops subsequent rules in the event list from being executed.","type":"boolean","default":true}}}]},"RuleSet":{"type":"object","description":"Ruleset for a specific event.","properties":{"version":{"description":"Version of the ruleset.","type":"integer","readOnly":true},"binds":{"type":"array","description":"Binds always execute, regardless of rule based events.\nA bind is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Bind"}},"rules":{"type":"array","description":"Rules can be configured to stop subsequent rules in the event list from being executed.\nA rule is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Rule"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}},"required":["rules"]},"RuleSetHistoryItem":{"type":"object","description":"Version of ruleset.","readOnly":true,"properties":{"version":{"description":"Version of the ruleset.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}},"GatewayAccount":{"description":"Gateway account details.","type":"object","required":["gatewayName","method","acceptedCurrencies"],"discriminator":{"propertyName":"gatewayName","mapping":{"A1Gateway":"#/components/schemas/A1Gateway","ACI":"#/components/schemas/ACI","Adyen":"#/components/schemas/Adyen","Aera":"#/components/schemas/Aera","Aircash":"#/components/schemas/Aircash","Airpay":"#/components/schemas/Airpay","Airwallex":"#/components/schemas/Airwallex","AmazonPay":"#/components/schemas/AmazonPay","AmexVPC":"#/components/schemas/AmexVPC","Antom":"#/components/schemas/Antom","ApcoPay":"#/components/schemas/ApcoPay","AsiaPay":"#/components/schemas/AsiaPay","AsiaPaymentGateway":"#/components/schemas/AsiaPaymentGateway","AstroPayCard":"#/components/schemas/AstroPayCard","AuthorizeNet":"#/components/schemas/AuthorizeNet","Awepay":"#/components/schemas/Awepay","Bambora":"#/components/schemas/Bambora","BankSEND":"#/components/schemas/BankSEND","BitPay":"#/components/schemas/BitPay","BlueSnap":"#/components/schemas/BlueSnap","BraintreePayments":"#/components/schemas/BraintreePayments","Buckaroo":"#/components/schemas/Buckaroo","BVNK":"#/components/schemas/BVNK","CASHlib":"#/components/schemas/CASHlib","CODVoucher":"#/components/schemas/CODVoucher","Coinbase":"#/components/schemas/Coinbase","CoinGate":"#/components/schemas/CoinGate","CoinPayments":"#/components/schemas/CoinPayments","Cardknox":"#/components/schemas/Cardknox","Cashflows":"#/components/schemas/Cashflows","Cashterminal":"#/components/schemas/Cashterminal","CashToCode":"#/components/schemas/CashToCode","CauriPayment":"#/components/schemas/CauriPayment","Cayan":"#/components/schemas/Cayan","CCAvenue":"#/components/schemas/CCAvenue","Chase":"#/components/schemas/Chase","CheckoutCom":"#/components/schemas/CheckoutCom","Chillstock":"#/components/schemas/Chillstock","Circle":"#/components/schemas/Circle","Citadel":"#/components/schemas/Citadel","Clearhaus":"#/components/schemas/Clearhaus","Cleo":"#/components/schemas/Cleo","Conekta":"#/components/schemas/Conekta","Coppr":"#/components/schemas/Coppr","Cps":"#/components/schemas/Cps","Credorax":"#/components/schemas/Credorax","Cryptomus":"#/components/schemas/Cryptomus","Cryptonator":"#/components/schemas/Cryptonator","CyberSource":"#/components/schemas/CyberSource","DataCash":"#/components/schemas/DataCash","Dengi":"#/components/schemas/Dengi","Dimoco":"#/components/schemas/Dimoco","dLocal":"#/components/schemas/dLocal","Dragonphoenix":"#/components/schemas/Dragonphoenix","Dropayment":"#/components/schemas/Dropayment","Directa24":"#/components/schemas/Directa24","EasyPayDirect":"#/components/schemas/EasyPayDirect","EBANX":"#/components/schemas/EBANX","EPG":"#/components/schemas/EPG","EPro":"#/components/schemas/EPro","EcorePay":"#/components/schemas/EcorePay","Elavon":"#/components/schemas/Elavon","EMS":"#/components/schemas/EMS","ePay":"#/components/schemas/ePay","Euteller":"#/components/schemas/Euteller","Ezeebill":"#/components/schemas/Ezeebill","eZeeWallet":"#/components/schemas/eZeeWallet","ezyEFT":"#/components/schemas/ezyEFT","FinTecSystems":"#/components/schemas/FinTecSystems","Finrax":"#/components/schemas/Finrax","Flexepin":"#/components/schemas/Flexepin","Forte":"#/components/schemas/Forte","FundSend":"#/components/schemas/FundSend","gate2way":"#/components/schemas/gate2way","GET":"#/components/schemas/GET","Gigadat":"#/components/schemas/Gigadat","GlobalOne":"#/components/schemas/GlobalOne","GoCardless":"#/components/schemas/GoCardless","Gooney":"#/components/schemas/Gooney","Gpaysafe":"#/components/schemas/Gpaysafe","Greenbox":"#/components/schemas/Greenbox","HiPay":"#/components/schemas/HiPay","iCashOne":"#/components/schemas/iCashOne","ICEPAY":"#/components/schemas/ICEPAY","INOVAPAY":"#/components/schemas/INOVAPAY","Ilixium":"#/components/schemas/Ilixium","IMerchant":"#/components/schemas/IMerchant","Ingenico":"#/components/schemas/Ingenico","Inovio":"#/components/schemas/Inovio","InstaDebit":"#/components/schemas/InstaDebit","Intuit":"#/components/schemas/Intuit","IpayOptions":"#/components/schemas/IpayOptions","Isx":"#/components/schemas/Isx","JetPay":"#/components/schemas/JetPay","Jeton":"#/components/schemas/Jeton","JPMOrbital":"#/components/schemas/JPMOrbital","Khelocard":"#/components/schemas/Khelocard","Klarna":"#/components/schemas/Klarna","Konnektive":"#/components/schemas/Konnektive","Kushki":"#/components/schemas/Kushki","LaCore":"#/components/schemas/LaCore","Limepay":"#/components/schemas/Limepay","Loonio":"#/components/schemas/Loonio","loonie":"#/components/schemas/loonie","LPG":"#/components/schemas/LPG","MaxiCash":"#/components/schemas/MaxiCash","MercadoPago":"#/components/schemas/MercadoPago","MiFinity":"#/components/schemas/MiFinity","MobilePay":"#/components/schemas/MobilePay","Mollie":"#/components/schemas/Mollie","Moneris":"#/components/schemas/Moneris","Monolo":"#/components/schemas/Monolo","MonRem":"#/components/schemas/MonRem","MtaPay":"#/components/schemas/MtaPay","MuchBetter":"#/components/schemas/MuchBetter","MuchBetterGateway":"#/components/schemas/MuchBetterGateway","MyFatoorah":"#/components/schemas/MyFatoorah","Naewe":"#/components/schemas/Naewe","Neosurf":"#/components/schemas/Neosurf","NMI":"#/components/schemas/NMI","Netbanking":"#/components/schemas/Netbanking","Neteller":"#/components/schemas/Neteller","NGenius":"#/components/schemas/NGenius","NinjaWallet":"#/components/schemas/NinjaWallet","NordikCoin":"#/components/schemas/NordikCoin","NOWPayments":"#/components/schemas/NOWPayments","NuaPay":"#/components/schemas/NuaPay","OchaPay":"#/components/schemas/OchaPay","OmniMatrix":"#/components/schemas/OmniMatrix","Onlineueberweisen":"#/components/schemas/Onlineueberweisen","OnRamp":"#/components/schemas/OnRamp","Orbital":"#/components/schemas/Orbital","Pagadito":"#/components/schemas/Pagadito","Pagsmile":"#/components/schemas/Pagsmile","Panamerican":"#/components/schemas/Panamerican","PandaGateway":"#/components/schemas/PandaGateway","ParamountCommerce":"#/components/schemas/ParamountCommerce","ParamountEft":"#/components/schemas/ParamountEft","ParamountInterac":"#/components/schemas/ParamountInterac","Pay4Fun":"#/components/schemas/Pay4Fun","Paybilt":"#/components/schemas/Paybilt","PayCash":"#/components/schemas/PayCash","PayClub":"#/components/schemas/PayClub","Paycly":"#/components/schemas/Paycly","PayCom":"#/components/schemas/PayCom","PayEcards":"#/components/schemas/PayEcards","Paynote":"#/components/schemas/Paynote","PayPal":"#/components/schemas/PayPal","Payeezy":"#/components/schemas/Payeezy","Payflow":"#/components/schemas/Payflow","PayGlocal":"#/components/schemas/PayGlocal","PaymentAsia":"#/components/schemas/PaymentAsia","PaymenTechnologies":"#/components/schemas/PaymenTechnologies","PaymentsOS":"#/components/schemas/PaymentsOS","Paymero":"#/components/schemas/Paymero","Payper":"#/components/schemas/Payper","Payr":"#/components/schemas/Payr","PayRedeem":"#/components/schemas/PayRedeem","PayRetailers":"#/components/schemas/PayRetailers","Paysafe":"#/components/schemas/Paysafe","Paysafecard":"#/components/schemas/Paysafecard","Paysafecash":"#/components/schemas/Paysafecash","PayTabs":"#/components/schemas/PayTabs","PayU":"#/components/schemas/PayU","PayULatam":"#/components/schemas/PayULatam","Payvision":"#/components/schemas/Payvision","PayXpert":"#/components/schemas/PayXpert","PharosPayments":"#/components/schemas/PharosPayments","Piastrix":"#/components/schemas/Piastrix","Pin4Pay":"#/components/schemas/Pin4Pay","Plugnpay":"#/components/schemas/Plugnpay","PostFinance":"#/components/schemas/PostFinance","Powertranz":"#/components/schemas/Powertranz","PSiGate":"#/components/schemas/PSiGate","PPRO":"#/components/schemas/PPRO","Prosa":"#/components/schemas/Prosa","Quickpay":"#/components/schemas/Quickpay","Rapyd":"#/components/schemas/Rapyd","RPN":"#/components/schemas/RPN","Realex":"#/components/schemas/Realex","Realtime":"#/components/schemas/Realtime","Redsys":"#/components/schemas/Redsys","Rotessa":"#/components/schemas/Rotessa","Safecharge":"#/components/schemas/Safecharge","SaltarPay":"#/components/schemas/SaltarPay","SMSVoucher":"#/components/schemas/SMSVoucher","Sofort":"#/components/schemas/Sofort","Sagepay":"#/components/schemas/Sagepay","SeamlessChex":"#/components/schemas/SeamlessChex","SecureTrading":"#/components/schemas/SecureTrading","SecurionPay":"#/components/schemas/SecurionPay","Skrill":"#/components/schemas/Skrill","SmartInvoice":"#/components/schemas/SmartInvoice","SparkPay":"#/components/schemas/SparkPay","Splitit":"#/components/schemas/Splitit","StaticGateway":"#/components/schemas/StaticGateway","STPMexico":"#/components/schemas/STPMexico","Stripe":"#/components/schemas/Stripe","Tabby":"#/components/schemas/Tabby","Telr":"#/components/schemas/Telr","TestProcessor":"#/components/schemas/TestProcessor","Thunes":"#/components/schemas/Thunes","ToditoCash":"#/components/schemas/ToditoCash","Triple000":"#/components/schemas/Triple000","Truevo":"#/components/schemas/Truevo","TrustsPay":"#/components/schemas/TrustsPay","Trustly":"#/components/schemas/Trustly","TWINT":"#/components/schemas/TWINT","Txn":"#/components/schemas/Txn","Unlimit":"#/components/schemas/Unlimit","UPayCard":"#/components/schemas/UPayCard","USAePay":"#/components/schemas/USAePay","VantivLitle":"#/components/schemas/VantivLitle","VCreditos":"#/components/schemas/VCreditos","VegaWallet":"#/components/schemas/VegaWallet","Viva":"#/components/schemas/Viva","Wallet88":"#/components/schemas/Wallet88","Walpay":"#/components/schemas/Walpay","WesternUnion":"#/components/schemas/WesternUnion","Wirecard":"#/components/schemas/Wirecard","WorldlineAtosFrankfurt":"#/components/schemas/WorldlineAtosFrankfurt","Worldpay":"#/components/schemas/Worldpay","Zotapay":"#/components/schemas/Zotapay","eMerchantPay":"#/components/schemas/eMerchantPay","ecoPayz":"#/components/schemas/ecoPayz","ecoPayzTurkey":"#/components/schemas/ecoPayzTurkey","iCanPay":"#/components/schemas/iCanPay","iCheque":"#/components/schemas/iCheque","iDebit":"#/components/schemas/iDebit","vegaaH":"#/components/schemas/vegaaH","XPay":"#/components/schemas/XPay","Zimpler":"#/components/schemas/Zimpler"}},"properties":{"id":{"type":"string","description":"ID of the payment gateway account.","readOnly":true,"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"default":"Other","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"$ref":"#/components/schemas/PaymentMethod"},"acceptedCurrencies":{"description":"Accepted currencies.\nThis is an array of ISO 4217 currency codes.","type":"array","items":{"type":"string"}},"paymentCardSchemes":{"description":"Accepted payment card brands.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"status":{"description":"Status of the gateway account.","readOnly":true,"type":"string","enum":["active","inactive","pending","closed"]},"merchantCategoryCode":{"description":"Merchant category code of the payment gateway account.","type":"string","pattern":"^[0-9]{4}$","default":"0000"},"dccMarkup":{"description":"Dynamic currency conversion markup in basis points.\nThis value cannot be `0` if the `dccForceCurrency` field is empty.","type":["integer","null"],"minimum":-10000,"maximum":10000},"dccForceCurrency":{"type":["string","null"],"description":"Forces Dynamic Currency Conversion (DCC) to the specified currency on each sale.\nTo disable forced DCC, leave this field empty."},"dccForceConfirmation":{"type":"boolean","default":false,"description":"Specifies whether a confirmation step is required when `dccForceCurrency` is set."},"dccForceRounding":{"type":"boolean","default":false,"description":"Specifies that DCC quote amounts must be rounded half up to the nearest whole number."},"descriptor":{"description":"Gateway account descriptor value.","type":["string","null"]},"cityField":{"description":"Gateway account city field.\nThis value is also known as a line 2 descriptor.","type":["string","null"]},"excludedDccQuoteCurrencies":{"description":"Excluded Dynamic Currency Conversion (DCC) quote currencies.","type":"array","items":{"type":"string"}},"monthlyLimit":{"description":"Monthly limit on the amount money that the gateway account can process.","type":["number","null"],"format":"double","minimum":0},"approvalWindowTtl":{"description":"Allotted time, in seconds, in which an offsite transaction must be approved before it is automatically `abandoned`.","type":"integer","default":3600,"minimum":300,"maximum":16777215},"reconciliationWindowEnabled":{"description":"Specifies that if a transaction is not reconciled within the `reconciliationWindowTtl` time, the transaction is marked as `abandoned`.","type":"boolean","default":false},"reconciliationWindowTtl":{"description":"Allotted time, in seconds, in which a reconciliation must occur before it is automatically `abandoned`.","type":["integer","null"],"minimum":300,"maximum":16777215},"threeDSecure":{"description":"Specifies if a gateway account allows 3D Secure.","type":"boolean","default":false},"dynamicDescriptor":{"description":"Specifies if a gateway allows dynamic descriptors.","type":"boolean","default":false},"digitalWallets":{"$ref":"#/components/schemas/DigitalWallets"},"isDown":{"description":"Specifies if a gateway is in a downtime period.","type":"boolean","readOnly":true},"additionalFilters":{"description":"Additional filters used to determine if the gateway account can be selected to process a transaction.\n\nFor example, the filter may place a maximum amount value on transaction.\nIf a transaction exceeds this value, the gateway account is not used.\n\nFor more information see,\n[Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"],"example":"amount:1..100;bin:411111,444433"},"timeout":{"description":"Gateway account request timeout, in seconds.","type":["integer","null"],"minimum":10,"maximum":120},"token":{"description":"Gateway account token.","type":["string","null"],"readOnly":true,"example":"TwiX3f92k4AiBE27BzTbQ38hHjicBz_w"},"sticky":{"description":"Specifies if all future payments by the customer's payment instrument are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":"boolean","default":true},"setupInstruction":{"type":"string","default":"do-nothing","description":"Creates zero, one, or more child transactions such as `authorize` and `void`.\nThe transactions are linked to the `setup` transaction by the `parentTransactionId` relationship.","enum":["authorize","authorize-and-void","sca","do-nothing"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount and currency of the request.","authorize-and-void":"Creates an `authorize` transaction followed by a `void`, if the `authorize` is approved.\nIf the request amount is $0, then a $1 authorize is created. Otherwise the request amount is used.","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}},"readyToPayoutInstruction":{"type":"string","default":"none","description":"Defines the mode of gateway payout behaviour for the Ready to payout operation.","enum":["all","covered-payout","approved-payment","none"],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway. This is the default value, merchants must opt into payouts."}},"payoutLimits":{"description":"Payout limits for the gateway account applied during payout request auto-allocation.\nThese limits do not apply to manual allocations.\n\nThis field is distinct from deposit and sale\n[volume limits](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountlimitcollection/).","oneOf":[{"$ref":"#/components/schemas/GatewayAccountPayoutLimits"},{"type":"null"}]},"transactionEmailAliasTemplate":{"description":"Email address template used in place of a customer's real email address when sending transaction data to a processor.\nUse `{{customerId}}` as a placeholder for the customer's ID.\nWhen empty, the customer's real email address is used.","type":["string","null"],"example":"{{customerId}}@receipts.example.com"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","onBoardingUrl","dynamicIpnUrl","staticIpnUrl"]}}}}}},"A1Gateway":{"description":"A1Gateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"A1Gateway credentials object.","properties":{"accountId":{"type":"string","description":"ID of the A1Gateway account."},"password":{"type":"string","description":"A1Gateway password.","format":"password","writeOnly":true}},"required":["accountId","password"]}}}]},"ThreeDSecureIO3dsServer":{"description":"ThreeDSecureIO 3DS Server configuration.\nAt least one of the Acquirer merchant ID and BIN fields from the same provider (Amex ID and BIN, JCB ID and BIN, Discover ID and BIN, Mastercard ID and BIN, or Visa ID and BIN) must be provided.","type":"object","required":["name","merchantName","merchantCountry","merchantUrl","transactionType"],"properties":{"name":{"type":"string","description":"Merchant plug-in name.","enum":["ThreeDSecureIO3dsServer"]},"acquirerMerchantIdVisa":{"type":"string","description":"Merchant ID (MID) of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdMastercard":{"type":"string","description":"Merchant ID (MID) of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdAmex":{"type":"string","description":"Merchant ID (MID) of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdDiscover":{"type":"string","description":"Merchant ID (MID) of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdJcb":{"type":"string","description":"Merchant ID (MID) of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"merchantName":{"type":"string","description":"Name of the merchant.","maxLength":40},"merchantAcquirerBinVisa":{"type":"string","description":"BIN of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinMastercard":{"type":"string","description":"BIN of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinAmex":{"type":"string","description":"BIN of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinDiscover":{"type":"string","description":"BIN of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinJcb":{"type":"string","description":"BIN of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantCountry":{"type":"string","description":"Merchant country in ISO Alpha-2 code format.","maxLength":2,"example":"US"},"merchantUrl":{"type":"string","description":"URL of the merchant's website.","maxLength":2048},"transactionType":{"type":"string","enum":["01","03","10","11","28"],"description":"Identifies the type of transaction that is being authenticated.","x-enumDescriptions":{"1":"Goods/Service purchase.","3":"Check acceptance.","10":"Account funding.","11":"Quasi-Cash transaction. Indicates the type of 3RI request.","28":"Prepaid activation and load."}},"declineNotEnrolled":{"type":"boolean","description":"Specifies whether to decline transactions if a payment card is not enrolled.","default":false},"forceChallenge":{"type":"boolean","description":"Specifies if the 3D Secure authentication must be forced into challenge flow.","default":false}}},"ACI":{"description":"ACI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ACI credentials object.","properties":{"entityId":{"type":"string"},"accessToken":{"type":"string","format":"password","writeOnly":true}},"required":["entityId","accessToken"]},"settings":{"type":"object","description":"ACI settings object.","properties":{"url":{"type":"string","description":"ACI custom server URL."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Adyen":{"description":"Adyen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Adyen credentials object.","properties":{"merchantAccount":{"type":"string","description":"Adyen merchant account."},"apiKey":{"type":"string","description":"Adyen API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Adyen HMAC key to verify IPN signature.","format":"password","writeOnly":true}},"required":["merchantAccount","apiKey"]},"settings":{"type":"object","description":"Adyen settings object.","properties":{"store":{"type":"string","description":"E-commerce or point-of-sale store that is processing the payment.","minLength":1,"maxLength":16},"url":{"type":"string","description":"Adyen post URL."},"splitPayments":{"type":"array","description":"Adyen split payments.","items":{"type":"object","properties":{"percentage":{"description":"Percentage of the transaction amount.","type":"number","format":"double","minimum":0,"maximum":100,"example":0.5},"commissionAmount":{"description":"Fixed commission amount in minor units.","type":"number","format":"integer","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"account":{"description":"ID of the balance account where the split amount is sent.","type":"string"},"merchantCountry":{"description":"Two-letter ISO 3166 alpha-2 code of the merchant's country.","type":"string","example":"US"},"type":{"description":"Account type of the split payment.","type":"string","enum":["BalanceAccount","Commission","Remainder","PaymentFee"]}}}},"totalTaxRate":{"type":"number","format":"double","description":"Total tax percentage as a decimal.\nUse this field to calculate the total tax amount to send with level 2 enhanced scheme data.","example":5.5,"minimum":0.01,"maximum":100},"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false,"example":false},"riskProfile":{"type":"string","description":"Adyen risk profile."},"levelTwoThreeDataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Level 2/3 data."},"mastercardDpaId":{"type":"string","description":"ID of the Digital Payment Application (DPA) for Mastercard Secure Card on File (SCOF)."},"mastercardServiceId":{"type":"string","description":"ID of the Mastercard Secure Card on File (SCOF) service."}},"required":["url"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Aera":{"description":"Aera gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aera credentials object.","properties":{"clientId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["clientId","apiKey","ipnSecret"]}}}]},"Aircash":{"description":"Aircash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aircash credentials object.","properties":{"partnerId":{"type":"string","description":"ID of the Aircash partner."},"privateKey":{"writeOnly":true,"type":"string","description":"Private key of the Aircash partner.","format":"password","x-multiline":true},"privateKeyPassword":{"writeOnly":true,"type":"string","description":"Private key password of the Aircash partner.","format":"password"}},"required":["partnerId","privateKey","privateKeyPassword"]}}}]},"Airpay":{"description":"Airpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airpay credentials object.","properties":{"username":{"type":"string","description":"Airpay username."},"merchantId":{"type":"string","description":"ID of the Airpay merchant."},"password":{"writeOnly":true,"type":"string","description":"Airpay password.","format":"password"},"apiKey":{"type":"string","description":"Airpay API key.","format":"password","writeOnly":true}},"required":["username","merchantId","password","apiKey"]}}}]},"Airwallex":{"description":"Airwallex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airwallex credentials object.","properties":{"clientId":{"type":"string","description":"Airwallex client ID."},"apiKey":{"type":"string","description":"Airwallex API key.","format":"password","writeOnly":true}},"required":["clientId","apiKey"]},"settings":{"type":"object","description":"Airwallex settings object.","properties":{"deviceIdCustomField":{"type":"string","description":"Name of the transaction custom field that holds the device ID."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"AmazonPay":{"description":"AmazonPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the AmazonPay merchant."},"storeId":{"type":"string","description":"ID of the AmazonPay store."},"publicKeyId":{"type":"string","description":"ID of the AmazonPay public key."},"privateKey":{"description":"ID of the AmazonPay private key.","type":"string","format":"password","x-multiline":true,"writeOnly":true}},"required":["privateKey","storeId","publicKeyId","merchantId"]}}}]},"AmexVPC":{"description":"AmexVPC gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"AmexVPC credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the AmexVPC merchant."},"accessCode":{"type":"string","description":"AmexVPC access Code.","format":"password","writeOnly":true},"user":{"type":"string","description":"AmexVPC account user.\nThis field is used for refund, void, and capture transactions."},"password":{"type":"string","description":"AmexVPC account password.\nThis field is used for refund, void, and capture transactions.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","user","password"]},"settings":{"type":"object","description":"AmexVPC settings object.","properties":{"url":{"type":"string","description":"Virtual payment client URL."}},"required":["url"]}}}]},"Antom":{"description":"Antom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Antom credentials object.","properties":{"clientId":{"type":"string","description":"Antom client ID."},"privateKey":{"type":"string","description":"Antom private key.","format":"password","writeOnly":true,"x-multiline":true}},"required":["clientId","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ApcoPay":{"description":"ApcoPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ApcoPay credentials object.","properties":{"profileID":{"type":"string","description":"ID of the ApcoPay profile."},"secretWord":{"type":"string","description":"ApcoPay secret word.","format":"password","writeOnly":true},"MerchantID":{"type":"string","description":"ID of the ApcoPay merchant."},"MerchantPassword":{"type":"string","description":"ApcoPay merchant password.","format":"password","writeOnly":true}},"required":["profileID","secretWord","MerchantID","MerchantPassword"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"ApcoPay method.","enum":["AFTERPAY","BANCONTACT","CREDITCLICK","FLEXEPIN","IDEAL","JPAY","OCTAPAY","ONLINEUBERWEISEN","ORIENTALWALLET","VENUSPOINT","ZIMPLER"]}},"required":["method"]}}}]},"AsiaPay":{"description":"AsiaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPay credentials object.","properties":{"merchantId":{"type":"string","description":"AsiaPay merchant number."},"loginId":{"type":"string","description":"AsiaPay login ID."},"secretKey":{"type":"string","description":"AsiaPay secret key for hash.","format":"password","writeOnly":true},"password":{"type":"string","description":"AsiaPay password.","format":"password","writeOnly":true}},"required":["merchantId","loginId","password","secretKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for AsiaPay API."}},"required":["baseUrl"]}}}]},"AsiaPaymentGateway":{"description":"AsiaPaymentGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPaymentGateway credentials object.","properties":{"merchantNumber":{"type":"string","description":"AsiaPaymentGateway merchant number."},"secretKey":{"type":"string","description":"AsiaPaymentGateway secret key for hash.","format":"password","writeOnly":true}},"required":["merchantNumber","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"AstroPayCard":{"description":"AstroPay Card gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AstroPay Card credentials object.","properties":{"x_login":{"type":"string","description":"AstroPay Card login."},"x_tran_key":{"type":"string","description":"AstroPay Card transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"AstroPay Card secret key.","format":"password","writeOnly":true},"api_key":{"type":"string","description":"OneTouch Astropay API key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key"]},"settings":{"type":"object","description":"AstroPay Card settings object.","properties":{"oneTouchApi":{"type":"boolean","description":"Specifies whether to use a OneTouch AstroPay API.","default":false},"useOneTouchSdk":{"type":"boolean","description":"Specifies whether to use the OneTouch AstroPay SDK.","default":false},"merchantName":{"type":"string","description":"Displayed merchant name for AstroPay OneTouch."},"merchantLogoUrl":{"type":"string","description":"Displayed merchant logo for AstroPay OneTouch."}}}}}]},"AuthorizeNet":{"description":"AuthorizeNet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiLoginId":{"type":"string","description":"ID of the AuthorizeNet API login."},"transactionKey":{"description":"AuthorizeNet transaction key.","type":"string","format":"password","writeOnly":true}},"required":["apiLoginId","transactionKey"]}}}]},"Awepay":{"description":"Awepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Awepay credentials object.","properties":{"sid":{"type":"string","description":"ID of the Awepay site."},"rcode":{"type":"string","description":"Awepay rcode.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Awepay secret key for the P2P REST API.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Awepay API key for REST API.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Awepay public key for REST API.","x-multiline":true},"privateKey":{"type":"string","description":"Awepay private key for REST API.","format":"password","x-multiline":true,"writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Awepay setting.","properties":{"useP2pRest":{"type":"boolean","description":"Specifies whether to use the P2P REST API."},"useRestApi":{"type":"boolean","description":"Specifies whether to use REST API."},"methodType":{"type":"string","description":"Awepay method type."}}}}}]},"Bambora":{"description":"Bambora gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Bambora merchant."},"apiPasscode":{"type":"string","description":"Bambora API passcode.","format":"password","writeOnly":true}},"required":["merchantId","apiPasscode"]}}}]},"BankSEND":{"description":"BankSEND gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BankSEND credentials object.","properties":{"merchantId":{"description":"ID of the BankSEND merchant.","type":"string"},"merchantToken":{"type":"string","format":"password","description":"BankSEND merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"BitPay":{"description":"BitPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BitPay credentials object.","properties":{"token":{"type":"string","description":"BitPay merchant API token.","format":"password","writeOnly":true}},"required":["token"]}}}]},"BlueSnap":{"description":"BlueSnap gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BlueSnap credentials object.","properties":{"username":{"type":"string","description":"API username of the BlueSnap merchant."},"merchantId":{"type":"string","description":"ID of the BlueSnap merchant."},"password":{"type":"string","description":"API password of the BlueSnap merchant.","format":"password","writeOnly":true},"dataProtectionKey":{"type":"string","description":"Data protection key of the BlueSnap merchant.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false},"salesTaxAmount":{"type":"number","format":"double","description":"Sales tax amount as a decimal to send with level 2/3 data.","example":0.06},"metadataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the BlueSnap transaction metadata."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"BraintreePayments":{"description":"BraintreePayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"BraintreePayments public key."},"privateKey":{"type":"string","description":"BraintreePayments private key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the BraintreePayments merchant.","format":"password","writeOnly":true},"merchantAccountId":{"type":"string","description":"ID of the BraintreePayments merchant account.","format":"password","writeOnly":true}},"required":["publicKey","privateKey","merchantId","merchantAccountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Buckaroo":{"description":"Buckaroo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Buckaroo credentials object.","properties":{"schemeKey":{"type":"string","description":"Scheme key."},"websiteKey":{"type":"string","description":"Website key."},"secretKey":{"description":"Secret key.","type":"string","format":"password"}},"required":["websiteKey","secretKey"]},"settings":{"type":"object","properties":{"useSepaRecurring":{"type":"boolean","description":"Specifies whether to use SEPA as recurring method.","default":false}}}}}]},"BVNK":{"description":"BVNK gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BVNK credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID of the BVNK merchant."},"hawkAuthId":{"type":"string","description":"HAWK auth ID.","format":"password","writeOnly":true},"hawkAuthKey":{"type":"string","description":"HAWK auth key.","format":"password","writeOnly":true}},"required":["merchantId","hawkAuthId","hawkAuthKey"]},"settings":{"type":"object","description":"BVNK settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"CASHlib":{"description":"CASHlib gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CASHlib credentials object.","properties":{"apiKey":{"type":"string","description":"CASHlib API key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the CASHlib merchant."}},"required":["apiKey","merchantId"]}}}]},"CODVoucher":{"description":"CODVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CODVoucher credentials object.","properties":{"apiKey":{"type":"string","description":"CODVoucher API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"CODVoucher API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"AmountAdjustmentTolerance":{"type":"integer","description":"Tolerance percentage for the settled amount.","minimum":0,"maximum":5,"example":5},"Coinbase":{"description":"Coinbase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coinbase credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Coinbase settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"CoinGate":{"description":"CoinGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"authToken":{"type":"string","format":"password","description":"Authentication token.","writeOnly":true}},"required":["authToken"]},"settings":{"type":"object","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.\nThis field defaults to the transaction currency.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"},"adjustAmount":{"type":"boolean","description":"Specifies whether to adjust the amount that is received from the downstream gateway.","default":false,"example":false}}}}}]},"CoinPayments":{"description":"CoinPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CoinPayments credentials object.","required":["publicKey","privateKey","ipnSecret"],"properties":{"publicKey":{"type":"string","description":"CoinPayments public key."},"privateKey":{"type":"string","format":"password","description":"CoinPayments private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"CoinPayments IPN secret.","writeOnly":true},"merchantId":{"type":"string","format":"password","description":"ID of the CoinPayments merchant.","writeOnly":true},"clientId":{"type":"string","description":"CoinPayments client ID required for API (version 2)."},"clientSecret":{"type":"string","format":"password","description":"CoinPayments client secret required for API (version 2).","writeOnly":true}}},"settings":{"type":"object","properties":{"useCallbackAddress":{"type":"boolean","description":"Specifies if the callback address payment type must be used."},"useV2Api":{"type":"boolean","description":"Specifies if the CoinPayments API (version 2) must be used.\nThis requires both CoinPayments client ID and secret to be provided."},"apiUrl":{"type":"string","description":"URL of the CoinPayments API (version 2).","default":"https://api.coinpayments.com"}}}}}]},"Cardknox":{"description":"Cardknox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xKey":{"type":"string","description":"Cardknox xKey.","format":"password","writeOnly":true}},"required":["xKey"]}}}]},"Cashflows":{"description":"Cashflows gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authId":{"type":"string","description":"ID of the Cashflows authentication."},"authPassword":{"type":"string","description":"ID of the Cashflows authentication password.","format":"password","writeOnly":true}},"required":["authPassword","authId"]}}}]},"Cashterminal":{"description":"Cashterminal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"secretKey":{"description":"Cashterminal secret key.","type":"string","format":"password","writeOnly":true}},"required":["secretKey"]}}}]},"CashToCode":{"description":"CashToCode gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CashToCode credentials object.","properties":{"cashToCodeUsername":{"type":"string","description":"CashToCode credentials username."},"cashToCodePassword":{"type":"string","description":"CashToCode credentials password.","format":"password","writeOnly":true},"merchantUsername":{"type":"string","description":"Merchant credentials username."},"merchantPassword":{"type":"string","description":"Merchant credentials password.","format":"password","writeOnly":true},"mid":{"type":"string","description":"CashToCode Merchant Identifier Number (MID) or brand name."}},"required":["cashToCodeUsername","cashToCodePassword","merchantUsername","merchantPassword"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base API URL."},"skipAmountSelection":{"type":"boolean","description":"Specifies whether to skip the amount selection screen.","default":false},"amounts":{"type":"array","description":"Amounts for which transactions are processed.","items":{"type":"number","format":"double","minimum":0}}}}}}]},"CauriPayment":{"description":"CauriPayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CauriPayment credentials object.","properties":{"publicKey":{"type":"string","description":"CauriPayment merchant public key."},"privateKey":{"type":"string","description":"CauriPayment merchant private key.","format":"password","writeOnly":true}},"required":["publicKey","privateKey"]}}}]},"Cayan":{"description":"Cayan gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSiteId":{"type":"string","description":"ID of the Cayan merchant site."},"merchantName":{"type":"string","description":"Cayan merchant name."},"merchantKey":{"type":"string","description":"Cayan merchant key.","format":"password","writeOnly":true}},"required":["merchantSiteId","merchantName","merchantKey"]}}}]},"CCAvenue":{"description":"CCAvenue gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CCAvenue credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the CCAvenue merchant."},"accessCode":{"type":"string","description":"CCAvenue access code.","format":"password","writeOnly":true},"workingKey":{"type":"string","description":"CCAvenue working key.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","workingKey"]},"settings":{"type":"object","properties":{"useStandingInstructionApi":{"description":"Specifies whether to use the Standing Instruction API.","type":"boolean","default":false}}}}}]},"Chase":{"description":"Chase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Chase NetConnect username."},"password":{"type":"string","description":"Chase NetConnect password.","format":"password","writeOnly":true},"coNumber":{"type":"string","description":"Chase CO number used for delimited file reports."},"divisionId":{"type":"string","description":"ID of the Chase division."},"partialAuth":{"type":"boolean","description":"Specifies whether to support partial authentications.","default":false}},"required":["username","password","coNumber","divisionId","partialAuth"]}}}]},"CheckoutCom":{"description":"Checkout.com gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Checkout.com credentials object.","properties":{"secretKey":{"type":"string","format":"password","description":"Checkout.com secret API key.\nGenerate this key in the Checkout.com dashboard under Developers->API keys section.","writeOnly":true},"signatureKey":{"type":"string","format":"password","description":"Checkout.com webhook signature key.\nGenerate this key in the Checkout.com dashboard under Developers->Webhooks section.","writeOnly":true}},"required":["secretKey"]},"settings":{"type":"object","properties":{"markAsWaitingGatewayOnPendingPayout":{"type":"boolean","description":"Specifies whether to mark pending payouts as 'waiting-gateway/unknown' instead of 'approved'.","default":false},"subEntityIdWebsiteCustomField":{"type":"string","description":"Name of the website custom field that holds the sub-entity ID."},"processingChannelId":{"type":"string","description":"Checkout.com processing channel ID.\nCheckout.com secret API key can be configured with a default processing channel ID.\nOtherwise the processing channel ID needs to be set."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Chillstock":{"description":"Chillstock gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Chillstock credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID)."},"privateKey":{"type":"string","description":"Chillstock private key.","format":"password","x-multiline":true,"writeOnly":true},"publicKey":{"type":"string","description":"Chillstock public key."}},"required":["merchantId","privateKey"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is forced to sandbox mode.","default":false}}}}}]},"Circle":{"description":"Circle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Circle credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"Circle API key.","writeOnly":true}},"required":["apiKey"]}}}]},"Citadel":{"description":"Citadel gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Citadel credentials object.","properties":{"storeName":{"type":"string","description":"Citadel store name."},"storeId":{"type":"string","description":"ID of the Citadel store."},"username":{"type":"string","description":"Citadel username."},"password":{"type":"string","description":"Citadel password.","format":"password","writeOnly":true}},"required":["storeName","storeId","username","password"]}}}]},"Clearhaus":{"description":"Clearhaus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Clearhaus API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Cleo":{"description":"Cleo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cleo credentials object.","properties":{"accessToken":{"type":"string","description":"Cleo access token.","format":"password","writeOnly":true}},"required":["accessToken"]}}}]},"Conekta":{"description":"Conekta gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Conekta credentials object.","properties":{"apiKey":{"type":"string","description":"Conekta private API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Conekta settings object.","properties":{"baseUrl":{"type":"string","description":"Base API URL."}}}}}]},"Coppr":{"description":"Coppr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coppr credentials object.","properties":{"organizationId":{"type":"string","description":"ID of the Coppr organization."},"apiKey":{"type":"string","description":"Coppr API key.","format":"password","writeOnly":true}},"required":["organizationId","apiKey"]},"settings":{"type":"object","description":"Coppr settings object.","properties":{"rebillyPublishableKey":{"type":"string","description":"Rebilly publishable API key.\nIf this value is provided, a payment token is created for each transaction.\nPayment card transactions are declined if this value is not provided.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)."}}}}}]},"Cps":{"description":"CPS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CPS credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the CPS gateway."},"password":{"type":"string","description":"Password of the CPS gateway.","format":"password","writeOnly":true}},"required":["clientKey","password"]},"settings":{"type":"object","properties":{"paymentUrl":{"type":"string","description":"Payment URL of the CPS gateway for server-to-server integration."}},"required":["paymentUrl"]}}}]},"Credorax":{"description":"Credorax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Credorax merchant."},"merchantMd5Signature":{"type":"string","description":"Credorax MD5 signature.","format":"password","writeOnly":true}},"required":["merchantId","merchantMd5Signature"]}}}]},"Cryptomus":{"description":"Cryptomus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptomus credentials object.","properties":{"merchantId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]},"settings":{"type":"object","properties":{"refundAddress":{"type":"string","description":"Address where the refund is sent."}}}}}]},"Cryptonator":{"description":"Cryptonator gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptonator credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the Cryptonator merchant."},"secret":{"type":"string","description":"Cryptonator secret.","format":"password","writeOnly":true}},"required":["merchant_id","secret"]}}}]},"CyberSource":{"description":"CyberSource gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CyberSource credentials object.","properties":{"accessKey":{"type":"string","description":"CyberSource access key."},"profileId":{"type":"string","description":"ID of the CyberSource profile."},"secretKey":{"type":"string","description":"CyberSource secret key.","format":"password","writeOnly":true}},"required":["accessKey","profileId","secretKey"]}}}]},"DataCash":{"description":"DataCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"client":{"type":"string","description":"DataCash client."},"password":{"type":"string","description":"DataCash password.","format":"password","writeOnly":true},"reportGroup":{"type":"string","description":"DataCash report group."},"reportUser":{"type":"string","description":"DataCash report user."},"reportPassword":{"type":"string","description":"DataCash report password.","format":"password","writeOnly":true},"visaPayoutsClient":{"type":"string","description":"DataCash client for Visa OCT (Original Credit Transfer) payouts."},"visaPayoutsPassword":{"type":"string","description":"DataCash password for Visa OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true},"masterCardPayoutsClient":{"type":"string","description":"DataCash client for MasterCard OCT (Original Credit Transfer) payouts."},"masterCardPayoutsPassword":{"type":"string","description":"DataCash password for MasterCard OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true}},"required":["client","password"]},"settings":{"type":"object","description":"Datacash settings object.","properties":{"policy":{"type":"integer","description":"Policy.","minimum":0,"maximum":7,"default":2},"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]},"Dengi":{"description":"Dengi gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"projectId":{"type":"string","description":"ID of the Dengi project."},"publicKey":{"type":"string","description":"Dengi public key.","format":"password","writeOnly":true},"refundKey":{"type":"string","description":"Dengi refund key.","format":"password","writeOnly":true}},"required":["projectId","publicKey","refundKey"]}}}]},"Dimoco":{"description":"Dimoco gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Dimoc merchant."},"orderId":{"type":"string","description":"ID of the Dimoc project."},"password":{"type":"string","format":"password","description":"ID of the Dimoc project.","writeOnly":true}},"required":["merchantId","orderId","password"]}}}]},"dLocal":{"description":"dLocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"dLocal login."},"xTransKey":{"type":"string","description":"dLocal transKey."},"secretKey":{"type":"string","format":"password","description":"dLocal secret key.","writeOnly":true},"xPayoutLogin":{"type":"string","description":"dLocal payout login."},"xPayoutTransKey":{"type":"string","description":"dLocal payout transKey."},"payoutSecretKey":{"type":"string","format":"password","description":"dLocal payout secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"dLocal settings object.","properties":{"createInstallmentPlan":{"type":"boolean","default":false,"description":"Specifies whether to create an installment plan and use it for payment."},"customerDocumentCustomField":{"type":"string","description":"Name of the transaction custom field that holds the customer document.\nUse this setting to skip the intermediate step of collecting the customer document for payment card transactions."},"requestAddress":{"type":"boolean","default":false,"description":"Specifies if the customer is asked for a billing address on the document ID page."}}}}}]},"Dragonphoenix":{"description":"Dragonphoenix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dragonphoenix credentials object.","properties":{"sid":{"type":"string","description":"ID of the Dragonphoenix site."},"rcode":{"type":"string","description":"Dragonphoenix rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]}}}]},"Dropayment":{"description":"Dropayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dropayment credentials object.","properties":{"login":{"type":"string","description":"Dropayment login."},"endpointId":{"type":"string","description":"ID of the Dropayment end point."},"secretKey":{"type":"string","description":"Dropayment secret key.","format":"password","writeOnly":true}},"required":["login","endpointId","secretKey"]}}}]},"Directa24Banks":{"type":"string","enum":["AA","AL","AZ","B","BAB","BB","BC","BE","BL","BM","BN","BP","BQ","BU","BV","BW","BX","BZ","CA","CE","CI","CU","EF","EN","EY","FA","FB","FC","GC","GG","HC","I","IA","IB","JM","LC","LE","LL","MC","ME","MD","MP","MT","NB","OM","OX","PC","PH","PL","SB","SC","SE","SF","SM","SS","ST","SU","TC","TK","TG","TR","TY","RY","UB","UI","UL","US","VD","VI","WA","WP","WU","XA"]},"Directa24":{"description":"Directa24 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Directa24 credentials object.","properties":{"x_login":{"type":"string","description":"Directa24 login."},"x_tran_key":{"type":"string","description":"Directa24 transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"Directa24 secret key.","format":"password","writeOnly":true},"web_pay_login":{"type":"string","description":"Directa24 web pay status login."},"web_pay_tran_key":{"type":"string","description":"Directa24 web pay status password.","format":"password","writeOnly":true},"cashout_login":{"type":"string","description":"Directa24 cashout login."},"cashout_password":{"type":"string","description":"Directa24 cashout password.","format":"password","writeOnly":true},"chargebackAccessKey":{"type":"string","description":"Directa24 chargeback access key (email)."},"chargebackSecretKey":{"type":"string","description":"Directa24 chargeback secret key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key","web_pay_login","web_pay_tran_key"]},"settings":{"type":"object","description":"Directa24 settings object.","properties":{"banks":{"type":"array","description":"List of banks that is displayed to customers.","items":{"$ref":"#/components/schemas/Directa24Banks"}},"skipStep":{"type":"boolean","description":"Specifies whether to skip the enter user personal information step."},"useV3Api":{"type":"boolean","description":"Specifies whether to use Directa24 API version 3."},"storeIdNumber":{"type":"boolean","description":"Specifies whether to store the customer ID number for future use."}}}}}]},"EasyPayDirect":{"description":"EasyPayDirect gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EasyPayDirect credentials object.","properties":{"secretKey":{"type":"string","description":"API secret key of the EasyPayDirect account.","format":"password","writeOnly":true}},"required":["secretKey"]}}}]},"EBANX":{"description":"EBANX gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EBANX credentials object.","properties":{"integrationKey":{"type":"string","description":"EBANX integration key.","format":"password","writeOnly":true}},"required":["integrationKey"]}}}]},"EPG":{"description":"EPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPG credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the merchant."},"productId":{"type":"string","description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"merchantPassword":{"type":"string","description":"Merchant password.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Merchant key.","format":"password","writeOnly":true}},"required":["merchantId","productId","merchantPassword","merchantKey"]}}}]},"EPro":{"description":"EPro gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPro credentials object.","properties":{"apiSecretKey":{"type":"string","description":"EPro secret API key.","format":"password","writeOnly":true}},"required":["apiSecretKey"]}}}]},"EcorePay":{"description":"EcorePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the EcorePay account."},"accountAuth":{"type":"string","description":"EcorePay account authentication.","format":"password","writeOnly":true}},"required":["accountId","accountAuth"]}}}]},"Elavon":{"description":"Elavon gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Elavon credentials object.","properties":{"ssl_merchant_id":{"type":"string","description":"ID of the Elavon merchant."},"ssl_user_id":{"type":"string","description":"ID of the Elavon user."},"ssl_pin":{"type":"string","description":"Elavon pin.","format":"password","writeOnly":true}},"required":["ssl_merchant_id","ssl_user_id","ssl_pin"]}}}]},"EMS":{"description":"EMS e-Commerce (XML) API gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"settings":{"type":"object","description":"EMS settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours."}}},"credentials":{"type":"object","description":"EMS credentials object.","properties":{"storeId":{"type":"string","description":"ID of the EMS store."},"userId":{"type":"string","description":"ID of the EMS account."},"password":{"type":"string","format":"password","description":"EMS password.","writeOnly":true},"privateKey":{"type":"string","format":"password","description":"Private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"Private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Client certificate.","x-multiline":true},"clientCertificatePassword":{"type":"string","format":"password","description":"Client certificate password.","writeOnly":true},"serverCertificate":{"type":"string","description":"Server certificate.","x-multiline":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPassword":{"type":"string","format":"password","description":"SFTP reconciliation password.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["storeId","userId","password","privateKey","privateKeyPassword","clientCertificate","clientCertificatePassword","serverCertificate"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ePay":{"description":"ePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ePay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ePay merchant."},"secretKey":{"type":"string","format":"password","description":"ePay secret key.","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"Euteller":{"description":"Euteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Euteller credentials object.","properties":{"username":{"type":"string","description":"Euteller username."},"password":{"type":"string","format":"password","description":"Euteller password.","writeOnly":true}},"required":["username","password"]}}}]},"Ezeebill":{"description":"Ezeebill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ezeebill credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID) of the Ezeebill gateway."},"accessId":{"type":"string","description":"Access ID of the Ezeebill gateway.","format":"password","writeOnly":true},"terminalId":{"type":"string","description":"Terminal ID of the Ezeebill gateway."},"operatorId":{"type":"string","description":"Operator ID of the Ezeebill gateway."},"password":{"type":"string","description":"API access operator password of the Ezeebill gateway.","format":"password","writeOnly":true},"hashKey":{"type":"string","description":"Hash key of the Ezeebill gateway.","format":"password","writeOnly":true}},"required":["merchantId","accessId","terminalId","operatorId","password","hashKey"]}}}]},"eZeeWallet":{"description":"eZeeWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"eZeeWallet credentials object.","properties":{"apiUsername":{"type":"string","description":"eZeeWallet API username.","format":"password","writeOnly":true},"apiPassword":{"type":"string","description":"eZeeWallet API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]},"ezyEFT":{"description":"ezyEFT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ezyEFT credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ezyEFT merchant."},"merchantToken":{"type":"string","format":"password","description":"ezyEFT merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"FinTecSystems":{"description":"FinTecSystems gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"FinTecSystems credentials object.","properties":{"apiKey":{"type":"string","description":"FinTecSystems API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"FinTecSystems settings object.","properties":{"recipientIBAN":{"type":"string","description":"IBAN of the recipient account."},"recipientBIC":{"type":"string","description":"BIC of the recipient account."},"recipientCountry":{"type":"string","description":"Two letter country code.","enum":["AT","CH","DE"]},"recipientHolder":{"type":"string","description":"Account holder of the recipient account."}},"required":["recipientIBAN","recipientBIC","recipientHolder","recipientCountry"]}}}]},"Finrax":{"description":"Finrax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Finrax credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Finrax business."},"apiKey":{"type":"string","description":"Finrax API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Finrax API secret.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Finrax public key.\nThis value is used to verify IPN signature.","x-multiline":true}},"required":["businessId","apiKey","apiSecret"]},"settings":{"type":"object","description":"Finrax settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"Flexepin":{"description":"Flexepin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Flexepin API key."},"apiSecret":{"type":"string","description":"Flexepin API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]},"settings":{"type":"object","description":"Flexepin settings object.","properties":{"adjustAmountFromVoucher":{"type":"boolean","description":"Specifies whether to adjust the amount or currency based on a Flexepin voucher.","default":false,"example":false}}}}}]},"Forte":{"description":"Forte gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the Forte account."},"locationId":{"type":"string","description":"ID of the Forte location."},"apiAccessId":{"type":"string","description":"ID of the Forte API access.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Forte API secret key.","format":"password","writeOnly":true}},"required":["accountId","locationId","apiAccessId","apiSecretKey"]}}}]},"FundSend":{"description":"FundSend gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the FundSend client."},"secretWord":{"type":"string","description":"FundSend secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"gate2way":{"description":"gate2way gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"gate2way credentials object.","properties":{"apiKey":{"type":"string","description":"API key of gate2way account.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"API secret of gate2way account.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"GET":{"description":"GET gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the GET account."}},"required":["accountId"]}}}]},"Gigadat":{"description":"Gigadat gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gigadat credentials object.","properties":{"campaignId":{"type":"string","description":"ID of the Gigadat campaign."},"accessToken":{"type":"string","description":"Gigadat access token.","format":"password","writeOnly":true},"securityToken":{"type":"string","description":"Gigadat security token.","format":"password","writeOnly":true}},"required":["campaignId","accessToken","securityToken"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"methodType":{"type":"string","description":"Specifies whether the Gigadat method type is enforced as CPI or ETI, regardless of the payment method associated with the gateway account.","enum":["CPI","ETI"]},"autodepositLookup":{"type":"boolean","description":"Perform Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Autodeposit lookup result."}},"required":["sandbox"]}}}]},"GlobalOne":{"description":"GlobalOne gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the GlobalOne terminal."},"sharedSecret":{"type":"string","description":"GlobalOne shared secret.","format":"password","writeOnly":true}},"required":["terminalId","sharedSecret"]}}}]},"GoCardless":{"description":"GoCardless gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"GoCardless API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Gooney":{"description":"Gooney gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gooney credentials object.","properties":{"apiUser":{"type":"string","description":"Gooney API user."},"apiPassword":{"type":"string","description":"Gooney API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Gooney API key."},"apiSecret":{"type":"string","description":"Gooney API secret.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey","apiSecret"]}}}]},"Gpaysafe":{"description":"Gpaysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Gpaysafe apiKey."}},"required":["apiKey"]}}}]},"Greenbox":{"description":"Greenbox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Greenbox credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Greenbox client."},"locationId":{"type":"string","description":"ID of the Greenbox location."},"clientSecret":{"type":"string","description":"Greenbox client secret.","format":"password","writeOnly":true}},"required":["clientId","clientSecret","locationId"]}}}]},"HiPay":{"description":"HiPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"HiPay credentials object.","properties":{"apiUsername":{"type":"string","description":"HiPay API user name."},"apiPassword":{"type":"string","description":"HiPay API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]},"iCashOne":{"description":"Configuration object for the iCashOne gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for the iCashOne gateway.","properties":{"apiKey":{"writeOnly":true,"format":"password","type":"string","description":"API key for the iCashOne API."},"secretKey":{"writeOnly":true,"format":"password","type":"string","description":"Secret key for the iCashOne API."}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"Settings object for the iCashOne gateway.","properties":{"merchantName":{"type":"string","description":"Merchant name to be displayed on the checkout page."}}}}}]},"ICEPAY":{"description":"ICEPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ICEPAY credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ICEPAY merchant.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"ICEPAY API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"INOVAPAY":{"description":"INOVAPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"INOVAPAY credentials object.","properties":{"apiKey":{"type":"string","description":"INOVAPAY API key."},"apiSecret":{"type":"string","description":"INOVAPAY API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"Ilixium":{"description":"Ilixium gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ilixium credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Ilixium merchant."},"accountId":{"type":"string","description":"ID of the Ilixium account."},"digestPassword":{"type":"string","description":"Ilixium digest password.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantId","accountId","digestPassword"]},"settings":{"type":"object","description":"Ilixium settings object.","properties":{"useIpFrame":{"type":"boolean","description":"Specifies whether to force Ilixium to process using Ip Frame."},"useCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a previous approval credit endpoint for payouts."},"useStandaloneCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a standalone (token) credit endpoint for payouts."},"platform":{"type":"string","description":"Direct API platform.","default":"itix","enum":["itix","tpg"]},"usePaceCreditEndpoint":{"type":"boolean","description":"Specifies whether to use PACE API endpoint for payouts."}}},"threeDSecureServer":{"type":"object","description":"Ilixium 3DS server.","properties":{"name":{"description":"Name of the merchant plug-in.","type":"string","enum":["Ilixium3dsServer"]}}}}}]},"IMerchant":{"description":"IMerchant gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials of the IMerchant gateway.","properties":{"apiKey":{"type":"string","description":"IMerchant API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Ingenico":{"description":"Ingenico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Ingenico merchant."},"apiKeyId":{"type":"string","description":"ID of the Ingenico API key."},"apiSecretKey":{"type":"string","description":"Ingenico API secret key.","format":"password","writeOnly":true},"skipFraudService":{"type":"boolean","description":"Ingenico skip fraud service."}},"required":["merchantId","apiKeyId","apiSecretKey"]}}}]},"Inovio":{"description":"Inovio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Inovio credentials object.","properties":{"username":{"type":"string","description":"Inovio username."},"password":{"type":"string","description":"Inovio password.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","description":"Inovio settings object.","properties":{"websiteId":{"type":"string","description":"ID of the Inovio website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"merchantAccountId":{"type":"string","description":"ID of the Inovio merchant account."},"productId":{"type":"string","description":"ID of the Inovio product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"required":["websiteId","merchantAccountId","productId"]}}}]},"InstaDebit":{"description":"InstaDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"InstaDebit credentials object.","properties":{"merchantId":{"type":"string","description":"InstaDebit merchant account number."},"password":{"type":"string","description":"InstaDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."}}}}}]},"Intuit":{"description":"Intuit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"Intuit client_id key."},"clientSecret":{"type":"string","description":"Intuit client_secret key.","format":"password","writeOnly":true}},"required":["clientId","clientSecret"]}}}]},"IpayOptions":{"description":"Ipay Options gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Ipay Options credentials object.","properties":{"sid":{"type":"string","description":"ID of the Ipay Options website."},"rcode":{"type":"string","description":"Ipay Options rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Ipay Options settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display an extra step where the user must enter their email and DNI number."},"subdomain":{"type":"string","description":"Subdomain to use when sending request to IpayOptions.","enum":["miglite","w88asiapay"]},"platform":{"type":"string","description":"Platform which IpayOptions processes.","enum":["SOAP","TxHandler","SecureHosted"]},"cardType":{"type":"string","description":"Manually set the card_type for iDEAL.","enum":["ideal","idealqr","sofort"]}}}}}]},"Isx":{"description":"Isx gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Isx credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Isx API merchant."},"workflow":{"type":"string","description":"Isx workflow."},"apiClient":{"type":"string","description":"Isx API client."},"apiToken":{"type":"string","description":"Isx API token.","format":"password","writeOnly":true}},"required":["merchantId","workflow","apiClient","apiToken"]}}}]},"JetPay":{"description":"JetPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"TerminalID":{"type":"string","description":"ID of the JetPay terminal."}},"required":["TerminalID"]}}}]},"Jeton":{"description":"Jeton gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Jeton API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Jeton secret.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"Jeton method.","enum":["CHECKOUT","DIRECT","QR","JETGO"]}},"required":["method"]}}}]},"JPMOrbital":{"description":"JPMOrbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the JPMOrbital merchant."},"username":{"type":"string","description":"Username of the JPMOrbital merchant."},"password":{"type":"string","description":"Password of the JPMOrbital merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]}}}]},"Khelocard":{"description":"Khelocard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["merchantId","referrer","apiKey","apiSecret"],"properties":{"merchantId":{"type":"string","description":"ID of the Khelocard merchant."},"referrer":{"type":"string","description":"Referrer URL registered at Khelocard.","format":"uri"},"apiKey":{"type":"string","description":"Khelocard API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Khelocard API secret.","format":"password","writeOnly":true}}}}}]},"Klarna":{"description":"Klarna gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","password"],"properties":{"username":{"type":"string","description":"Klarna API username."},"password":{"type":"string","description":"Klarna API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["region"],"properties":{"region":{"type":"string","description":"Klarna API region.","enum":["EU","NA","OC"]},"usePayNowStandalone":{"type":"boolean","description":"Specifies whether to use the Klarna Pay Now Standalone method.","default":false,"example":false}}}}}]},"Konnektive":{"description":"Konnektive gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["loginId","password"],"properties":{"loginId":{"type":"string","description":"ID of the Konnektive API login."},"password":{"type":"string","description":"Konnektive API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["campaignId","productId"],"properties":{"campaignId":{"type":"string","description":"Konnektive campaign ID for which the order is being placed."},"productId":{"type":"string","description":"Konnektive campaign product ID for which the order is being placed.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}}}]},"Kushki":{"description":"Kushki gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Kushki credentials object.","properties":{"privateKey":{"writeOnly":true,"format":"password","type":"string","description":"Kushki private API key."}},"required":["privateKey"]},"settings":{"type":"object","description":"Kushki settings object.","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"LaCore":{"description":"LaCore gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LaCore credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the LaCore merchant."},"username":{"type":"string","description":"Username of the LaCore merchant."},"password":{"type":"string","description":"Password of the LaCore merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Limepay":{"description":"Limepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"Limepay login."},"xTransKey":{"type":"string","description":"Limepay transKey."},"secretKey":{"type":"string","format":"password","description":"Limepay secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"Limepay settings object.","properties":{"storeDocumentId":{"type":"boolean","description":"Specifies whether to store the document ID."}}}}}]},"Loonio":{"description":"Loonio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Loonio credentials object.","properties":{"username":{"type":"string","description":"Username of the merchant."},"password":{"type":"string","description":"Password of the merchant.","format":"password","writeOnly":true},"accountId":{"type":"string","description":"Account ID of the merchant."}},"required":["username","password","accountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"loonie":{"description":"loonie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"loonie credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the loonie merchant."},"merchantToken":{"type":"string","format":"password","description":"loonie merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"LPG":{"description":"LPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LPG credentials object.","properties":{"publicKey":{"type":"string","description":"LPG public API key."},"secureKey":{"type":"string","description":"LPG secure API key.","format":"password","writeOnly":true},"payoutUsername":{"type":"string","description":"LPG payout account username.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"LPG payout account password.","format":"password","writeOnly":true}},"required":["publicKey","secureKey"]}}}]},"MaxiCash":{"description":"MaxiCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MaxiCash credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the MaxiCash API merchant."},"password":{"type":"string","description":"MaxiCash API password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"MercadoPago":{"description":"MercadoPago gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MercadoPago credentials object.","properties":{"publicKey":{"type":"string","description":"MercadoPago public key."},"accessToken":{"type":"string","description":"MercadoPago access token.","format":"password","writeOnly":true}},"required":["publicKey","accessToken"]},"settings":{"type":"object","description":"Settings object.","properties":{"collectDeviceId":{"type":"boolean","description":"Specifies collect and send device ID to MercadoPago.","default":false,"example":false}}}}}]},"MiFinity":{"description":"MiFinity gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MiFinity credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"MiFinity API key.","writeOnly":true},"mifinityAccountNumber":{"type":"string","format":"password","description":"MiFinity account number.","writeOnly":true},"accountHolderId":{"type":"string","description":"ID of the MiFinity account holder."},"brandId":{"type":"string","description":"Three-digit ID provided by MiFinity which indicates through which brand the call made."}},"required":["apiKey","mifinityAccountNumber","accountHolderId"]}}}]},"MobilePay":{"description":"MobilePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSerialNumber":{"type":"string","description":"Serial number of the MobilePay merchant."},"subscriptionKey":{"type":"string","description":"Subscription key of the MobilePay merchant."},"clientId":{"type":"string","description":"ID of the MobilePay client."},"clientSecret":{"type":"string","description":"MobilePay client secret.","format":"password","writeOnly":true}},"required":["merchantSerialNumber","subscriptionKey","clientId","clientSecret"]}}}]},"Mollie":{"description":"Mollie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Mollie credentials object.","properties":{"apiKey":{"type":"string","description":"Mollie API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Moneris":{"description":"Moneris gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiToken":{"type":"string","description":"Moneris API token.","format":"password","writeOnly":true},"storeId":{"type":"string","description":"ID of the Moneris store."}},"required":["storeId","apiToken"]}}}]},"Monolo":{"description":"Monolo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Monolo credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Monolo merchant account."},"apiKey":{"type":"string","description":"Monolo API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Monolo secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Monolo settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"MonRem":{"description":"MonRem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MonRem credentials object.","properties":{"clientId":{"type":"string","description":"Client ID of the MonRem."},"username":{"type":"string","description":"Username of the MonRem."},"password":{"type":"string","description":"Password of the MonRem.","format":"password","writeOnly":true},"clientSecret":{"type":"string","description":"Client secret of the MonRem.","format":"password","writeOnly":true}},"required":["clientId","username","password","clientSecret"]}}}]},"MtaPay":{"description":"MTA Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the MTA Pay account."},"partyId":{"type":"string","description":"ID of the MTA Pay party."},"md5key":{"type":"string","description":"MTA Pay MD5 key.","format":"password","writeOnly":true}},"required":["accountId","partyId","md5key"]},"settings":{"type":"object","description":"MTA Pay settings object.","properties":{"goods":{"type":"string","description":"MTA Pay goods."},"mobilePay":{"type":"string","description":"MTA Pay mobile pay parameter."}},"required":["mobilePay","goods"]}}}]},"MuchBetter":{"description":"MuchBetter gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetter credentials object.","properties":{"merchantAccountId":{"type":"string","description":"ID of the MuchBetter merchant account."},"apiKey":{"type":"string","description":"MuchBetter API key.","format":"password","writeOnly":true}},"required":["merchantAccountId","apiKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"brandName":{"type":"string","description":"MuchBetter brand name used for reporting and logo."},"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetter.","default":false}}}}}]},"MuchBetterGateway":{"description":"MuchBetterGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetterGateway credentials object.","properties":{"apiKey":{"type":"string","description":"MuchBetterGateway API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"MuchBetterGateway secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetterGateway.","default":false}}}}}]},"MyFatoorah":{"description":"MyFatoorah gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MyFatoorah credentials object.","properties":{"apiKey":{"type":"string","description":"MyFatoorah API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Naewe":{"description":"Naewe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Naewe credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Naewe merchant account."},"apiKey":{"type":"string","description":"Naewe API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Naewe secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Naewe settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"Neosurf":{"description":"Neosurf gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neosurf credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Neosurf merchant."},"secretKey":{"type":"string","description":"Neosurf API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"NMI":{"description":"NMI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username of the NMI merchant."},"password":{"type":"string","description":"Password of the NMI merchant.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"NMI API key.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"disableStoredCredentials":{"description":"Specifies whether to disable NMI stored credentials for Customer Initiated Transactions (CIT) and Merchant Initiated Transactions (MIT).","type":"boolean","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Netbanking":{"description":"Netbanking gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Netbanking credentials object.","properties":{"midcode":{"type":"string","description":"Netbanking Merchant Identification (MID) code."},"midsecret":{"type":"string","description":"Netbanking Merchant Identification (MID) secret key.","format":"password","writeOnly":true}},"required":["midcode","midsecret"]}}}]},"Neteller":{"description":"Neteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neteller credentials object.","properties":{"paysafePaymentsApiUsername":{"type":"string","description":"Neteller Paysafe Payments API username for a private key."},"paysafePaymentsApiPassword":{"type":"string","description":"Neteller Paysafe Payments API password for a private key.","format":"password","writeOnly":true}},"required":["paysafePaymentsApiUsername","paysafePaymentsApiPassword"]},"settings":{"type":"object","properties":{"populateCustomerEmail":{"type":"boolean","description":"Specifies whether to the populate customer email at payment."}}}}}]},"NGenius":{"description":"NGenius gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NGenius credentials object.","properties":{"outletId":{"type":"string","description":"ID of the NGenius outlet."},"apiKey":{"type":"string","description":"NGenius API key.","format":"password","writeOnly":true}},"required":["outletId","apiKey"]}}}]},"NinjaWallet":{"description":"NinjaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NinjaWallet credentials object.","properties":{"apiKey":{"type":"string","description":"NinjaWallet API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"NinjaWallet secret.","format":"password","writeOnly":true},"passphrase":{"type":"string","description":"NinjaWallet passphrase.","format":"password","writeOnly":true}},"required":["apiKey","secret","passphrase"]}}}]},"NordikCoin":{"description":"NordikCoin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NordikCoin credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the NordikCoin merchant."},"secret":{"type":"string","description":"NordikCoin secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]}}}]},"NOWPayments":{"description":"NOWPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NOWPayments credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey","ipnSecret"]},"settings":{"type":"object","description":"NOWPayments settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"NuaPay":{"description":"NuaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NuaPay credentials object.","properties":{"nuaPayCommonName":{"type":"string","description":"NuaPay common name."},"nuaPaySerialNumber":{"type":"string","description":"NuaPay serial number."},"nuaPayAccountId":{"type":"string","description":"ID of the NuaPay account."},"nuaPayOriginatorIban":{"type":"string","description":"NuaPay origiantor IBAN.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key.","format":"password","writeOnly":true},"nuaPayPrivateKey":{"type":"string","description":"NuaPay private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["nuaPayCommonName","nuaPaySerialNumber","nuaPayAccountId","nuaPayOriginatorIban","nuaPayApiKey","nuaPayPrivateKey"]}}}]},"OchaPay":{"description":"OchaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiUsername":{"type":"string","description":"OchaPay username."},"apiPassword":{"type":"string","description":"OchaPay API password.","format":"password","writeOnly":true},"secretWord":{"type":"string","description":"OchaPay secret word.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword","secretWord"]}}}]},"OmniMatrix":{"description":"OmniMatrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OmniMatrix credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the OmniMatrix merchant."},"secret":{"type":"string","description":"OmniMatrix secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]},"settings":{"type":"object","description":"OmniMatrix settings object.","properties":{"usePreconfiguredAmounts":{"type":"boolean","description":"Specifies if the user must be redirected to a hosted page to select the closest amount when it is not in the list of preconfigured amounts.","default":false,"example":false}}}}}]},"Onlineueberweisen":{"description":"Onlineueberweisen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Onlineueberweisen credentials object.","properties":{"apiKey":{"type":"string","description":"Onlineueberweisen API key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"isxSiinSecret":{"type":"string","description":"Secret for checksum verification for SEPA Instant Instant Notification (SIIN).","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["apiKey"]},"settings":{"type":"object","description":"Onlineueberweisen settings object.","properties":{"payformCode":{"type":"string","description":"Onlineueberweisen code to use a customized PayForm template.","default":"default"},"extraStep":{"type":"boolean","description":"Specifies whether to display a page where the user must enter their bank country and account holder name.","default":false}}}}}]},"OnRamp":{"description":"OnRamp gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OnRamp credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"OnRamp settings object.","properties":{"useServerToServerApi":{"type":"boolean","description":"Specifies whether to use OnRamp server to server API.","default":false},"logoUrl":{"type":"string","description":"Set this value to use a custom logo.","format":"uri"}}}}}]},"Orbital":{"description":"Orbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Orbital credentials object.","properties":{"apiKey":{"type":"string","description":"Orbital API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Orbital settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","enum":["USD","EUR","GBP"]},"mainCryptoCurrency":{"description":"Blockchain network to be used.","type":"string","enum":["ETH","SOL","TRX"]},"logoImageUrl":{"description":"Logo image in PNG or SVG format to be displayed on the deposit screen.","type":"string"},"productImageUrl":{"description":"Product image in JPEG format to be displayed on the deposit screen.","type":"string"}}}}}]},"Pagadito":{"description":"Pagadito gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pagadito credentials object.","properties":{"uid":{"type":"string","format":"password","description":"Pagadito UID.","writeOnly":true},"wsk":{"type":"string","format":"password","description":"Pagadito WSK.","writeOnly":true}},"required":["uid","wsk"]},"settings":{"type":"object","properties":{"useRecurringApi":{"type":"boolean","default":false,"description":"Specifies whether to use the Pagadito API for reoccurring payments."}}}}}]},"Pagsmile":{"description":"Pagsmile gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Pagsmile merchant."},"appId":{"type":"string","description":"ID of the Pagsmile application."},"secretKey":{"type":"string","description":"Pagsmile MD5 key.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Pagsmile secret key for the Trade Pay API.\nThe key starts with `Pagsmile_sk`.","format":"password","writeOnly":true}},"required":["merchantId","appId","secretKey"]},"settings":{"type":"object","description":"Pagsmile settings object.","properties":{"useTradePay":{"type":"boolean","description":"Specifies whether to use the Trade Pay API.","default":false,"example":false}}}}}]},"Panamerican":{"description":"Panamerican gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Panamerican credentials object.","properties":{"key":{"type":"string","description":"Panamerican key."},"password":{"type":"string","description":"Panamerican password.","format":"password","writeOnly":true}},"required":["key","password"]},"settings":{"type":"object","description":"Panamerican settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display a step where the user must enter their ID number."},"convertToAscii":{"type":"boolean","description":"Specifies whether to convert all chars to ascii."}},"required":["extraStep"]}}}]},"PandaGateway":{"description":"Panda gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Panda merchant code."},"apiCode":{"type":"string","description":"Panda API code."},"signKey":{"type":"string","description":"Panda sign key.","format":"password","writeOnly":true}},"required":["merchantCode","apiCode","signKey"]}}}]},"ParamountCommerce":{"description":"ParamountCommerce gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountCommerce credentials object.","properties":{"merchantId":{"type":"string","description":"ParamountCommerce merchant ID."},"appId":{"type":"string","description":"ParamountCommerce application ID."},"clientId":{"type":"string","description":"ParamountCommerce client ID."},"clientSecret":{"type":"string","description":"ParamountCommerce client secret.","format":"password","writeOnly":true}},"required":["merchantId","appId","clientId","clientSecret"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"string","description":"ParamountCommerce merchant sub ID."},"merchantTransactionType":{"type":"string","description":"ParamountCommerce merchant transaction type.","enum":["POKER","CASINO","BINGO","SPORTS_BETTING","DIGITAL_REMITTANCE","E_SPORTS"]},"useDirectDeposit":{"type":"boolean","description":"Specifies whether to use One-Click Payments.","default":false,"example":false}},"required":["merchantSubId","merchantTransactionType"]}}}]},"ParamountEft":{"description":"Paramount gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paramount credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the merchant account."},"merchant_pass":{"type":"string","description":"Merchant account password.","format":"password","writeOnly":true},"payee":{"type":"string","description":"Merchant name or descriptor."}},"required":["merchant_id","merchant_pass","payee"]}}}]},"ParamountInterac":{"description":"ParamountInterac gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountInterac credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ParamountInterac merchant."},"encryptionKey":{"type":"string","description":"ParamountInterac encryption key.","format":"password","writeOnly":true},"password":{"type":"string","description":"ParamountInterac password for query.","format":"password","writeOnly":true}},"required":["merchantId","encryptionKey","password"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."},"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."},"paymentFlow":{"type":"string","description":"Specifies whether to create an Interac payment request loaded directly on a specific preselected payment flow, and skip the flow selection page.","enum":["request_money","manual"]}}}}}]},"Pay4Fun":{"description":"Pay4Fun gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pay4Fun credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Pay4Fun merchant."},"merchantSecret":{"type":"string","description":"Pay4Fun merchant secret.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Pay4Fun merchant key.","format":"password","writeOnly":true}},"required":["merchantId","merchantSecret","merchantKey"]}}}]},"Paybilt":{"description":"Paybilt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paybilt credentials object.","properties":{"tokenId":{"type":"string","description":"ID of the Paybilt token API."},"tokenApiKey":{"type":"string","description":"Paybilt token API key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Paybilt API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Paybilt HMAC key used to verify webhook signatures.","format":"password","writeOnly":true}},"required":["tokenId","tokenApiKey","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]},"PayCash":{"description":"PayCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCash credentials object.","properties":{"emisor":{"type":"string","description":"PayCash merchant identifier."},"token":{"type":"string","description":"PayCash token.","format":"password","writeOnly":true}},"required":["emisor","token"]}}}]},"PayClub":{"description":"PayClub gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayClub credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayClub merchant."},"accountNumber":{"type":"string","description":"PayClub account number."},"signKey":{"type":"string","format":"password","description":"PayClub sign key.","writeOnly":true}},"required":["merchantId","accountNumber","signKey"]},"settings":{"type":"object","properties":{"use3DSChannel":{"type":"boolean","description":"Specifies whether to use a 3DS channel."}}}}}]},"Paycly":{"description":"Paycly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paycly credentials object.","properties":{"apiToken":{"writeOnly":true,"format":"password","type":"string","description":"Paycly API token."},"websiteId":{"writeOnly":true,"type":"string","description":"Paycly Website ID."}},"required":["apiToken","websiteId"]}}}]},"PayCom":{"description":"PayCom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCom credentials object.","properties":{"apiKey":{"type":"string","description":"PayCom API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayEcards":{"description":"PayEcards gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayEcards credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the PayEcards gateway."},"password":{"type":"string","description":"Password of the PayEcards gateway.","format":"password","writeOnly":true},"paymentUrl":{"type":"string","description":"Payment URL of the PayEcards gateway for S2S integration."}},"required":["clientKey","password","paymentUrl"]}}}]},"Paynote":{"description":"Paynote gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"Paynote public key."},"secretKey":{"type":"string","format":"password","description":"Paynote secret key.","writeOnly":true}},"required":["publicKey","secretKey"]}}}]},"PayPal":{"description":"PayPal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"PayPal credentials object.\nThis object specifies the PayPal Partner account from which a gateway account is registered.","properties":{"partnerId":{"type":"string","description":"ID of the PayPal Partner account."},"partnerClientId":{"type":"string","description":"ID of the PayPal Partner account API client."},"partnerSecret":{"type":"string","description":"Secret key for the PayPal Partner account API client.","format":"password","writeOnly":true},"partnerBnCode":{"type":"string","description":"BN Code for the PayPal Partner account.\nThis unique code tracks the source of API requests."}}},"settings":{"type":"object","description":"PayPal settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on PayPal.","format":"uri"},"enableGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to allow users without PayPal accounts to pay using credit or debit cards."},"useHostedCheckoutForm":{"type":"boolean","default":false,"description":"Specifies whether to use a Rebilly hosted PayPal form instead of redirecting customers to PayPal.\nFor more information, see [Create a payment form using the Rebilly API](https://www.rebilly.com/docs/dev-docs/create-a-hosted-payment-form/)."},"forceGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to suppress the PayPal payment method when a guest checkout is available.\nThis option is only applicable when `useHostedCheckoutForm` is enabled."},"enableAlternativePaymentMethods":{"type":"boolean","default":false,"description":"Specifies whether to allow customers to pay using the alternative payment options supported by PayPal.\nWhen enabled, customers must manually approve all payments."}}}}}]},"Payeezy":{"description":"Payeezy gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Payeezy merchant."},"merchantToken":{"type":"string","description":"Merchant token.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"API key."},"apiSecret":{"type":"string","description":"API secret.","format":"password","writeOnly":true}},"required":["merchantId","merchantToken","apiKey","apiSecret"]}}}]},"Payflow":{"description":"Payflow gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payflow credentials object.","properties":{"user":{"type":"string","description":"Payflow user.\nIf you set up one or more additional users on the account,\nthis value is the ID of the user that is authorized to process transactions.\nIf do not set up additional users on the account,\n`user` has the same value as `vendor`."},"vendor":{"type":"string","description":"ID of the Payflow merchant login."},"password":{"type":"string","description":"Payflow merchant password.","format":"password","writeOnly":true}},"required":["user","vendor","password"]}}}]},"PayGlocal":{"description":"PayGlocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayGlocal credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayGlocal merchant (MID)."},"privateKeyId":{"type":"string","description":"Key ID of the merchant RSA private key used to sign payment API requests."},"publicKeyId":{"type":"string","description":"Key ID of the PayGlocal RSA public key used to encrypt payment API request payloads."},"publicKey":{"type":"string","description":"PayGlocal RSA public key used to encrypt payment API request payloads and verify merchant callback token signatures.","x-multiline":true},"privateKey":{"type":"string","description":"Merchant RSA private key used to sign payment API requests.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantId","privateKeyId","publicKeyId","publicKey","privateKey"]}}}]},"PaymentAsia":{"description":"PaymentAsia gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PaymentAsia credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"PaymentAsia API key.","writeOnly":true}},"required":["apiKey"]}}}]},"PaymenTechnologies":{"description":"PaymenTechnologies gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"ID of the PaymenTechnologies authenticate."},"authenticatePw":{"type":"string","description":"PaymenTechnologies authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"PaymenTechnologies API public key."},"secretKey":{"type":"string","description":"PaymenTechnologies API secret key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PaymenTechnologies API key required for query operations.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey","apiKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"PaymentsOS":{"description":"PaymentsOS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"appId":{"type":"string","description":"ID of the PaymentsOS application."},"publicKey":{"type":"string","description":"PaymentsOS public key."},"privateKey":{"type":"string","format":"password","description":"PaymentsOS private key.","writeOnly":true}},"required":["appId","privateKey","publicKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Paymero":{"description":"Paymero gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paymero credentials object.","properties":{"apiKey":{"type":"string","description":"Paymero API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Paymero settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"mainCurrency":{"description":"Blockchain on which the currency is processed.","type":"string","enum":["TRX","ETH"]},"amountExceeded":{"description":"Specifies whether to decline transactions when the amount received exceeds the amount requested.","type":"boolean","default":false}}}}}]},"Payper":{"description":"Payper gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payper credentials object.","required":["secretKey"],"properties":{"secretKey":{"type":"string","format":"password","description":"Payper secret key.","writeOnly":true}}},"settings":{"type":"object","properties":{"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."}}}}}]},"Payr":{"description":"Payr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Payr client."},"secretWord":{"type":"string","description":"Payr secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API.\nThis API is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API.\nThis API is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"PayRedeem":{"description":"PayRedeem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRedeem credentials object.","properties":{"apiUser":{"type":"string","description":"PayRedeem API user."},"apiPassword":{"type":"string","description":"PayRedeem API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PayRedeem API key.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayRetailers":{"description":"PayRetailers gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRetailers credentials object.","properties":{"shopId":{"type":"string","description":"ID of the PayRetailers shop."},"secretKey":{"type":"string","description":"Secret key value of the PayRetailers API.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]},"Paysafe":{"description":"Paysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"storeId":{"type":"string","description":"ID of the Paysafe store."},"storePwd":{"type":"string","description":"Paysafe store password.","format":"password","writeOnly":true},"accountNum":{"type":"string","description":"Paysafe account number."}},"required":["storeId","storePwd","accountNum"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Paysafecard":{"description":"Paysafecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecard API key.","format":"password","writeOnly":true},"reconciliationApiKey":{"type":"string","description":"Paysafecard reconciliation API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Paysafecash":{"description":"Paysafecash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"PayTabs":{"description":"PayTabs gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayTabs credentials object.","properties":{"profileId":{"type":"string","description":"ID of the PayTabs profile."},"clientKey":{"type":"string","description":"PayTabs client key."},"serverKey":{"type":"string","format":"password","description":"PayTabs server key.","writeOnly":true}},"required":["profileId","clientKey","serverKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for PayTabs API."}}}}}]},"PayU":{"description":"PayU gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayU credentials object.","properties":{"merchantKey":{"type":"string","description":"Merchant key of the PayU merchant."},"merchantSalt":{"type":"string","description":"Merchant salt of the PayU merchant.","format":"password","writeOnly":true}},"required":["merchantKey","merchantSalt"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayULatam":{"description":"PayULatam gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayULatam credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayULatam merchant."},"accountId":{"type":"string","description":"ID of the PayULatam account."},"apiLogin":{"type":"string","description":"PayULatam API login."},"apiKey":{"type":"string","description":"PayULatam API key.","format":"password","writeOnly":true}},"required":["merchantId","accountId","apiLogin","apiKey"]}}}]},"Payvision":{"description":"Payvision gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"memberId":{"type":"string","description":"ID of the Payvision member."},"memberGuid":{"type":"string","description":"Payvision member guid.","format":"password","writeOnly":true}},"required":["memberId","memberGuid"]},"settings":{"type":"object","description":"Payvision settings object.","properties":{"avs":{"type":"boolean","description":"Specifies whether to use Payvision AVS."},"delay":{"type":"integer","description":"Automatic capture delay in hours."},"merchantAccountType":{"type":"integer","description":"Payvision merchant account type."}},"required":["merchantAccountType"]}}}]},"PayXpert":{"description":"Configuration for the PayXpert gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for PayXpert.","properties":{"username":{"type":"string","description":"Username for the PayXpert API."},"password":{"type":"string","description":"Password for the PayXpert API.","format":"password","writeOnly":true}},"required":["username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PharosPayments":{"description":"PharosPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PharosPayments credentials object.","properties":{"username":{"type":"string","description":"Authentication username."},"password":{"description":"Authentication password.","type":"string","format":"password"},"merchantCode":{"type":"string","description":"Merchant code."},"terminalCode":{"type":"string","description":"Terminal code."}},"required":["username","password","merchantCode","terminalCode"]}}}]},"Piastrix":{"description":"Piastrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Piastrix credentials object.","properties":{"shopId":{"type":"string","description":"ID of the Piastrix shop."},"secretKey":{"type":"string","description":"Piastrix secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]},"settings":{"type":"object","description":"Piastrix settings object.","properties":{"tolerancePercentage":{"type":"integer","description":"Tolerance percentage for settled amounts.","minimum":0,"maximum":5,"example":5}}}}}]},"Pin4Pay":{"description":"Pin4Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","requestOrigin","codigoCliente","keyValue"],"properties":{"username":{"type":"string","description":"Pin4Pay API username."},"requestOrigin":{"type":"string","description":"Pin4Pay API request origin."},"codigoCliente":{"type":"string","description":"Pin4Pay API codigo cliente."},"keyValue":{"type":"string","description":"Pin4Pay API password.","format":"password","writeOnly":true}}}}}]},"Plugnpay":{"description":"Plugnpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publisher-name":{"type":"string","description":"ID of the Plugnpay member."},"publisher-password":{"type":"string","description":"Plugnpay AVS.","format":"password","writeOnly":true}},"required":["publisher-name","publisher-password"]}}}]},"PostFinance":{"description":"PostFinance gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PostFinance credentials object.","properties":{"pspId":{"type":"string","description":"ID of the PostFinance PSP."},"merchantId":{"type":"string","description":"ID of the PostFinance merchant."},"sftpUsername":{"type":"string","description":"PostFinance SFTP username."},"publicKey":{"type":"string","x-multiline":true,"description":"PostFinance public key."},"privateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance private key.","writeOnly":true},"keyPassphrase":{"type":"string","format":"password","description":"PostFinance key passphrase.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance SFTP private key.","writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"PostFinance SFTP key passphrase.","writeOnly":true}},"required":["pspId","merchantId","sftpUsername","publicKey","privateKey","keyPassphrase","sftpPrivateKey","sftpKeyPassphrase"]},"settings":{"type":"object","properties":{"skipPaymentFileUpload":{"type":"boolean","default":false,"description":"Specifies whether to skip the payment file upload screen."},"enableAliasAuthentication":{"type":"boolean","default":false,"description":"Specifies whether to enable alias authentication."}}}}}]},"Powertranz":{"description":"Powertranz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Powertranz credentials object.","properties":{"merchantId":{"type":"string","description":"Powertranz merchant ID."},"password":{"type":"string","description":"Powertranz password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"PSiGate":{"description":"PSiGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username or store name."},"password":{"type":"string","description":"Password of the PSiGate gateway account.","format":"password","writeOnly":true},"clientId":{"type":"string","description":"Client ID."},"clientApiKey":{"type":"string","description":"Client API key.","format":"password","writeOnly":true},"disputeUsername":{"type":"string","description":"Username for fetching disputes."},"disputePassword":{"type":"string","description":"Password for fetching disputes.","format":"password","writeOnly":true}},"required":["username","password","clientId","clientApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PPRO":{"description":"PPRO gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PPRO credentials object.","properties":{"login":{"type":"string","description":"PPRO merchant API username."},"password":{"type":"string","description":"PPRO merchant API password.","format":"password","writeOnly":true},"contractId":{"type":"string","description":"ID of the PPRO contract.\nThis value is used for API credentials."},"privateKey":{"type":"string","format":"password","description":"PPRO private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"PPRO private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Public key.","x-multiline":true},"serverCertificate":{"type":"string","description":"PPRO CA certificate.","x-multiline":true},"notificationSecret":{"type":"string","format":"password","description":"Secret used for IPN URLs.","writeOnly":true},"sharedSecret":{"type":"string","format":"password","description":"Secret used for redirect URLs.","writeOnly":true}},"required":["login","password","contractId","privateKey","privateKeyPassword","clientCertificate","serverCertificate","notificationSecret","sharedSecret"]}}}]},"Prosa":{"description":"Prosa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Prosa credentials object.","properties":{"entityId":{"type":"string","description":"ID of the Prosa entity."},"accessToken":{"type":"string","format":"password","description":"Prosa access token.","writeOnly":true}},"required":["entityId","accessToken"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Quickpay":{"description":"Quickpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Quickpay credentials object.","properties":{"apiKey":{"type":"string","description":"Quickpay API key.","format":"password","writeOnly":true},"privateKey":{"type":"string","description":"Private key of the Quickpay account that signs callback checksums.","format":"password","writeOnly":true}},"required":["apiKey","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Rapyd":{"description":"Rapyd gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Rapyd credentials object.","properties":{"accessKey":{"type":"string","description":"Rapyd access key."},"secretKey":{"type":"string","format":"password","description":"Rapyd secret key.","writeOnly":true}},"required":["accessKey","secretKey"]},"settings":{"type":"object","description":"Rapyd settings object.","properties":{"ipnUrl":{"type":"string","description":"Instant Payment Notification (IPN) URL configured on Rapyd.\nThis value is used to calculate the signature."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"RPN":{"description":"RPN gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"mid":{"type":"string","description":"RPN merchant identifier."},"key":{"type":"string","description":"RPN key.","format":"password","writeOnly":true}},"required":["mid","key"]}}}]},"Realex":{"description":"Realex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Realex merchant."},"secretKey":{"type":"string","description":"Realex secret key.","format":"password","writeOnly":true},"rebatePassword":{"type":"string","description":"Realex rebate password.","format":"password","writeOnly":true},"account":{"type":"string","description":"Realex account."}},"required":["merchantId","secretKey","rebatePassword","account"]}}}]},"Realtime":{"description":"Realtime gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Realtime client."},"secretWord":{"type":"string","description":"Realtime secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"Redsys":{"description":"Redsys gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Redsys merchant code.","format":"password","writeOnly":true},"secretCode":{"type":"string","description":"Redsys secret code.","format":"password","writeOnly":true}},"required":["merchantCode","secretCode"]},"settings":{"type":"object","description":"Redsys settings object.","properties":{"terminal":{"type":"string","description":"Redsys terminal."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Rotessa":{"description":"Rotessa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Rotessa credentials object.","properties":{"apiKey":{"type":"string","description":"Rotessa API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Rotessa settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay."}},"required":["delay"]}}}]},"Safecharge":{"description":"Safecharge gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Safecharge credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Safecharge merchant."},"siteId":{"type":"string","description":"ID of the Safecharge site."},"secretKey":{"type":"string","description":"Safecharge secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey","siteId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"SaltarPay":{"description":"SaltarPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SaltarPay credentials object.","properties":{"apiKey":{"type":"string","description":"SaltarPay API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"SaltarPay secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]}}}]},"SMSVoucher":{"description":"SMSVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"AppId":{"type":"string","description":"ID of the SMSVoucher application."}},"required":["AppId"]}}}]},"Sofort":{"description":"Sofort gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Sofort credentials object.","properties":{"configKey":{"type":"string","description":"Sofort configuration key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["configKey"]}}}]},"Sagepay":{"description":"Sagepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"M_ID":{"type":"string","description":"ID of the Sagepay merchant."},"M_KEY":{"type":"string","description":"Sagepay merchant key.","format":"password","writeOnly":true}},"required":["M_ID","M_KEY"]}}}]},"SeamlessChex":{"description":"SeamlessChex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SeamlessChex credentials object.","properties":{"publicKey":{"type":"string","description":"SeamlessChex publishable key."},"secretKey":{"type":"string","description":"SeamlessChex secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]}}}]},"SecureTrading":{"description":"SecureTrading gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecureTrading credentials object.","properties":{"websiteId":{"type":"string","description":"ID of the SecureTrading website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"username":{"type":"string","description":"SecureTrading web service username."},"password":{"type":"string","description":"SecureTrading web service password.","format":"password","writeOnly":true},"notificationPassword":{"type":"string","description":"SecureTrading notification password.\nThis password is used to authenticate webhook requests.","format":"password","writeOnly":true}},"required":["websiteId","username","password","notificationPassword"]},"settings":{"type":"object","description":"SecureTrading settings object.","properties":{"enableRecurring":{"type":"boolean","description":"Enables recurring payments.","default":false},"useParentTransactionOnFile":{"type":"boolean","description":"Enables subsequent MIT payments to include \"parenttransactionreference\" value.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"SecurionPay":{"description":"SecurionPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecurionPay credentials object.","properties":{"secretApiKey":{"type":"string","format":"password","description":"SecurionPay secret API key.","writeOnly":true}},"required":["secretApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Skrill":{"description":"Skrill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Skrill credentials object.","properties":{"accountEmail":{"type":"string","description":"Email address of your Skrill merchant account."},"secretWord":{"type":"string","description":"Secret word used for MD5 signature verifications.","format":"password","writeOnly":true},"mqiPassword":{"type":"string","description":"Password used during MQI or API requests.","format":"password","writeOnly":true},"currencyAccountIds":{"type":"string","description":"Comma-separated list of currency account IDs."},"merchantId":{"type":"string","description":"ID of the Skrill merchant account.\nThis value is required if `enableCustomerVerification` is set to `true`."}},"required":["accountEmail","secretWord"]},"settings":{"type":"object","properties":{"merchantFields":{"type":"string","description":"Comma-separated list of name-value merchant field pairs.\nExample: `key1:value1,key2:value2`."},"useSPX":{"type":"boolean","description":"Specifies whether to use SPX code for PIX payment method.","default":false},"enableCustomerVerification":{"type":"boolean","description":"Specifies whether to perform a Customer Verification Service check before the payout.","default":false,"example":false}}}}}]},"SmartInvoice":{"description":"SmartInvoice gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SmartInvoice credentials object.","properties":{"merchantId":{"type":"string","description":"SmartInvoice merchant account UID."},"applicationId":{"type":"string","description":"SmartInvoice application UID.","format":"password","writeOnly":true}},"required":["merchantId","applicationId"]}}}]},"SparkPay":{"description":"SparkPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SparkPay credentials object.","properties":{"shopId":{"type":"string","description":"ID of the SparkPay shop."},"secretKey":{"type":"string","description":"SparkPay secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]},"Splitit":{"description":"Splitit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"Splitit terminal ID."},"username":{"type":"string","description":"Splitit username."},"password":{"type":"string","description":"Splitit password.","format":"password","writeOnly":true}},"required":["terminalId","username","password"]},"settings":{"type":"object","description":"Splitit settings object.","properties":{"numberOfInstallmentsCustomField":{"type":"string","description":"Name of the transaction custom field that holds the number of installments."}}}}}]},"StaticGateway":{"description":"StaticGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"}]},"STPMexicoBanks":{"type":"integer","enum":[37006,37009,37019,37135,37166,37168,40002,40012,40014,40021,40030,40036,40037,40042,40044,40058,40059,40060,40062,40072,40102,40103,40106,40108,40110,40112,40113,40124,40126,40127,40128,40129,40130,40131,40132,40133,40136,40137,40138,40140,40141,40143,40145,40147,40148,40150,40151,40152,40154,40155,40156,40158,90600,90601,90602,90605,90606,90608,90613,90614,90616,90617,90620,90621,90623,90626,90627,90628,90630,90631,90634,90636,90637,90638,90640,90642,90646,90648,90649,90652,90653,90655,90656,90659,90670,90671,90674,90677,90678,90679,90680,90681,90683,90684,90685,90686,90687,90689,90901,90902]},"STPMexico":{"description":"STP Mexico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"STP Mexico credentials object.","properties":{"companyName":{"type":"string","description":"STP Mexico account company name."},"beneficiaryName":{"type":"string","description":"Name of the bank account holder that is receiving payments."},"bankId":{"description":"ID of the bank receiving payments.\nA list of bank IDs can be found in STP Mexico integration documentation.","$ref":"#/components/schemas/STPMexicoBanks"},"bankAccountNumber":{"type":"string","description":"Bank account number of the payments recipient."},"privateKey":{"type":"string","description":"STP Mexico private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"Passphrase for the private key.","format":"password","writeOnly":true}},"required":["companyName","beneficiaryName","bankId","bankAccountNumber","privateKey","keyPassphrase"]}}}]},"Stripe":{"description":"Stripe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"Stripe Connect credentials object.\nThe credentials object may be provided to control the Stripe Connect account to which the gateway account is connected.","properties":{"stripeClientId":{"type":"string","description":"ID of the Stripe account client."},"stripeSecret":{"type":"string","description":"Stripe Connect account secret key account.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Stripe settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on Stripe.","format":"uri"},"disablePaymentIntents":{"type":"boolean","description":"Specifies whether to use the Charges API instead of the PaymentIntents API.","default":false},"enforceOffSession":{"type":"boolean","description":"Specifies if the `off_session` parameter is set to `true` in Stripe requests.","default":false},"copyCredentialsFrom":{"type":"string","description":"ID of an existing Stripe gateway account from which credentials are copied in order to skip the onboarding process."},"setupFutureUsage":{"type":"string","description":"Indicates intent to make future payments with this payment method.\n- `on_session`: Reuse the payment method when the customer is present.\n- `off_session`: Reuse the payment method when the customer may or may not be present.","enum":["off_session","on_session"]},"applicationFeePercentage":{"type":"integer","description":"Percentage of transaction amount uses for sending application fee to Stripe.","minimum":0,"maximum":100},"includeCardNetwork":{"type":"boolean","description":"Specifies whether to include payment card network in the request to Stripe.","default":false},"radarSessionCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Radar Session ID."}}},"threeDSecureServer":{"type":"object","required":["name"],"description":"Stripe Integrated.","properties":{"name":{"type":"string","description":"Name of the Stripe 3DS server.","enum":["Stripe3dsServer"]},"enforceThreeDSecure":{"type":"boolean","description":"Specifies if Stripe must perform 3D Secure.\nThis option overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds)."}}}}}]},"Tabby":{"description":"Tabby gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Tabby credentials object.","properties":{"publicKey":{"type":"string","description":"Public API key of Tabby account.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Secret API key of Tabby account.","format":"password","writeOnly":true},"merchantCode":{"type":"string","description":"Merchant code of Tabby account."}},"required":["publicKey","merchantCode"]},"settings":{"type":"object","description":"Tabby settings object.","properties":{"category":{"type":"string","description":"Tabby merchant category."}}}}}]},"Telr":{"description":"Telr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Telr credentials object.","properties":{"storeId":{"type":"string","description":"Hosted payment page V2 store identifier."},"hostedPageAuthenticationKey":{"type":"string","description":"Hosted payment page V2 authentication key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Service API merchant identifier."},"serviceApiKey":{"type":"string","description":"Service API key.","format":"password","writeOnly":true},"remoteApiKey":{"type":"string","description":"Remote API key.","format":"password","writeOnly":true}},"required":["storeId","hostedPageAuthenticationKey","merchantId","serviceApiKey"]},"settings":{"type":"object","description":"Telr settings object.","properties":{"transactionDescription":{"type":"string","description":"Default transaction description.\nLeave this field blank to use website URL."}}}}}]},"TestProcessor":{"description":"TestProcessor gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Thunes":{"description":"Thunes gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Thunes credentials object.","properties":{"apiKey":{"type":"string","description":"Thunes API key used for HTTP basic authentication.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Thunes API secret used for HTTP basic authentication.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Thunes merchant identifier."},"paymentPageId":{"type":"string","description":"Thunes payment page identifier for hosted checkout."}},"required":["apiKey","apiSecret","merchantId","paymentPageId"]},"settings":{"type":"object","description":"Thunes settings object.","required":["transactionType"],"properties":{"transactionType":{"type":"string","description":"Payer type for the Thunes payment order.","enum":["C2B","B2B"]}}}}}]},"ToditoCash":{"description":"ToditoCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ToditoCash credentials object.","properties":{"apiKey":{"type":"string","description":"ToditoCash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Triple000":{"description":"Triple000 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Triple000 credentials object.","properties":{"username":{"type":"string","description":"Username of the Triple000 merchant."},"password":{"type":"string","format":"password","description":"Triple000 password.","writeOnly":true},"secretWord":{"type":"string","format":"password","description":"Triple000 secret word.","writeOnly":true}},"required":["username","password","secretWord"]}}}]},"Truevo":{"description":"Truevo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Truevo credentials object.","properties":{"mid":{"type":"string","description":"Truevo merchant identifier."},"tid":{"type":"string","description":"Truevo terminal identifier."},"token":{"type":"string","description":"Truevo authentication token.","format":"password","writeOnly":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP reconciliation private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"IPN secret that is used to validate incoming IPN requests.","writeOnly":true}},"required":["mid","tid","token"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"TrustsPay":{"description":"TrustsPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"TrustsPay credentials object.","required":["merchantNo","gatewayNo","signkey"],"properties":{"merchantNo":{"type":"string","description":"TrustsPay merchant number."},"gatewayNo":{"type":"string","description":"TrustsPay gateway number."},"signkey":{"type":"string","format":"password","description":"TrustsPay sign key.","writeOnly":true}}}}}]},"Trustly":{"description":"Trustly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Trustly credentials object.","properties":{"username":{"type":"string","description":"Trustly username."},"password":{"type":"string","description":"Trustly password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Trustly public key.","x-multiline":true},"privateKey":{"type":"string","description":"Trustly private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["username","password","publicKey","privateKey"]}}}]},"TWINT":{"description":"TWINT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"TWINT credentials object.","properties":{"storeUuid":{"type":"string","description":"TWINT store UUID."},"cashRegisterId":{"type":"string","description":"ID of the cash register."},"publicKey":{"type":"string","description":"TWINT public key.","x-multiline":true},"privateKey":{"type":"string","description":"TWINT private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"TWINT key passphrase.","format":"password","writeOnly":true}},"required":["storeUuid","cashRegisterId","publicKey","privateKey","keyPassphrase"]},"settings":{"type":"object","description":"TWINT settings object.","properties":{"cashRegisterType":{"type":"string","description":"TWINT cash register type."}},"required":["cashRegisterType"]}}}]},"Txn":{"description":"Txn gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Txn credentials object.","properties":{"apiKey":{"type":"string","description":"API key of the Txn.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Txn settings object.","properties":{"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."},"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"accountCurrency":{"type":"string","description":"Cryptocurrency of the merchant account."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout.","enum":["btc","usdt","eth","xrp"]}}}}}]},"Unlimit":{"description":"Unlimit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Unlimit credentials object.","properties":{"terminalId":{"type":"string","description":"ID of the Unlimit terminal."},"password":{"type":"string","description":"Password of the Unlimit terminal merchant.","format":"password","writeOnly":true},"ipnSecret":{"type":"string","description":"IPN secret of the Unlimit merchant.","format":"password","writeOnly":true}},"required":["terminalId","password","ipnSecret"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"UPayCard":{"description":"UPayCard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"receiver_account":{"type":"string","description":"UPayCard merchant receiver account."},"key":{"type":"string","description":"UPayCard merchant key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"UPayCard merchant secret.","format":"password","writeOnly":true}},"required":["receiver_account","key","secret"]},"settings":{"type":"object","description":"UpayCard settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"USAePay":{"description":"USAePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"sourceKey":{"type":"string","description":"USAePay source key.","format":"password","writeOnly":true},"pin":{"type":"string","description":"USAePay pin.","format":"password","writeOnly":true}},"required":["sourceKey","pin"]}}}]},"VantivLitle":{"description":"VantivLitle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"VantivLitle username."},"password":{"type":"string","description":"VantivLitle password.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the VantivLitle merchant."}},"required":["username","password","merchantId"]}}}]},"VCreditos":{"description":"VCreditos gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VCreditos credentials object.","properties":{"publicKey":{"type":"string","description":"VCreditos API public key."},"secretKey":{"type":"string","description":"VCreditos API secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]},"settings":{"type":"object","description":"VCreditos settings object.","properties":{"merchantWebsiteLoginLabel":{"type":"string","description":"Label caption for a merchant website login input."},"merchantWebsiteLoginDescription":{"type":"string","description":"Description block for a merchant website login input."}}}}}]},"VegaWallet":{"description":"VegaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VegaWallet credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the VegaWallet merchant."},"password":{"type":"string","description":"VegaWallet merchant password.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"VegaWallet payout password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"Viva":{"description":"Viva gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Viva credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Viva OAuth 2.0."},"clientSecret":{"type":"string","description":"Secret of the Viva OAuth 2.0.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the Viva basic authentication."},"apiKey":{"type":"string","description":"API key for Viva basic authentication.","format":"password","writeOnly":true},"ipnKey":{"type":"string","description":"Key of the Viva IPN validation."}},"required":["clientId","clientSecret","merchantId","apiKey","ipnKey"]},"settings":{"type":"object","description":"Viva settings object.","properties":{"sourceCode":{"description":"Payment source links to the merchant.","type":"string"},"customerTransaction":{"description":"This optional parameter adds a friendly description to the payment order that you want to display to the customer on the payment form.","type":"string"}}}}}]},"Wallet88":{"description":"Wallet88 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Wallet88 credentials object.","properties":{"sid":{"type":"string","description":"ID of the Wallet88 API site."},"rcode":{"type":"string","description":"Wallet88 API rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Wallet88 settings object.","properties":{"paymentCardMethod":{"description":"Method to send for payment card.","type":"string","enum":["creditcard","mastercard","visa"],"default":"creditcard"}}}}}]},"Walpay":{"description":"Walpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantName":{"type":"string","description":"Walpay merchant name."},"merchantPin":{"type":"string","description":"Walpay merchant pin.","format":"password","writeOnly":true}},"required":["merchantName","merchantPin"]}}}]},"WesternUnion":{"description":"WesternUnion gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"WesternUnion credentials object.","properties":{"clientId":{"type":"string","description":"ID of the WesternUnion client."},"certificateCommonName":{"type":"string","description":"WesternUnion certificate Common Name (CN)."},"certificateSerialNumber":{"type":"string","description":"WesternUnion certificate Serial Number (SN)."}},"required":["clientId","certificateCommonName","certificateSerialNumber"]}}}]},"Wirecard":{"description":"Wirecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantUsername":{"type":"string","description":"Wirecard merchant username."},"merchantPassword":{"type":"string","description":"Wirecard merchant password.","format":"password","writeOnly":true},"businessSignature":{"type":"string","description":"Wirecard merchant business case signature.","format":"password","writeOnly":true},"delay":{"type":"integer","description":"Automatic capture delay."},"sftpUsername":{"type":"string","description":"Wirecard SFTP username."},"sftpPrivateKey":{"type":"string","description":"Wirecard SFTP private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantUsername","merchantPassword","businessSignature","delay"]}}}]},"WorldlineAtosFrankfurt":{"description":"WorldlineAtosFrankfurt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"credentials":{"type":"object","description":"WorldlineAtosFrankfurt credentials.","properties":{"cardAcceptorIdCode":{"type":"string","description":"Card acceptor ID Code."},"acquiringInstitutionIdentificationCode":{"type":"string","description":"Identification code of the acquiring institution."},"mpgId":{"type":"string","description":"Merchant payment gateway ID from Mastercard."},"clientCertificate":{"type":"string","description":"Client certificate for mutual TLS (mTLS) authentication.","format":"password","writeOnly":true,"x-multiline":true},"privateKey":{"type":"string","description":"Client private key for mutual TLS (mTLS) authentication.","format":"password","x-multiline":true,"writeOnly":true}},"required":["cardAcceptorIdCode","acquiringInstitutionIdentificationCode","mpgId","clientCertificate","privateKey"]},"settings":{"type":"object","description":"WorldlineAtosFrankfurt settings.","properties":{"cardAcceptorName":{"type":"string","description":"Name of the card acceptor."},"cardAcceptorLocation":{"type":"string","description":"Location of the card acceptor."},"cardAcceptorCountryCode":{"type":"string","description":"Country code of the card acceptor."},"terminalIds":{"type":"string","description":"Comma-separated list of terminal IDs."}},"required":["cardAcceptorName","cardAcceptorLocation","cardAcceptorCountryCode"]}}}]},"Worldpay":{"description":"Worldpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Worldpay merchant code.","format":"password","writeOnly":true},"merchantPassword":{"type":"string","description":"Worldpay merchant password.","format":"password","writeOnly":true},"payoutMerchantCode":{"type":"string","description":"Optional alternate merchant code for payouts.","format":"password","writeOnly":true},"payoutMerchantPassword":{"type":"string","description":"Optional alternate merchant password for payouts.","format":"password","writeOnly":true},"alternativePaymentsUsername":{"type":"string","description":"OneClick platform username, required for non-card payment methods."},"alternativePaymentsPassword":{"type":"string","description":"OneClick platform password, required for non-card payment methods.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantCode","merchantPassword"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0},"enforceStoredCredentials":{"type":"string","description":"Specifies whether to enforce stored credentials.\n`mit-enabled` means that stored credentials are sent only on merchant initiated transactions. This is the expected usage.\n`always-enabled` means that stored credentials are also used, if available, for customer facing transactions.","enum":["disabled","mit-enabled","always-enabled"],"default":"disabled"},"merchantInitiatedReason":{"type":"string","description":"Value to send with merchant-initiated transactions.","enum":["UNSCHEDULED","RECURRING","INSTALMENT","REAUTH","DELAYED","INCREMENTAL","RESUBMISSION","NOSHOW"],"default":"UNSCHEDULED"}}}}}]},"Zotapay":{"description":"Zotapay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"endpointId":{"type":"string","description":"ID of the Zotapay endpoint."},"merchantId":{"type":"string","description":"ID of the Zotapay merchant."},"merchantSecretKey":{"type":"string","description":"Zotapay merchant secret key.","format":"password","writeOnly":true}},"required":["endpointId","merchantId","merchantSecretKey"]}}}]},"eMerchantPay":{"description":"eMerchantPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the eMerchantPay client."},"apiKey":{"type":"string","description":"eMerchantPay API key.","format":"password","writeOnly":true},"username":{"type":"string","description":"eMerchantPay username for the Genesis platform."},"token":{"type":"string","description":"eMerchantPay token for the Genesis platform."},"password":{"type":"string","description":"eMerchantPay password for the Genesis platform.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"eMerchantPay settings object.","properties":{"useGenesisPlatform":{"type":"boolean","description":"Specifies whether to use the Genesis platform on eMerchantPay.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ecoPayz":{"description":"ecoPayz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayz credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayz payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayz merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayz merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayz settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]},"ecoPayzTurkey":{"description":"ecoPayzTurkey gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayzTurkey credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayzTurkey payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayzTurkey merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayzTurkey merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayzTurkey settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]},"iCanPay":{"description":"iCanPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"Authenticate ID of the iCanPay account."},"authenticatePw":{"type":"string","description":"iCanPay authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"iCanPay API public key."},"secretKey":{"type":"string","description":"iCanPay API secret key.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"iCheque":{"description":"iCheque gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the iCheque client."},"secretWord":{"type":"string","description":"iCheque secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API that is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API that is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"iDebit":{"description":"iDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"iDebit credentials object.","properties":{"merchantId":{"type":"string","description":"iDebit merchant account number."},"password":{"type":"string","description":"iDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"ID of the merchant or organization."}}}}}]},"vegaaH":{"description":"vegaaH gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the vegaaH terminal."},"password":{"type":"string","description":"vegaaH password.","format":"password","writeOnly":true}},"required":["terminalId","password"]}}}]},"XPay":{"description":"XPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"XPay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the XPay merchant."},"encryptionKey":{"type":"string","format":"password","writeOnly":true,"description":"XPay encryption key."}},"required":["merchantId","encryptionKey"]}}}]},"Zimpler":{"description":"Zimpler configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Zimpler credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Zimpler merchant."},"apiKey":{"type":"string","description":"Zimpler API key.","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]}}}]},"DigitalWallets":{"type":"object","description":"Configure which digital wallets are enabled.","title":"Digital Wallets","properties":{"applePay":{"type":"object","description":"Apple Pay digital wallet configuration. If not using Apple Pay,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Apple Pay is enabled.","default":false},"displayName":{"description":"String of 64, or fewer, UTF-8 characters containing the canonical name for your store,\nwhich is suitable for display.\nDo not localize this name.","type":["string","null"],"example":"Test merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"googlePay":{"type":"object","description":"Google Pay™ digital wallet configuration. If not using Google Pay™,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Google Pay™ is enabled.","default":false},"merchantName":{"description":"Merchant name in Google Pay™.","type":["string","null"],"example":"Test merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay™.\nThis uses the fully qualified domain name.","type":["string","null"],"example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}}},"GatewayAccountPayoutLimits":{"description":"Payout method limits for payout request auto-allocation.\nLimits apply to auto-allocation only.\nManual allocations are uncapped.\n\nValidation is per currency.\nWhen multiple limit types contain\nan entry for the same currency, the following requirements apply:\n- `minPerTransaction.amount < maxPerTransaction.amount`.\n- `minPerTransaction.amount <= maxPerPeriod.amount`.","type":"object","minProperties":1,"properties":{"maxPerTransaction":{"description":"Maximum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":3000},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":3000,"currency":"CAD"}]},"minPerTransaction":{"description":"Minimum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":100,"currency":"CAD"}]},"maxPerPeriod":{"description":"Maximum amount limit for a rolling period.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency","period"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":10000},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"period":{"description":"Rolling period for the amount limit.","type":"string","enum":["24-hours"],"x-enumDescriptions":{"24-hours":"Rolling 24-hour period."}}}},"example":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"example":{"maxPerTransaction":[{"amount":3000,"currency":"CAD"}],"minPerTransaction":[{"amount":100,"currency":"CAD"}],"maxPerPeriod":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"ValidationErrorExtensions":{"type":"object","properties":{"invalidFields":{"description":"Invalid field details.","type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}}},"InvalidError":{"description":"Invalid data sent.","allOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/ValidationErrorExtensions"}]},"GatewayAccountDowntimeSchedule":{"type":"object","required":["startTime","endTime"],"properties":{"id":{"type":"string","description":"ID of the gateway account downtime schedule.","readOnly":true,"maxLength":50,"example":"gw_dwn_0YVCXRK9TKCC6AMAPFB9M4RXDP"},"status":{"description":"Status of the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["pending","ongoing","finished"]},"reason":{"description":"Reason for the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["scheduled-maintenance","daily-limit-reached","monthly-limit-reached","gateway-unreachable"]},"startTime":{"description":"Date and time when the gateway account scheduled downtime starts.","type":"string","format":"date-time"},"endTime":{"description":"Date and time when the gateway account scheduled downtime ends.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"GatewayAccountLimit":{"description":"Gateway account limit details.","type":"object","required":["cap"],"properties":{"id":{"description":"ID of the gateway account limit.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"status":{"description":"Status of the gateway account limit.","readOnly":true,"type":"string","enum":["monitoring","reached"]},"startTime":{"description":"Date and time when the gateway account limit starts.","type":"string","format":"date-time","readOnly":true},"endTime":{"description":"Date and time when the gateway account limit ends.\nWhen a gateway account limit ends the limit resets.","type":"string","format":"date-time","readOnly":true},"frequency":{"description":"Frequency at which the gateway account limit period resets.","type":"string","readOnly":true,"enum":["daily","monthly"]},"type":{"description":"Type of gateway account limit.","type":"string","readOnly":true,"enum":["money","count"],"x-enumDescriptions":{"money":"Limits the amount of money that a transaction can process on a gateway account. If `money` is chosen, the currency is the report currency.","count":"Limits the total number of transaction can be processed on a gateway account."}},"cap":{"description":"Limits the maximum allowed value.\nIf `type` is set to `money`, the currency is the report currency.\n`cap` only applies to approved transactions of type `authorize` or `sale`.","type":"integer","example":1000},"usage":{"description":"Usage of the gateway account limit during this period.","type":"integer","example":375,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"GatewayAccountTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["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","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-carding-circuit-opened"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SettlementPeriod":{"type":"object","description":"Instruction for calculating the settlement time.\nThe settlement time and settlement period anchor are used\nin conjunction with the transaction processed time,\nto calculate the time in which the amount settles.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","immediately":"#/components/schemas/SchedulingMethodImmediately"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"}]},"SettlementSettings":{"type":"object","description":"Settlement settings.\nUse these settings to set up settlement accounts.","required":["settlementCurrency","settlementPeriod"],"properties":{"settlementCurrency":{"description":"Default settlement currency for all transactions.","$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"description":"Default settlement period for all transactions.","$ref":"#/components/schemas/SettlementPeriod"},"advancedSettings":{"description":"Advanced settlement settings.\nUse these settings to override either default settlement currency,\nperiod, or both for the transactions matched a filter.","type":"array","items":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"Filter that is based on transaction properties and is used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"currency:EUR,GBP"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"$ref":"#/components/schemas/SettlementPeriod"}}}}}},"Bips":{"type":"number","description":"Basis points.\nExample: 100 bips = 1%, 1 bip = 0.01%.","format":"integer","minimum":0,"maximum":100000,"example":100},"GatewayAccountFinancialSettings":{"type":"object","description":"Financial settings.","required":["settlementSettings"],"properties":{"settlementSettings":{"$ref":"#/components/schemas/SettlementSettings"},"riskReserveSettings":{"description":"Risk reserve settings.\nUse these settings to set up funds reserves before settlement.","type":"array","items":{"type":"object","required":["filter","bips","period"],"properties":{"filter":{"description":"Filter that is based on the properties of the transaction and used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"paymentInstrument.method:payment-card","type":"string"},"bips":{"$ref":"#/components/schemas/Bips"},"period":{"description":"Instruction for calculating the reserve release time.","$ref":"#/components/schemas/SchedulingMethodDateInterval"}}}}}},"DigitalWalletOnboardingApplePayDomains":{"type":"object","description":"Apple Pay domains of the organization.","required":["domains"],"properties":{"domains":{"description":"Domains that Apple Pay has registered for the organization, sorted alphabetically.","type":"array","readOnly":true,"items":{"type":"string"}}}},"DigitalWalletOnboardingApplePay":{"type":"object","description":"Register a domain with Apple Pay and associate it with Rebilly.","required":["domain"],"properties":{"domain":{"description":"Domain to register.","type":"string"},"status":{"description":"Status of Apple Pay domain registration.","type":"string","readOnly":true,"enum":["failed","registered","already-registered"]}}},"Integration":{"type":"object","properties":{"service":{"readOnly":true,"description":"Name of the integration service.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"count":{"readOnly":true,"type":"integer","minimum":0,"description":"Total number of available rule sets."},"configurations":{"readOnly":true,"type":"array","minItems":0,"description":"List of configurations.","items":{"type":"object","properties":{"labels":{"description":"Labels of the configuration.","type":"array","minItems":0,"items":{"type":"string"}},"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"type":"string","description":"Title of the configuration."}}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","oauth2Connect"]}}}}}},"ValueList":{"type":"object","required":["description","values"],"properties":{"id":{"type":"string","description":"ID of the list.","readOnly":true,"maxLength":50,"example":"lst_0YVCXVQH84DEF93D8VBTJQ9TGK"},"version":{"description":"Version of the list.","type":"integer","readOnly":true,"minimum":1},"description":{"description":"Description of the list.","type":"string"},"values":{"description":"Values in the list.","type":"array","items":{"type":"string"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Organization":{"type":"object","required":["name","country"],"properties":{"id":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","readOnly":true,"maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8","x-sortable":true},"name":{"description":"Name of the organization.","type":"string","maxLength":60,"x-sortable":true},"website":{"description":"Website URL of the organization.\nThis value must begin with `https://` or `http://`.","type":"string","maxLength":65,"writeOnly":true,"format":"uri","example":"https://example.com"},"address":{"description":"Street address of the organization.","type":["string","null"],"maxLength":60,"x-sortable":true},"address2":{"description":"Second line of the street address.","type":["string","null"],"maxLength":60,"x-sortable":true},"city":{"description":"City where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"region":{"description":"Region or state where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"country":{"description":"Country where the organization is located, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","x-sortable":true},"postalCode":{"description":"Postal code of the organization.","type":"string","maxLength":10,"x-sortable":true},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"taxDescriptor":{"description":"Tax label of the organization.\nThis information is displayed on the invoice.","type":["string","null"],"maxLength":255},"invoiceTimeZone":{"description":"Specifies the time zone to display on an invoice.\nUTC is used by default.","type":"string","maxLength":50,"example":"America/New_York"},"reportCurrency":{"description":"Currency to use for conversion in reports.\nThis value cannot be changed.","$ref":"#/components/schemas/CurrencyCode"},"questionnaire":{"type":["object","null"],"description":"Organization questionnaire.","properties":{"role":{"type":["string","null"],"description":"Role of the owner."},"monthlyTransactions":{"type":["string","null"],"description":"Amount of monthly processed transactions."},"products":{"type":["array","null"],"description":"List of products the organization is interested in.","items":{"type":"string"}},"integrationType":{"type":["string","null"],"description":"Type of integration the organization would like."},"launchTiming":{"type":["string","null"],"description":"When the organization would like to go live."}}},"settings":{"type":"object","description":"Organization settings.","properties":{"defaultTaxCalculator":{"type":"object","description":"Tax calculation settings.","required":["type"],"properties":{"type":{"type":"string","description":"Type of tax calculator.","enum":["taxjar","avalara","flat"]},"rate":{"type":["number","null"],"format":"float","description":"Rate for flat tax calculation."}}},"billing":{"description":"Global organization settings for billing.","type":["object","null"],"properties":{"pendingOrderTtl":{"description":"Length of time, in ISO-8601 durations format, before which a pending order is automatically abandoned.","type":["string","null"],"example":"P7D","default":null},"orderDelinquencyPeriod":{"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n> **Important:**\nIf the `delinquencyPeriod` value is `null`,\nthe order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.","type":["string","null"],"example":"P7D","default":null},"subtractRecurringDiscountsFromMrr":{"description":"Specifies whether recurring discounts with a specified end date or usage limit are subtracted from order MRR in metrics calculations.\nIf this value is `true`, recurring discounts are excluded from order MRR.\n\n> **Note:** Recurring discounts with no specified end date and usage limit are automatically subtracted from order MRR.","type":"boolean","default":false,"example":true},"subtractOneTimeDiscountsFromMrr":{"description":"Specifies whether one-time discounts are subtracted from order MRR in metrics calculation.\nIf this value is `true`, one-time discounts are excluded from order MRR.","type":"boolean","default":false,"example":true}}},"taxLocations":{"type":"array","description":"Additional organization addresses where a merchant may want to collect taxes using the `taxjar` tax calculator.\n\nAvailable only for US-based organizations.","items":{"type":"object","required":["country"],"properties":{"address":{"description":"Street address of the tax location.","type":["string","null"],"maxLength":60},"city":{"description":"City of the tax location.","type":["string","null"],"maxLength":45},"region":{"description":"Region or state of the tax location.","type":["string","null"],"maxLength":45},"country":{"description":"Country of the tax location, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$"},"postalCode":{"description":"Postal code of the tax location.","type":["string","null"],"maxLength":10}}}},"notifications":{"description":"Organization access-related notification settings.","type":"object","properties":{"notifyOnUserAccessChanges":{"description":"Specifies whether to send notifications when users are created or updated.","type":"boolean","default":false},"notifyOnApiKeyAccessChanges":{"description":"Specifies whether to send notifications when API keys are created or updated.","type":"boolean","default":false},"notificationEmailAddresses":{"description":"List of email addresses to send notifications to.","type":"array","items":{"type":"string","format":"email"},"default":[]}}},"security":{"type":"object","readOnly":true,"description":"Organization sign-in security settings.\nThis value is read-only on the [Create an organization](https://www.rebilly.com/catalog/all/organizations/postorganization) and [Update an organization](https://www.rebilly.com/catalog/all/organizations/patchorganization) operations.\nTo change these settings, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.\nTo retrieve how many users have multi-factor authentication (MFA) set up, use the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.","properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly app.","default":false}}},"annualComplianceScreening":{"description":"Settings for annual compliance screening of all active customers.\nWhen enabled, a compliance screening report is generated for every active customer\non the configured month and day each year.","type":"object","properties":{"enabled":{"description":"Specifies whether annual compliance screening is enabled for the organization.","type":"boolean","default":false},"monthDay":{"description":"Month and day when annual compliance screening runs, in `MM-DD` format.\nRequired when `enabled` is `true`.\nValid calendar date only. Leap day `02-29` is not allowed.","type":["string","null"],"pattern":"^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"02-15","default":null}}},"payoutRequestAllocationOrder":{"description":"Default order for auto-allocation of payout requests.\nWhen set, this value is used when a payout request batch does not specify its own allocation order.\nThe order defines which payment instruments are attempted first during auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["payment-card","alternative-payment-methods","selected-payment-instrument"]}}},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the organization.","items":{"$ref":"#/components/schemas/TaxNumber"}},"features":{"type":"array","description":"Organization features.","readOnly":true,"items":{"type":"object","properties":{"name":{"description":"Name of the feature.","type":"string"},"description":{"description":"Description of the feature.","type":"string"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"CountriesUnrestrictedMetadata":{"type":"object","title":"Unrestricted","required":["mode"],"properties":{"mode":{"type":"string","enum":["unknown","all"]},"values":{"description":"List of supported countries.","type":"array","uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}},"CountriesSubsetMetadata":{"type":"object","title":"Subset","required":["mode","values"],"properties":{"mode":{"type":"string","enum":["subset"]},"values":{"description":"List of supported countries.","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}},"CountriesMetadata":{"type":"object","description":"Countries metadata.","discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CountriesUnrestrictedMetadata","all":"#/components/schemas/CountriesUnrestrictedMetadata","subset":"#/components/schemas/CountriesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CountriesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CountriesSubsetMetadata"}]},"CurrenciesUnrestrictedMetadata":{"title":"Unrestricted","required":["mode"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["unknown","all"]},"values":{"description":"List of supported currencies.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}},"CurrenciesSubsetMetadata":{"title":"Subset","required":["mode","values"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["subset"]},"values":{"description":"List of supported currencies.","type":"array","minItems":1,"uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}},"PaymentMethodMetadata":{"type":"object","additionalProperties":false,"required":["apiName","name","summary","description","countries"],"properties":{"apiName":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"name":{"description":"Name of the payment method.","type":"string","pattern":"^[\\w\\. -]+$"},"landscapeLogo":{"description":"URL for the payment method logo optimized for landscape orientation.","type":["string","null"],"format":"uri"},"portraitLogo":{"description":"URL for the payment method logo optimized for portrait orientation.","type":["string","null"],"format":"uri"},"summary":{"description":"Short description of the payment method.\nThis field supports Markdown.","type":"string"},"description":{"description":"Detailed information about the payment method.\nThis field supports Markdown.","type":"string"},"countries":{"$ref":"#/components/schemas/CountriesMetadata"},"storefrontEnabled":{"type":"boolean","default":false},"isSingleUse":{"description":"Specifies that the payment method requires the customer to review\nand confirm payment options and terms specific to the purchase every time.\nThe merchant cannot assist the customer in adding this payment method during the checkout process.\nThe customer must complete the process independently.","type":"boolean","default":false},"supportedCurrencies":{"type":"object","description":"List of currencies that are supported by the payment method.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"relevantBusinessModels":{"description":"Business models that are relevant to the payment method.","type":"array","items":{"type":"string","enum":["B2B","B2C"]}},"type":{"description":"Type of payment method.\nFor example, wallet, bank transfer, credit card.","type":["string","null"]},"recurringPayments":{"description":"Specifies whether the payment method supports recurring payments.","type":"boolean","default":false},"refunds":{"description":"Specifies whether the payment method supports refunds.","type":"boolean","default":false},"disputes":{"description":"Specifies whether the payment method supports disputes.","type":"boolean","default":false},"ux":{"description":"List of steps that describes the user experience during the payment flow.","type":"array","items":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentGatewayMetadata":{"type":"object","additionalProperties":false,"required":["apiName","logo","paymentMethods","merchantCountries","currencies"],"properties":{"apiName":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"otherNames":{"description":"List of former names associated with the payment gateway.\nGateways may change their names or may also be known by other names.\nTracking this list may help customer support and developers.","type":"array","items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"description":"Alternative or former name of the payment gateway.","type":"string"},"description":{"description":"Short description about this name.","type":"string"},"logo":{"description":"URL for the logo used with this name.","type":"string","format":"uri"}}}},"logo":{"description":"URL for the logo of the gateway.","type":"string","format":"uri"},"summary":{"description":"Short description of the payment gateway.\nThis field supports Markdown.","type":["string","null"]},"homepage":{"description":"URL of the payment gateway home page.","type":["string","null"],"format":"uri"},"externalDocs":{"description":"List of links to the documentation of the payment gateway.\nFor example, online API guides provided by gateways or a link to the documents in Google Drive.","type":"array","items":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"URL of the target documentation.\nThis value must be in URL format.","type":"string","format":"uri"},"description":{"description":"Short description of the target documentation.","type":"string"}}}},"publishedPricing":{"description":"Pricing description for the payment gateway, if pricing is published.","type":["string","null"]},"setupInstructions":{"description":"Special gateway account set up instructions for merchants.\nFor example: After adding this gateway account,\nset the IPN to `//example.com/ipns/{gateway-name}/{organization-id}` by contacting your account rep.","type":["string","null"]},"paymentMethods":{"description":"Array of supported payment methods.\nFor example, `payment-card` and `bitcoin`.","type":"array","items":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"minLength":1},"cardBrands":{"description":"Array of supported card-brands.\nIf the payment gateway supports payment cards.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"merchantCountries":{"$ref":"#/components/schemas/CountriesMetadata"},"currencies":{"type":"object","description":"Currencies metadata.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"operations":{"description":"Array of operations that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["verify","auth","capture","sale","refund","query","credit","3DS1","3DS2","checkCredentials"]}},"supported3dsServers":{"description":"Array of supported 3DS-servers.","type":"array","items":{"type":"string"}},"supportedPaymentInstrumentSetupInstructions":{"description":"Array of set up instructions that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["do-nothing","authorize","authorize-and-void","sca"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount or currency of the request.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","authorize-and-void":"Creates an `authorize` transaction in the amount and currency of the request,\nfollowed by a `void`, if the `authorize` is approved.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}}},"reconciliationSupport":{"description":"Specifies whether transactions can be reconciled.","type":"boolean","default":false},"disputeSupport":{"description":"Specifies whether dispute data entry can be automated with an API or SFTP access.\nFor example, chargeback, retrieval, or TC-40 disputes.","type":"boolean","default":false},"offsite":{"description":"Specifies whether offsite interaction is required.\nFor example, 3DS, PayPal login, or completing something in a store.","type":"boolean","default":false},"ipn":{"type":["object","null"],"description":"Describes the Instant Payment Notification (IPN) that a payment gateway supports.\nIf this value is null, IPN is not supported.","required":["type"],"properties":{"type":{"description":"Type of supported Instant Payment Notification (IPN).\nIf this value is null, IPN is not supported.","type":"string","enum":["static","dynamic"]},"verificationMethod":{"description":"Method used to verify that the data in the IPN call can be trusted.","type":"string","enum":["query","signature"],"default":"query"}}},"recommendedWaitingApprovalTtl":{"description":"Recommended Time To Live (TTL) before abandoning the transaction.","type":"integer","default":3600,"minimum":299,"maximum":16777216},"credentials":{"type":"object","description":"List of credentials that are required to use the payment gateway.","additionalProperties":false,"properties":{"required":{"description":"List of required credentials.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PayoutRequestBlockReason":{"type":"string","description":"Reason for blocking the payout request.","enum":["fraud-suspected","kyc-verification-required","aml-review","account-verification","duplicate-request","insufficient-documentation","risk-review","other"]},"PayoutRequestSplitReason":{"type":"string","description":"Reason for splitting the payout request.","enum":["payment-instrument-limit","processor-limit","risk-review","compliance-review","partial-processing","operational-reconciliation","other"]},"PayoutRequestAllocation":{"type":"object","required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount","currency"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the resource.","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request associated with this allocation.","readOnly":true,"type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchId":{"description":"ID of the payout request batch that contains the payout request for this allocation.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument allocated to the payout request.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"paymentMethod":{"description":"Payment method of the allocation.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}],"readOnly":true},"gatewayAccountId":{"type":"string","description":"ID of the gateway account to use for processing this allocation.","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"type":"string","description":"Name of the gateway account to use for processing this allocation.","maxLength":50,"example":"TestProcessor"},"gatewayPayoutInstruction":{"description":"Payout configuration of the gateway account that processes this allocation.","readOnly":true,"type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway."},"example":"covered-payout"},"amount":{"description":"Amount allocated to this payment instrument.","type":"number","format":"double","x-type":"Money"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts,\nfor the customer, gateway account, and payment instrument, in the allocation currency.\nThe calculation includes only transactions created within the last 180 days.\nThe value is `0` when there are no transactions in the last 180 days,\nthe gateway account is inactive,\nor its `readyToPayoutInstruction` is `none`.","readOnly":true,"type":"number","format":"double","x-type":"Money","example":2},"currency":{"description":"Currency of the payout request allocation.","$ref":"#/components/schemas/CurrencyCode"},"status":{"description":"Status of this payout request allocation.","type":"string","enum":["pending","queued","processing","waiting-completion","completed","failed","canceled","declined"],"x-enumDescriptions":{"pending":"Allocation was created and is waiting to be processed.","queued":"Allocation is queued for processing.","processing":"Allocation is being processed and a transaction is being created.","waiting-completion":"Allocation transaction is processing asynchronously and has not yet reached a terminal state.","completed":"Allocation was successfully processed and the transaction was approved.","failed":"Allocation was not processed because of an error.","canceled":"Allocation was canceled before processing.","declined":"Allocation was declined by the gateway."}},"transactionId":{"description":"ID of the transaction that is created when processing this allocation, if applicable.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"txn_0YVB8KPKNXCBR9EDX7JHSED75N"},"transactionResult":{"description":"Result of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["abandoned","approved","canceled","declined","unknown",null]},"transactionStatus":{"description":"Status of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund",null]},"createdTime":{"description":"Date and time when the allocation for the payout request was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","gatewayAccount","payoutRequest","paymentInstrument"]}}}}}},"PayoutRequestCancellation":{"description":"Reason the payout request is canceled.","type":["object","null"],"readOnly":true,"properties":{"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","system"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255}}},"PayoutRequest":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"description":"ID of the customer who is requesting a payout.","$ref":"#/components/schemas/CustomerId"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the requested payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"splitFromPayoutRequestId":{"description":"ID of the payout request from which this request is split,\nor `null` if this request is not created by a split operation.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that this request is merged into,\nor `null` if it is not merged into another request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"currency":{"description":"Currency of the payout.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the payout.","type":"number","format":"double","x-type":"Money"},"availableAmount":{"description":"Available payout request amount that has not been allocated.","readOnly":true,"type":"number","format":"double","x-type":"Money"},"description":{"description":"Description of payout request.","type":["string","null"]},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["pending","ready","approved","in-progress","fulfilled","canceled","split","merged"],"x-enumDescriptions":{"pending":"Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization.\nWhen automatic readiness is enabled, the payout request transitions to the `ready` state after the pending period elapses and the configured [transition time](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinesstime) is reached.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used.","ready":"Request was created by the customer and is ready for review.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests.","approved":"Request was reviewed, approved, and is ready for processing.","in-progress":"Request has allocations and is being processed.","fulfilled":"Request is fully paid out.","canceled":"Request is canceled by merchant or customer.","split":"Request was split into two or more payout requests.","merged":"Request was merged into another payout request."}},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\n\nWhen blocked, the payout request cannot transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\nAllocation creation, allocation processing, and cancellation of pending allocations are also prevented.\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","readOnly":false,"example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"splitReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestSplitReason"},{"type":"null"}]},"batchId":{"description":"ID of the payout request batch that contains this request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchName":{"description":"Short name of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no name.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch name","example":"Weekly CAD payouts"},"batchDescription":{"description":"Description of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no description.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch description","example":"Batch processed on 2024-01-15"},"selectPaymentInstrumentUrl":{"readOnly":true,"type":"string","format":"uri","description":"URL for the customer to select a preferred payment instrument."},"allocations":{"type":"array","description":"List of payout request allocations for the payout request.","readOnly":true,"items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}},"selectedPaymentInstrumentRedirectUrl":{"description":"URL where the customer is redirected when a payment instrument is selected. The default value is the website URL.\nUse `{{id}}` as a placeholder for the payout request ID.","type":"string","format":"uri","maxLength":2083,"example":"https://example.com/payout-request-success"},"cancellationReason":{"$ref":"#/components/schemas/PayoutRequestCancellation"},"createdTime":{"description":"Date and time when the payout request is created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the payout request is updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","splitFrom","mergedInto","paymentInstrument"]}}}}}},"PayoutRequestTimelineMessage":{"type":"object","properties":{"id":{"type":"string","description":"ID of the message.","readOnly":true,"maxLength":50,"example":"tlm_0YVDMDE2BMC6KBB5MX76RF6T80"},"type":{"type":"string","description":"Type of timeline event.","readOnly":true,"enum":["timeline-comment-created","payout-request-created","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-allocated","payout-request-processing-started","payout-request-fulfilled","payout-request-canceled","payout-request-reversed","payout-request-blocked","payout-request-unblocked","payout-request-added-to-batch","payout-request-removed-from-batch"]},"occurredTime":{"description":"Date and time when the timeline event occurred.","$ref":"#/components/schemas/ServerTimestamp"},"triggeredBy":{"type":"string","description":"Who or what triggered this event.","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"type":"string","description":"Human-readable message describing the timeline event."},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"}},"required":["id","type","occurredTime","triggeredBy","message","extraData"]},"BadRequest":{"allOf":[{"title":"Bad request"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":400},"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}},{"$ref":"#/components/schemas/BaseProblem"}]},"PayoutRequestBatch":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"ID of the batch.","maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"userId":{"type":"string","readOnly":true,"description":"ID of the user who created the batch.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"user":{"description":"Creator of the batch.","readOnly":true,"type":"object","required":["id","name"],"properties":{"id":{"description":"User ID of the creator.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"name":{"description":"First and last name of the creator.","type":"string","example":"John Doe"}}},"totalCount":{"description":"Total number of payout requests in the batch.","type":"integer","readOnly":true,"minimum":0,"example":10},"customerCount":{"description":"Number of unique customers in the batch.","type":"integer","readOnly":true,"minimum":0,"example":3},"totalAmountByCurrency":{"description":"Total payout amount grouped by currency in the batch.","type":"array","readOnly":true,"items":{"type":"object","additionalProperties":false,"required":["currency","amount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number"}}}},"name":{"description":"Name that is used to identify the batch.\nThis value is `null` if the batch has no name.","type":["string","null"],"maxLength":255,"example":"Weekly CAD payouts"},"description":{"description":"Optional description of the batch.","type":["string","null"],"maxLength":255,"example":"Batch processed on 2024-01-15"},"allocationOrder":{"description":"Order for auto-allocation of payout requests in this batch.\nWhen set, this field overrides the organization-level allocation order during batch auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["paypal","Interac-eTransfer","payment-card","alternative-payment-methods","selected-payment-instrument"]},"createdTime":{"description":"Date and time when the batch was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the batch was last updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","payoutRequests"]}}}}}},"OrderPreview":{"type":"object","required":["websiteId","items"],"properties":{"websiteId":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"items":{"description":"Items details.","type":"array","writeOnly":true,"minItems":1,"items":{"type":"object","required":["quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.\nEither this field or the `plan` object must be provided.\nUse `plan.id` instead.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X","deprecated":true},"plan":{"description":"Details of the plan.\nEither this object or the deprecated `planId` field must be provided.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000}},"oneOf":[{"required":["plan"],"properties":{"planId":{"not":{}}}},{"required":["planId"],"properties":{"plan":{"not":{}}}},{"required":["plan","planId"]}]}},"billingAddress":{"description":"Billing address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"couponIds":{"type":"array","writeOnly":true,"description":"List of coupons that are applied to the order.","items":{"type":"string"}},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"lineItems":{"type":"array","description":"List of purchase items.","readOnly":true,"items":{"type":"object","properties":{"type":{"description":"Type of transaction.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the purchase item.","type":"string"},"unitPrice":{"description":"Unit price of the purchase item.","type":"number","format":"double","example":49.95},"quantity":{"description":"Total quantity of the purchase item.","type":"number","format":"integer"},"price":{"description":"Total cost of the purchase item.","type":"number","format":"double"},"planId":{"type":"string","description":"ID of the related plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}},"shippingRates":{"type":"array","description":"Available shipping rates.","readOnly":true,"items":{"$ref":"#/components/schemas/ShippingOption"}},"taxes":{"type":"array","description":"Taxes applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"amount":{"description":"Amount of tax that is due.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."}}}},"discounts":{"type":"array","description":"Discounts applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"couponId":{"type":"string","description":"ID of a coupon that is associated with the purchase.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"amount":{"description":"Total amount of discount from the coupon.","type":"number","format":"double"},"description":{"description":"Description of the discount.","type":"string"}}}},"subtotalAmount":{"description":"Subtotal amount of the purchase.","type":"number","format":"double","readOnly":true},"taxAmount":{"description":"Tax amount of the purchase.","type":"number","format":"double","readOnly":true},"shippingAmount":{"description":"Shipping amount of the purchase.","type":"number","format":"double","readOnly":true},"discountsAmount":{"description":"Total discount amount of the purchase.","type":"number","format":"double","readOnly":true},"total":{"description":"Total amount of the purchase.","type":"number","format":"double","readOnly":true},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.\nThis displays the amount the customer pays initially.","readOnly":true,"properties":{"amount":{"description":"Total amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the order does not have recurring items, the value of this field is `null`.","readOnly":true,"properties":{"amount":{"description":"Total amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"}}},"shipping":{"writeOnly":true,"$ref":"#/components/schemas/Shipping"}}},"GlobalEventType":{"type":"string","description":"Type of event.","enum":["aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","autodeposit-lookup-performed","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-tax-number-validated","customer-updated","data-export-completed","data-export-failed","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-archived","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled","lead-source-changed","offsite-payment-completed","order-abandon-reminder","order-abandoned","order-completed","order-delinquency-reached","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","payout-request-canceled","payout-request-changed","payout-request-created","payout-request-fulfilled","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-timeout-resolved","transaction-voided","trial-usage-limit-reached","waiting-gateway-transaction-completed"]},"GlobalWebhook":{"type":"object","required":["method","url","credentialHash"],"properties":{"id":{"type":"string","description":"ID of the webhook.","readOnly":true,"maxLength":50,"example":"hook_0YVBG8S0K0DG59J6S3RMN9K452"},"eventsFilter":{"description":"Event types that trigger the webhook.\nIf empty, all event types trigger the webhook.","type":"array","default":[],"items":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]}},"status":{"x-basic":true,"type":"string","default":"active","enum":["active","inactive"]},"method":{"type":"string","x-basic":true,"enum":["GET","POST","PUT","PATCH","DELETE"]},"url":{"description":"URL that receives requests when a specified event occurs.","type":"string","format":"uri"},"headers":{"description":"Headers to include in the webhook request.","type":"array","items":{"type":"object","description":"Header to include in the webhook request.","properties":{"name":{"description":"Name of the header.","type":"string","pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","example":"Content-Type"},"status":{"description":"Status of the header.","type":"string","default":"active","enum":["active","inactive"]},"value":{"description":"Value of the header.\nTemplate placeholders are permitted.\nIf the value renders as an empty string, the header is not sent.","type":"string","example":"value1"}},"required":["name","value"]}},"credentialHash":{"type":"string","description":"Credential hash for authenticating requests to the URL."},"body":{"description":"Webhook request body.\nIf this value is `null`,\nthe default payload for the specified event is used.\nTemplate placeholders are permitted.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.\n\nFor more information,\nsee [Placeholders](https://www.rebilly.com/docs/automations/email-notifications/#placeholders).","type":["string","null"]},"filter":{"description":"Filter that determines whether to send the webhook.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"x-label":"Last update time","$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Profile":{"type":"object","properties":{"id":{"description":"ID of the user.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"email":{"description":"Email address of the user.","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":"User's business phone number.","readOnly":true,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","readOnly":true,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","type":"string","readOnly":true},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"status":{"description":"Status of the user account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","readOnly":true,"type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"hasPermissionsEmulation":{"type":"boolean","description":"Specifies if the current user session has permissions emulation enabled.","readOnly":true},"mfaRequiredByOrganization":{"type":"boolean","description":"Specifies if the user is in an organization in the current environment that requires multi-factor authentication (MFA).\nDeactivated organizations are not included.\nThe requirement is enforced on each request to an organization that requires MFA, regardless of this value.\nThis value is `false` for API key and service account sessions.","readOnly":true,"default":false},"displayName":{"type":"string","description":"User's full display name.","readOnly":true},"hash":{"type":"string","description":"Unique hash value that represents the user.","readOnly":true},"requiresCardOnFile":{"type":"boolean","description":"Specifies whether the current organization must have a payment card on file before it can transact in the live environment.","readOnly":true,"default":false},"hasCardOnFile":{"type":"boolean","description":"Specifies whether the current organization has an active payment card on file.","readOnly":true,"default":false},"billingManagementToken":{"type":["string","null"],"format":"password","description":"Session token used to manage the payment method on file for a Rebilly subscription.\nThis value is returned only to organization owners.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true},"pastDueInvoice":{"type":["object","null"],"description":"Details of the oldest past-due invoice for the Rebilly subscription associated with the current organization.\nThis value is returned to all organization members to support consistent enforcement of the billing gate.\nThe `token` is returned only to organization owners.","readOnly":true,"required":["invoiceId","websiteId","token"],"properties":{"invoiceId":{"type":"string","description":"ID of the past-due invoice.","maxLength":50,"readOnly":true},"websiteId":{"type":"string","description":"ID of the website for the invoice.","maxLength":50,"readOnly":true},"token":{"type":["string","null"],"format":"password","description":"JWT that is used to authorize payment of the invoice through the Rebilly Instruments JavaScript library.\nThis value is `null` for non-owners, who cannot pay the invoice.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Role":{"type":"object","required":["name","acl"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the role.","maxLength":50,"example":"role_0YVDN2J11HDMX9N8X7DCB4CMX2"},"name":{"type":"string","description":"Name of the user role.","minLength":1,"maxLength":50},"description":{"type":["string","null"],"description":"Description of the role.","maxLength":65535},"acl":{"$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"seniorIds":{"type":"array","description":"List of role IDs where this role is used.\nFor example, a role called `user` may be used in the `admin` and `manager` roles.","readOnly":true,"items":{"type":"string"}},"juniorIds":{"type":"array","description":"List of role IDs that are included in this role.\nFor example, a role called `admin` may include the `user` and `manager` roles.","items":{"type":"string"}},"usersCount":{"type":"integer","readOnly":true,"description":"Number of users assigned to this role."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","seniorRoles","juniorRoles"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"juniors":{"type":"array"}}}}},"SecuritySettings":{"type":"object","required":["requireMfa"],"properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly UI.","default":false},"mfaAdoption":{"type":["object","null"],"readOnly":true,"description":"Number of users who have set up multi-factor authentication (MFA), excluding Rebilly staff.\nPending invitations are counted as users without MFA.\nThis value is `null` when this information is temporarily unavailable.","required":["enrolled","total","pending"],"properties":{"enrolled":{"type":"integer","description":"Number of active users who have multi-factor authentication (MFA) set up."},"total":{"type":"integer","description":"Number of active users and pending invitations."},"pending":{"type":"integer","description":"Number of pending invitations included in `total`.\nInvited users must set up multi-factor authentication (MFA) after they accept the invitation."}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SendThroughAttribution":{"type":"object","description":"Email notification sent through attribution.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"actionId":{"type":"string","format":"uuid","description":"Action ID of the email notification."},"versionId":{"type":"string","format":"uuid","description":"Version ID of the email notification."},"sent":{"type":"integer","minimum":0,"description":"Number of email notifications that have been sent."},"goal":{"type":"integer","minimum":0,"description":"Target number of email notifications to send."}}},"Status":{"type":"object","properties":{"status":{"description":"Status of the Rebilly API.\nIf the API is operational, this value is `ok`.","type":"string","readOnly":true,"enum":["ok"]},"time":{"description":"Current date and time.","$ref":"#/components/schemas/ServerTimestamp"},"release":{"description":"Current release version of the API.","type":"string"}}},"ApiTracking":{"type":"object","description":"API request tracking.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","description":"Response code of the HTTP request."},"url":{"type":"string","x-basic":true,"description":"URL of the HTTP request."},"route":{"type":"string","description":"API request route.","example":"/customers/{param}"},"method":{"type":"string","description":"HTTP method of the API request.","enum":["HEAD","GET","POST","PUT","DELETE","PATCH"],"x-basic":true},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"user":{"type":"object","description":"User who made the request.","readOnly":true,"properties":{"userId":{"type":"string","description":"ID of the user.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"apiKeyId":{"type":"string","description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"email":{"description":"Email address of the user.","type":"string","format":"email"},"firstName":{"description":"First name of the user.","type":"string"},"lastName":{"description":"Last name of the user.","type":"string"},"ipAddress":{"type":"string","deprecated":true,"description":"Client IP address.","format":"ipv4"},"userAgent":{"description":"Software that is acting on behalf of the user.","type":"string"},"fingerprint":{"description":"User's device fingerprint hash.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","type":"string"},"isSupport":{"description":"Specifies if the API request is completed by a Rebilly Support Team member.","type":"boolean"}}},"authenticationMethod":{"description":"Authentication method of the API request.\nThis value is `null` if the request is unauthenticated.","type":["string","null"],"readOnly":true,"enum":["secret-api-key","signature","jwt-user","jwt-customer","publishable-key","jwt-guest","jwt-application","jwt-service-account",null],"x-enumDescriptions":{"secret-api-key":"Secret API key.","signature":"Request signed with a secret API key in the `REB-AUTH` header.","jwt-user":"JSON Web Token (JWT) of a user.","jwt-customer":"JWT of a customer.","publishable-key":"Publishable API key.","jwt-guest":"JWT of a guest session.","jwt-application":"JWT of an application instance.","jwt-service-account":"JWT of a service account.","null":"Unauthenticated request."}},"ipAddress":{"type":"string","x-basic":true,"description":"Client IP address."},"relatedResourceIds":{"type":"array","description":"IDs of related resources.","readOnly":true,"items":{"type":"string"},"example":["in_0YVF9605RKC62BP14NE2R7V2XT","cus_0YV7DDSDD1C8DA64KHH2W33CPF"]},"duration":{"type":"integer","x-sortable":true,"x-basic":true,"description":"Request duration in milliseconds."},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"organization":{"type":"object"}}}}},"TaxTracking":{"type":"object","description":"Tax service tracking logs.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","x-sortable":true,"description":"Response code of the HTTP request."},"duration":{"type":"integer","x-sortable":true,"description":"Duration of the HTTP request in milliseconds."},"initiatedTime":{"description":"Date and time the HTTP request is initiated.","x-sortable":true,"$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","x-sortable":true,"description":"URL of the tax service endpoint."},"method":{"type":"string","x-sortable":true,"description":"Method of the HTTP request.","example":"POST"},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","x-sortable":true,"description":"ID of the resource associated with the tax service request."},"organizationId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"taxService":{"type":"string","x-sortable":true,"description":"Name of the tax service used for the request.","enum":["taxjar","avalara"]},"taxServiceCredentialSource":{"type":"string","x-sortable":true,"description":"Source of the credentials that are used to send or retrieve data.","enum":["default","merchant"]},"customerId":{"type":"string","description":"ID of the customer associated with the tax service request."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CreatedTimeNoSort":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Creation Time"},"UpdatedTimeNoSort":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"WebhookTracking":{"type":"object","description":"Webhook tracking log.\nThis log contains information about a webhook request and its response.","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the webhook tracking log.","maxLength":50,"example":"hook_log_01HXC7HJ1V2FNJD1R396WCG2HB"},"status":{"type":"integer","description":"Response code of the webhook request."},"duration":{"type":"integer","description":"Duration of the webhook request in milliseconds."},"initiatedTime":{"description":"Date and time when the webhook is initiated.","$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","description":"URL that receives the webhook."},"method":{"type":"string","description":"HTTP method for sending the webhook.","example":"POST"},"request":{"type":"string","description":"Payload of the webhook request."},"response":{"type":"string","description":"Response body from the webhook URL."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","description":"ID of the main entity related to the event type."},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"eventType":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]},"source":{"type":"string","description":"Source that triggered the webhook.","enum":["webhooks","rules"]},"attempt":{"type":"integer","description":"Number of attempts to send the webhook."},"sentTime":{"description":"Date and time when the webhook is sent.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTimeNoSort"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTimeNoSort"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"User":{"type":"object","required":["email","firstName","lastName"],"properties":{"id":{"type":"string","description":"ID of the user.","readOnly":true,"maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"email":{"description":"Email address of the user.","type":"string","format":"email","maxLength":80},"firstName":{"description":"User's first name.","type":"string","minLength":1,"maxLength":45},"lastName":{"description":"User's last name.","type":"string","minLength":1,"maxLength":45},"businessPhone":{"description":"User's business phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","$ref":"#/components/schemas/AclPermissions"},"computedPermissions":{"description":"All user permissions and roles.\nUse these permissions to emulate the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","readOnly":true,"type":"string"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"status":{"description":"Status of the user's account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"roleIds":{"type":"array","description":"Role IDs associated with the user.\nRole IDs specify the roles that the user performs within the organization.\nFor example, the user may be an organization admin.","items":{"type":"string"}},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"mfaEnabled":{"type":["boolean","null"],"readOnly":true,"description":"Specifies if the user has multi-factor authentication (MFA) set up.\nThis value is present only in responses from the [Retrieve a list of users](https://www.rebilly.com/catalog/all/users/getusercollection) operation\nfor an organization that has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings),\nand is omitted for Rebilly staff.\nThis value is `null` when this information is temporarily unavailable."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DashboardTile":{"type":"object","required":["metric"],"properties":{"metric":{"type":"string","description":"Metric displayed in the tile.\nPublicly supported values are defined in `DashboardMetric`.\nAdditional values are accepted."},"title":{"type":["string","null"],"description":"Custom tile title.","minLength":2,"maxLength":36},"description":{"type":["string","null"],"description":"Custom tile description.","minLength":2,"maxLength":48},"dateRange":{"type":["string","null"],"description":"Date range of the tile, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nWhen omitted, the dashboard `dateRange` is used.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`."},"columnsWidth":{"type":"integer","description":"Number of dashboard columns that the tile occupies.","minimum":1,"maximum":2,"default":1},"periodStart":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period starts.\nThe value is resolved from the tile `dateRange`.\nThis value is `null` when the tile does not define its own `dateRange`."},"periodEnd":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period ends.\nThe value is resolved from the tile `dateRange`. \nThis value is `null` when the tile does not define its own `dateRange`."}}},"DashboardTab":{"type":"object","required":["title","tiles"],"properties":{"title":{"type":"string","description":"Title of the dashboard tab.","minLength":2,"maxLength":12,"example":"KYC"},"tiles":{"type":"array","description":"List of tiles displayed on the dashboard tab.","maxItems":20,"items":{"$ref":"#/components/schemas/DashboardTile"}},"preset":{"type":["string","null"],"description":"Specifies which preset the tab is associated with.\nThe preset is independent of the tiles configured on the tab.","enum":["Payments","Billing","KYC"]}}},"ProfileDashboard":{"type":"object","required":["tabs"],"properties":{"dateRange":{"type":"string","description":"Date range of the dashboard, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nThis range applies to every tile that does not define its own `dateRange`.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`.","default":"NOW-P1M/NOW"},"periodStart":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period starts.\nThe value is resolved from `dateRange`."},"periodEnd":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period ends.\nThe value is resolved from `dateRange`."},"tabs":{"type":"array","description":"List of dashboard tabs.","maxItems":10,"items":{"$ref":"#/components/schemas/DashboardTab"}}}},"DashboardMetric":{"type":"string","description":"Type of dashboard metric.","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","monthlyRecurringRevenue","annualRecurringRevenue","averageRevenuePerCustomer","customerLifetimeValue","addressProofAcceptanceRate","identityProofAcceptanceRate","fundsProofAcceptanceRate","purchaseProofAcceptanceRate","creditFileProofAcceptanceRate","kycAcceptanceRate","kycReviewTime","kycRejectionRate","kycAccuracyRate","addressProofAccuracyRate","identityProofAccuracyRate","creditFileProofAccuracyRate","kycRequestCount","kycRequestAbandonmentRate","kycRequestAttemptedRate","kycRequestFailureRate","kycRequestFulfillmentRate","kycRequestExpirationRate"]},"DashboardTileReport":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"value":{"type":["number","null"],"format":"double","description":"Tile value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Tile value for the previous date range.\nThis value is relative to the specified date range."},"timeseries":{"description":"Time series of tile values across the specified date range.","type":"array","maxItems":100,"items":{"type":"object","description":"Chart data point.","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of the entry."},"value":{"type":["number","null"],"description":"Value of the entry."}}}}}},"DataExportArguments":{"type":"object","description":"Export request arguments used to filter and sort the result set.\nFor more information, see [Arguments](/docs/dev-docs/export-configuration/#arguments).","properties":{"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"sort":{"type":"string","description":"Sorts and orders the collection of items.\nTo sort in descending order, prefix with `-`."},"q":{"type":"string","description":"Use this field to perform a partial search of text fields."}}},"DataExportRecurring":{"description":"Recurring export schedule.","type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","description":"Schedule instruction in [Recurrence Rule RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) format."},"start":{"type":"string","format":"date-time","description":"Date and time when the first scheduled recurring export occurs.\nThe default value is now."}}},"DataExportFileId":{"type":["string","null"],"description":"ID of the data export file.\nIf the export contains more than 1,000,000 records,\nthe file is a ZIP archive.\nThe archive contains numbered part files,\nsuch as `example-part1.csv` and `example-part2.csv`,\neach with a maximum of 1,000,000 records.\nEach part file can be processed independently:\n\n- `csv` and `detailed-csv` part files repeat the header row.\n- `json` and `json-api` part files contain a complete array.\n- `xml` part files contain their own root element.\n\n`pdf` exports are always a ZIP archive that contains one PDF per record,\nand are never split into part files.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"DataExportFailureReason":{"description":"Reason the export failed, if the export status is `failed`.","readOnly":true,"type":["string","null"],"enum":["record-limit-exceeded","max-retries-reached",null],"x-enumDescriptions":{"record-limit-exceeded":"Export exceeded the maximum number of records allowed for a single export.","max-retries-reached":"Export failed after the maximum number of retry attempts."}},"DataExportDateRange":{"type":"object","description":"Date range of the data export.\nIf this value is not set, all data is included.\nFor more information, see [Date ranges](/docs/dev-docs/export-configuration/#date-ranges).","properties":{"start":{"type":"string","description":"Start date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"yesterday"},"end":{"type":"string","description":"End date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"today"},"field":{"type":"string","description":"Field to which the date range is applied."}},"required":["start","end"]},"CustomersDataExport":{"type":"object","description":"Customer resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["customers"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"SubscriptionsDataExport":{"type":"object","description":"Order resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["subscriptions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"TransactionsDataExport":{"type":"object","description":"Transaction resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["transactions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"processedTime","example":"processedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"InvoicesDataExport":{"type":"object","description":"Invoice resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoices"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","pdf","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"InvoiceItemsDataExport":{"type":"object","description":"Invoice item resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoiceItems"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"AmlChecksDataExport":{"type":"object","description":"AML checks resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["amlChecks"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"DisputesDataExport":{"type":"object","description":"Dispute resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["disputes"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"JournalRecordsDataExport":{"type":"object","description":"Journal record resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["journalRecords"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"PayoutRequestsDataExport":{"type":"object","description":"Payout requests resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequests"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"PayoutRequestAllocationsDataExport":{"type":"object","description":"Payout request allocations resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequestAllocations"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"UsersDataExport":{"type":"object","description":"Users resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["users"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"DataExport":{"type":"object","discriminator":{"propertyName":"resource","mapping":{"customers":"#/components/schemas/CustomersDataExport","subscriptions":"#/components/schemas/SubscriptionsDataExport","transactions":"#/components/schemas/TransactionsDataExport","invoices":"#/components/schemas/InvoicesDataExport","invoiceItems":"#/components/schemas/InvoiceItemsDataExport","amlChecks":"#/components/schemas/AmlChecksDataExport","disputes":"#/components/schemas/DisputesDataExport","journalRecords":"#/components/schemas/JournalRecordsDataExport","payoutRequests":"#/components/schemas/PayoutRequestsDataExport","payoutRequestAllocations":"#/components/schemas/PayoutRequestAllocationsDataExport","users":"#/components/schemas/UsersDataExport"}},"oneOf":[{"$ref":"#/components/schemas/CustomersDataExport"},{"$ref":"#/components/schemas/SubscriptionsDataExport"},{"$ref":"#/components/schemas/TransactionsDataExport"},{"$ref":"#/components/schemas/InvoicesDataExport"},{"$ref":"#/components/schemas/InvoiceItemsDataExport"},{"$ref":"#/components/schemas/AmlChecksDataExport"},{"$ref":"#/components/schemas/DisputesDataExport"},{"$ref":"#/components/schemas/JournalRecordsDataExport"},{"$ref":"#/components/schemas/PayoutRequestsDataExport"},{"$ref":"#/components/schemas/PayoutRequestAllocationsDataExport"},{"$ref":"#/components/schemas/UsersDataExport"}]},"DataExportLimitExceeded":{"allOf":[{"title":"Data export limit exceeded"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Machine-readable error code for this problem type, which consumers use to handle the failure programmatically.","enum":["data-export-limit-exceeded"]},"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/DetailedProblem"},{"type":"object","required":["matchedRecords","maxRecords"],"properties":{"matchedRecords":{"type":"integer","description":"Number of records that match the export request.","example":12500000},"maxRecords":{"type":"integer","description":"Maximum number of records for a single export.","example":10000000}}}]},"OrganizationExport":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","description":"Unique resource ID.","maxLength":50,"example":"org_exp_01HXC7MKK4GCS6WRRXY4X9CRMK"},"userId":{"description":"ID of the user who requested the organization data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"type":["string","null"],"description":"ID of the linked file object.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"status":{"description":"Status of organization data export request.","readOnly":true,"type":"string","enum":["pending","processing","completed","queued","failed","expired"]},"resources":{"description":"Organization data export resources array.","readOnly":true,"type":"array","items":{"type":"object","properties":{"type":{"description":"Exported resource.","readOnly":true,"type":"string","enum":["customers","users","payment-instruments","invoices","orders","transactions","disputes","gateway-accounts","blocklists","lists","webhooks","products","websites","plans","credit-memos","files","email-notifications"],"x-enumDescriptions":{"customers":"All customers of the organization.","users":"All users of the organization.","payment-instruments":"All payment instruments of the organization.","invoices":"All invoices of the organization.","orders":"All orders of the organization.","transactions":"All transactions of the organization.","disputes":"All disputes of the organization.","gateway-accounts":"All gateway accounts of the organization.","blocklists":"All blocklists of the organization.","lists":"All lists of the organization.","webhooks":"All webhooks of the organization.","products":"All products of the organization.","websites":"All websites of the organization.","plans":"All plans of the organization.","credit-memos":"All credit-memos of the organization.","files":"All files of the organization.","email-notifications":"All email-notifications of the organization."}},"recordCount":{"description":"Number of exported resources.","readOnly":true,"type":"integer"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"retentionTime":{"description":"Date and time when retention ends.\nAfter this date, files are removed.","readOnly":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","signedLink"]}}}}}},"HistogramData":{"title":"Histogram data","type":"object","properties":{"data":{"description":"Histogram data.","type":"array","items":{"type":"object","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of data entry."},"value":{"type":"number","description":"Data entry value."}}}}}},"ApiLogSummary":{"type":"object","properties":{"data":{"description":"API log summary data.","type":"array","items":{"type":"object","description":"Number of requests for each method.","readOnly":true,"properties":{"route":{"type":"string","description":"Route string pattern."},"total":{"type":"integer","description":"Total number of requests."},"get":{"type":"integer","description":"Total number of `GET` requests."},"post":{"type":"integer","description":"Total number of `POST` requests."},"put":{"type":"integer","description":"Total number of `PUT` requests."},"patch":{"type":"integer","description":"Total number of `PATCH` requests."},"delete":{"type":"integer","description":"Total number of `DELETE` requests."},"head":{"type":"integer","description":"Total number of `HEAD` requests."},"options":{"type":"integer","description":"Total number of `OPTIONS` requests."}}}}}},"ReportAmlChecks":{"type":"object","properties":{"total":{"description":"Total number of checks.","type":"integer"},"propagated":{"description":"Total number of propagated checks.","type":"integer"},"resulted":{"description":"Total number of resulted checks.","type":"integer"},"pending":{"description":"Total number of pending checks.","type":"integer"}}},"ReportAmlChecksInheritedSummary":{"type":"object","description":"Summary of inherited AML checks, grouped by provenance reason.","properties":{"totalInherited":{"description":"Number of AML checks in the period that have inherited status.","type":"integer"},"categories":{"description":"Categories of inherited checks, grouped by provenance reason.","type":"array","items":{"type":"object","properties":{"reason":{"description":"Provenance reason code for the inherited status.","type":"string"},"count":{"description":"Number of inherited checks for this reason code.","type":"integer"},"percentage":{"description":"Percentage of inherited checks for this reason code, calculated as a proportion of `totalInherited`.","type":"number","format":"float"}},"required":["reason","count","percentage"]}}},"required":["totalInherited","categories"]},"ReportAmlAuditReport":{"type":"object","description":"AML audit report for a person.","properties":{"personId":{"type":"string","description":"ID of the person associated with the report.","maxLength":50},"status":{"type":["string","null"],"description":"Person-level AML screening status for the selected period.","enum":["clear","confirmed-match","pending-review"]},"linkedCustomers":{"type":"array","description":"Customers linked to the person.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"}},"required":["id","websiteId"]}},"summary":{"type":"object","description":"Screening summary metrics for the selected period.","properties":{"totalChecks":{"type":"integer","description":"Total number of AML checks in the selected period."},"hitCount":{"type":"integer","description":"Number of AML hits across all checks in the selected period."},"lastCheckTime":{"type":["string","null"],"format":"date-time","description":"Date and time of the most recent AML check in the selected period."}},"required":["totalChecks","hitCount","lastCheckTime"]},"screeningHistory":{"type":"array","description":"AML screening history for the selected period.","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the AML check.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"hitSources":{"type":["string","null"],"description":"Comma-separated list of AML Hit sources for the AML check.\n\nThe value is `null` if the AML Check did not find any hits."},"result":{"type":"string","description":"Screening result for the AML check.","enum":["clear","confirmed-match","pending-review"]},"reviewer":{"type":["string","null"],"description":"Name of the reviewer, `bot` for checks that run automatically, or `null` when the check hasn't been reviewed yet."}},"required":["id","createdTime","updatedTime","customerId","source","hitSources","result","reviewer"]}},"transactions":{"type":"array","description":"Transactions for customers linked to the person in the selected period.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"amount":{"type":"number","description":"Transaction amount converted to the report currency of the organization."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["approved","canceled","declined","unknown"]}},"required":["id","customerId","createdTime","updatedTime","amount","currency","type","status","result"]}},"periodStart":{"type":"string","format":"date-time","description":"Start date time of the report period."},"periodEnd":{"type":"string","format":"date-time","description":"End date time of the report period."},"truncated":{"type":"boolean","description":"Indicates whether any list within the report is truncated due to too many results."}},"required":["personId","status","linkedCustomers","summary","screeningHistory","transactions","periodStart","periodEnd","truncated"]},"CumulativeSubscriptions":{"type":"object","properties":{"data":{"description":"Cumulative subscription data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format for monthly aggregation, or `YYYY-MM-DD` for 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":"Total number of cumulative subscriptions.\n\nThis field is calculated based on: the number of cumulative subscriptions from the previous aggregation period + `newCount` - `canceledCount`."}}}}}},"DashboardResponse":{"type":"array","items":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"humanName":{"type":"string","description":"Display name of the metric."},"increaseIsGood":{"type":"boolean","description":"Specifies whether a higher value is a positive result for the merchant."},"segments":{"type":"array","description":"Segment data.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the segment."},"value":{"type":["number","null"],"format":"double","description":"Segment value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Segment value for the previous date range.\nThis value is relative to the specified date range."},"humanValue":{"type":["string","null"],"description":"Human readable segment value.\nThis field is formatted with a currency sign."},"changeRatio":{"type":["number","null"],"format":"double","description":"Ratio of the current value for each previous value.\nA null value represents infinity."},"humanChangeRatio":{"type":["string","null"],"description":"Human readable change ratio.\nThis field is formatted percentage sign.\nA null value represents infinity."},"timeseries":{"description":"Time series.","type":"array","items":{"type":"object","description":"Chart data.","readOnly":true,"properties":{"date":{"type":"string","description":"Entry date-time."},"value":{"type":["number","null"],"description":"Entry value."}}}}}}}}}},"DccMarkup":{"type":"object","properties":{"data":{"description":"Aggregation 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.\nDate values are displayed as follows:\n\n  - Day: `YYYY-MM-DD`.\n  - 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 are not selected nor rejected."},"unknownSum":{"type":"number","format":"double","description":"Amount of offers in the aggregation which are not selected nor rejected."}}}}}},"ReportDeclinedTransactions":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"message":{"description":"Description or message related to the declined transactions report.","type":"string","example":"error"},"count":{"description":"Number of declined transactions.","type":"integer","example":500},"percentage":{"description":"Percentage of declined transactions.","type":"number","format":"double","example":25}}}}}},"ReportDeferredRevenue":{"type":"object","properties":{"asOfDate":{"type":"string","format":"date","description":"Date up to which revenue is recognized for the report.","example":"2024-03-31"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"booked":{"type":"number","description":"Total booked amount as of the report date.","example":127850},"recognized":{"type":"number","description":"Total recognized amount as of the report date.","example":89495},"liability":{"type":"number","description":"Total liability amount as of the report date.","example":38355},"months":{"type":"array","description":"Monthly breakdown data.","items":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2024-03"},"bookedAsOfMonth":{"type":"number","description":"Cumulative booked amount as of the month.","example":127850},"bookedInMonth":{"type":"number","description":"Amount booked in the specific month.","example":24750},"recognizeAsOfMonth":{"type":"number","description":"Cumulative recognized amount as of the month.","example":89495},"recognizeInMonth":{"type":"number","description":"Amount recognized in the specific month.","example":18650},"liabilityAsOfMonth":{"type":"number","description":"Liability amount as of the specific month.","example":38355}}}}}},"ReportDisputes":{"type":"object","properties":{"data":{"type":"array","description":"Disputes data.","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"countVisa":{"description":"Total number of disputed Visa transactions.","type":"integer"},"ratioCountVisa":{"description":"Ratio of the total number of disputed Visa transactions versus the total number of settled Visa transactions.","type":"number","format":"double"},"ratioAmountVisa":{"description":"Ratio of disputed Visa transaction amounts versus settled Visa transaction amounts.","type":"number","format":"double"},"countMastercard":{"description":"Total number of disputed Mastercard transactions.","type":"integer"},"ratioCountMastercard":{"description":"Ratio of the total number of disputed Mastercard transactions versus the total number of settled Mastercard transactions.","type":"number","format":"double"},"ratioAmountMastercard":{"description":"Ratio of disputed Mastercard transaction amounts versus settled Mastercard transaction amounts.","type":"number","format":"double"}}}}}},"ReportEventsTriggeredSummary":{"type":"object","properties":{"data":{"type":"array","description":"Event data.","items":{"type":"object","properties":{"eventName":{"description":"Name of the system event.","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":"Total number of times this event is triggered.","type":"integer"}}}}}},"ReportRulesMatchedSummary":{"type":"object","properties":{"data":{"description":"Matched rule data.","type":"array","items":{"type":"object","properties":{"rule":{"description":"Name of the matched rule.","type":"string"},"count":{"description":"Total number of times this rule is matched.","type":"integer"},"approvalRate":{"description":"Rate of transaction approval by rule.","type":"number","format":"double"}}}}}},"FutureRenewals":{"type":"object","properties":{"data":{"description":"Future renewals data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM` format."},"sum":{"type":"number","format":"double","description":"Total amount of future renewals in the user's reporting currency."},"plansCount":{"type":"array","description":"Plan within the aggregation.","items":{"type":"object","readOnly":true,"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"count":{"type":"integer","description":"Total number of future renewals of a plan."}}}}}}}}},"ReportJournal":{"type":"object","properties":{"aggregationField":{"type":"string","description":"Report data grouped by aggregation field.","enum":["product.accountingCode","product.id","plan.id"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"bookedFrom":{"type":["string","null"],"description":"Year and month when revenue is booked.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"bookedTo":{"type":["string","null"],"description":"Year and month when revenue is booked until.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"recognizedAt":{"type":"string","description":"Year and month when revenue is recognized.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"data":{"description":"Revenue data.","type":"array","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.","type":"string"},"bookedMonth":{"description":"Month when revenue is booked.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"bookedAmount":{"description":"Revenue amount which is booked for recognition.","type":"number","format":"double","example":25},"recognizedAmount":{"description":"Amount of recognized revenue.","type":"number","format":"double","example":20},"remainingAmount":{"description":"Remaining revenue amount to be recognized.","type":"number","format":"double","example":5}}}}}},"JournalSummaryReport":{"type":"object","properties":{"aggregationField":{"description":"Journal account by which the report amounts are aggregated.","type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]},"amountField":{"description":"Journal record amount field which is used to calculate the report amounts.","type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"periodStart":{"description":"Year and month from which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"periodEnd":{"description":"Year and month up to which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-09"},"journalAccountIds":{"description":"Comma-separated list of journal account IDs which are provided to filter the report.\nA `null` value means that no value is provided and all journal accounts are included.","type":["string","null"],"example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"},"data":{"description":"Journal summary report data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Journal period month and year.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"totalAmount":{"description":"Total summary of journal records amount for the period.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"breakdown":{"description":"Breakdown of journal records by journal account.","type":"array","items":{"type":"object","properties":{"journalAccountId":{"description":"ID of the journal account.","type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J"},"recognizedAmount":{"description":"Amount of revenue recognized for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.recognizedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"estimatedAmount":{"description":"Amount of revenue estimated for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.estimatedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}}}},"ReportKycRejections":{"type":"object","properties":{"data":{"description":"Rejection data.","type":"array","items":{"type":"object","properties":{"documentType":{"$ref":"#/components/schemas/KycDocumentTypes"},"rejectionReasons":{"type":"array","description":"Rejection reasons.","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Total number of related KYC documents."}}}}}}}}},"KycDocumentRequestStatuses":{"description":"Reason the document is rejected.","type":"string","enum":["abandoned","expired","failed","fulfilled","pending-review"]},"ReportKycRequests":{"type":"object","properties":{"data":{"description":"Request data.","type":"array","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRequestStatuses"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Number of related KYC requests."}}}}}},"ReportMonthlyRecurringRevenue":{"type":"object","properties":{"data":{"description":"Monthly Recurring Revenue (MRR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Monthly Recurring Revenue (MRR) amount.","type":"number","format":"double","example":245},"breakdown":{"description":"MRR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total MRR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew MRR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new MRR amount of $40.","type":"number","format":"double","example":40},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation MRR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation MRR amount of $25.","type":"number","format":"double","example":25},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned MRR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned MRR amount of $80.","type":"number","format":"double","example":80},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller MRR.\nContraction MRR is the amount before the change minus the amount and after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction MRR amount of $20.","type":"number","format":"double","example":20},"expansion":{"description":"Occurs when existing customers change items which result in a bigger MRR.\nExpansion MRR is the amount after the change minus the amount and before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion MRR amount of $60.","type":"number","format":"double","example":60}}}}}}}},"ReportAnnualRecurringRevenue":{"type":"object","properties":{"data":{"description":"Annual Recurring Revenue (ARR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Annual Recurring Revenue (ARR) amount.","type":"number","format":"double","example":300},"breakdown":{"description":"ARR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total ARR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew ARR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new ARR amount of $480 ($40 multiplied by 12 months).","type":"number","format":"double","example":480},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation ARR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation ARR amount of $300 ($25 multiplied by 12 months).","type":"number","format":"double","example":300},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned ARR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned ARR amount of $960 ($80 multiplied by 12 months).","type":"number","format":"double","example":960},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller ARR.\nContraction ARR is the amount before the change minus the amount after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction ARR amount of $240 ($20 multiplied by 12 months).","type":"number","format":"double","example":240},"expansion":{"description":"Occurs when existing customers change items which result in a bigger ARR.\nExpansion ARR is the amount after the change minus the amount before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion ARR amount of $720 ($60 multiplied by 12 months).","type":"number","format":"double","example":720}}}}}}}},"RenewalSales":{"type":"object","properties":{"data":{"description":"Renewal sales data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format."},"newSales":{"type":"number","format":"double","description":"Total amount of new sales."},"newRefunds":{"type":"number","format":"double","description":"Total amount of new refunds."},"renewalSales":{"type":"number","format":"double","description":"Total amount of renewal sales."},"renewalRefunds":{"type":"number","format":"double","description":"Total amount of renewal refunds."}}}}}},"ReportRetentionPercentage":{"type":"object","properties":{"data":{"description":"Retention 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.\n\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`;\n- Month: `YYYY-MM`;\n- Quarter: `YYYY-MM`/`YYYY-MM`;\n- Year: `YYYY`."},"subscriptionsCount":{"type":"integer","description":"Number of subscriptions created within the aggregation."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\nPeriods are numbered as follows:\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionRatio":{"type":"number","format":"double","description":"Ratio percentage of active, non-canceled subscriptions in the retention period versus all subscriptions created in the aggregation period."},"canceledSubscriptionsCount":{"type":"integer","description":"Number of canceled subscriptions within the specified retention period."}}}}}}}}},"ReportRetentionValue":{"type":"object","properties":{"data":{"description":"Retention value 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.\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`.\n- Month: `YYYY-MM`.\n- Quarter: `YYYY-MM`/`YYYY-MM`.\n- Year: `YYYY`."},"customersCount":{"type":"integer","description":"Number of customers within the aggregation who make their first payment."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionAverage":{"type":"number","format":"double","description":"Summary amount of all transactions for all periods up to the current period divided by the aggregation customer number."},"transactionsCount":{"type":"integer","description":"Number of transactions that occurred within the retention period.\nFor example, in 3 rebills."},"transactionsValue":{"type":"number","format":"double","description":"Total value of transactions.\nThis value is calculated based on: `income transactions` minus `loss transactions`."}}}}}}}}},"ReportRevenueWaterfall":{"type":"array","items":{"type":"object","properties":{"issuedMonth":{"description":"Month when the revenue invoice is issued.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"booked":{"description":"Month when the revenue amount is booked.","type":"number","format":"double","example":25},"recognized":{"description":"Amount of recognized revenue amount up to, and including, the `recognizedTo` month.","type":"number","format":"double","example":20},"remaining":{"description":"Amount of revenue that remains to be recognized after the `recognizedTo` month.","type":"number","format":"double","example":5},"waterfall":{"type":"array","description":"Recognized revenue waterfall for each month.","items":{"type":"object","properties":{"recognizedMonth":{"description":"Month when revenue is recognized.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-04"},"amount":{"description":"Amount of revenue recognized at the `recognizedMonth`.","type":"number","format":"double"}}},"example":[{"recognizedMonth":"2022-02","amount":4.4},{"recognizedMonth":"2022-03","amount":8.33},{"recognizedMonth":"2022-04","amount":7.27}]}}}},"SubscriptionCancellationReport":{"type":"object","properties":{"data":{"description":"Subscription cancellation data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Aggregation value."},"count":{"type":"integer","description":"Total number 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":{"description":"Subscription renewal data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"planId":{"type":"string","description":"Plan ID for which subscriptions are counted.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"allRenewalCount":{"type":"integer","description":"Total number of renewed subscriptions."},"allDunningCount":{"type":"integer","description":"Total number of dunned subscriptions.\nDunning is the process of retrying unsuccessful payment transactions."},"abandonedCount":{"type":"integer","description":"Total number of abandoned subscriptions."},"paidRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal rate,\ndivide the value of this field by the `allRenewalCount` value."},"paidDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning success rate,\ndivide the value of this field by the `allDunningCount` value."},"refundedRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal refund rate,\ndivide the value of this field by the `allRenewalCount` value."},"refundedDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning refund rate,\ndivide the value of this field by the `allDunningCount` value."},"chargebackRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal chargeback rate,\ndivide the value of this field by the `allRenewalCount` value."},"chargebackDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning chargeback rate,\ndivide the value of this field by the `allDunningCount` value."}}}}}},"ReportTax":{"type":"object","properties":{"data":{"description":"Tax data.","type":"array","items":{"type":"object","properties":{"country":{"description":"Country to which the tax is owed, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","example":"US"},"state":{"description":"Postal abbreviated state name for the state to which the tax is owed.","type":"string","example":"TX"},"county":{"description":"Name of county to which the tax is owed.","type":"string","example":"TRAVIS"},"city":{"description":"Name of city to which the tax is owed.","type":"string","example":"AUSTIN"},"stateRate":{"description":"Percentage rate of state tax.","type":"number","format":"double"},"stateAmount":{"description":"Amount of state tax.","type":"number","format":"double"},"countyRate":{"description":"Percentage rate of county tax.","type":"number","format":"double"},"countyAmount":{"description":"Amount of county tax.","type":"number","format":"double"},"cityRate":{"description":"Percentage rate of city tax.","type":"number","format":"double"},"cityAmount":{"description":"Amount of city tax.","type":"number","format":"double"},"specialDistrictRate":{"description":"Percentage rate of special district tax.","type":"number","format":"double"},"specialDistrictAmount":{"description":"Amount of special district tax.","type":"number","format":"double"},"taxableSalesAmount":{"description":"Amount of taxable sales.","type":"number","format":"double"},"nontaxableSalesAmount":{"description":"Amount of nontaxable sales.","type":"number","format":"double"}}}}}},"TimeSeriesTransaction":{"type":"object","properties":{"data":{"description":"Time series data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM-DD` format."},"total":{"type":"number","format":"double","description":"Aggregated value for all transactions for the day, in the unit specified by the `type` parameter:\n  - `count`: Total number of transactions.\n  - `amount`: Total amount of approved transactions in the merchant reporting currency.\n  - `approval-rate`: Ratio of approved transactions to all transactions.\n  - `incomplete-rate`: Ratio of incomplete transactions to all transactions.\n\nThis value does not depend on the `subaggregate` parameter and is not the sum of the values in `subaggregates`.\nEach transaction is included once, even if the `subaggregate` field contains multiple values for the transaction.\nTransactions with no value for the `subaggregate` field are also included."},"subaggregates":{"type":"array","description":"Breakdown by the `subaggregate` field for the day.\nEach element contains one `subaggregate` value and its aggregated value.\nEach `subaggregate` value found in the report has an element,\nin the same order for each day.","items":{"type":"object","properties":{"subaggregate":{"type":"string","description":"One value of the `subaggregate` field, such as a website ID, a currency code, or a lead source."},"value":{"type":"number","format":"double","description":"Aggregated value for transactions that have this `subaggregate` value,\nin the same unit as `total`.\nThis value is `0` if no transactions have this `subaggregate` value."}}}}}}}}},"ReportDisputeDelays":{"type":"object","properties":{"data":{"description":"Dispute delay data.","type":"array","items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"25th":{"description":"Delay between dispute and transaction time at the 25th percentile.","type":"integer"},"50th":{"description":"Delay between dispute and transaction time at the 50th percentile.","type":"integer"},"75th":{"description":"Delay between dispute and transaction time at the 75th percentile.","type":"integer"}}}}}},"ReportTransactions":{"type":"object","properties":{"data":{"description":"Transaction data.","type":"array","readOnly":true,"items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.","type":"string"},"authApprovedThroughput":{"description":"Percentage of approved authentication transactions.","type":"number","format":"double"},"approvedThroughput":{"description":"Percentage of approved sale transactions.","type":"number","format":"double"},"authApprovalCount":{"description":"Total number of approved authentication transactions.","type":"integer"},"disputesRate":{"description":"Percentage of disputed sale and capture transactions.","type":"number","format":"double"},"disputesCount":{"description":"Total number of disputed sale and capture transactions.","type":"integer"},"salesCount":{"description":"Total number of sales.","type":"integer"},"salesValue":{"description":"Total sales value.","type":"number","format":"double"},"salesAverage":{"description":"Average sales value.","type":"number","format":"double"},"refundsCount":{"description":"Total number of refunds.","type":"integer"},"refundsValue":{"description":"Total value of refunds.","type":"number","format":"double"},"amount":{"description":"Amount of revenue.\nThis value is the result of `salesValue` minus `refundsValue`.","type":"number","format":"double"},"count":{"description":"Total number of transactions.","type":"number","format":"double"},"unapprovedCount":{"description":"Total number of unapproved transactions.","type":"number","format":"double"}}}}}},"RiskScoreBoolean":{"type":["object","null"],"required":["value"],"properties":{"value":{"type":"integer","description":"Value added to the risk score of the transaction."}}},"RiskScoreBracket":{"type":["object","null"],"required":["brackets"],"properties":{"brackets":{"description":"Risk factor values range with corresponding risk score increment value.\nThe first matched bracket is applied.","type":"array","minItems":1,"items":{"type":"object","required":["value"],"properties":{"start":{"description":"Minimal risk factor value when condition is applied.","type":["integer","null"],"minimum":0},"end":{"description":"Maximal risk factor value when condition is applied.","type":["integer","null"],"minimum":1},"value":{"type":"integer","description":"Value added to the risk score of the transaction."}},"oneOf":[{"required":["start"],"properties":{"end":{"not":{}}}},{"required":["end"],"properties":{"start":{"not":{}}}},{"required":["start","end"]}]}}}},"RiskScoreRules":{"type":"object","description":"Risk score rules.","required":["isProxy","isVpn","isTor","isHosting","hasMismatchedBillingAddressCountry","hasMismatchedBankCountry","hasMismatchedTimeZone","hasMismatchedHolderName","hasFakeName","isHighRiskCountry","paymentInstrumentVelocity","declinedPaymentInstrumentVelocity","deviceVelocity","ipVelocity","emailVelocity","billingAddressVelocity","isRebill","isRetry","customerLifetimeValue","browserAdBlockEnabled","paymentInstrumentApprovedTransactionCount","customerVelocity"],"properties":{"isProxy":{"description":"Specifies whether the customer's IP address is related to a proxy.","$ref":"#/components/schemas/RiskScoreBoolean"},"isVpn":{"description":"Specifies whether the customer's IP address is related to a VPN.","$ref":"#/components/schemas/RiskScoreBoolean"},"isTor":{"description":"Specifies whether the customer's IP address is related to TOR.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHosting":{"description":"Specifies whether the customer's IP address is related to hosting.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBillingAddressCountry":{"description":"Specifies whether the customer's billing address country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBankCountry":{"description":"Specifies whether the customer's bank country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedTimeZone":{"description":"Specifies whether the customer's browser time zone and the IP address associated time zone are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedHolderName":{"description":"Specifies whether the customer's billing address name and primary address name are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasFakeName":{"description":"Specifies whether the holder name seems fake.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHighRiskCountry":{"description":"Specifies whether the geo-IP country, or the customer's billing country, is considered a high risk country.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"isRebill":{"description":"Specifies whether the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","$ref":"#/components/schemas/RiskScoreBoolean"},"isRetry":{"description":"Specifies whether the transaction is a retry.","$ref":"#/components/schemas/RiskScoreBoolean"},"customerLifetimeValue":{"description":"Total revenue from the customer, in USD.","$ref":"#/components/schemas/RiskScoreBracket"},"browserAdBlockEnabled":{"description":"Specifies whether an ad blocker was detected.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","$ref":"#/components/schemas/RiskScoreBracket"},"customerVelocity":{"description":"Number of transactions for this customer in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"}}},"RiskScoreBlocklistPermanentRule":{"type":"object","description":"Rule that permanently blocklists items when TTL is equal to `0`.","required":["riskScoreThreshold"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1}}},"RiskScoreBlocklistPermanentRules":{"type":["object","null"],"description":"Items permanently blocklisted when TTL is equal to `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"paymentCard":{"description":"Payment card number being charged.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"}}},"RiskScoreBlocklistTemporaryRule":{"type":"object","description":"Items temporarily blocklisted when TTL is greater than `0`.","required":["riskScoreThreshold","ttl"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1},"ttl":{"type":"integer","description":"Amount of seconds a blocklist exists before it expires.\nThis value must be greater than 0.","minimum":1}}},"RiskScoreBlocklistTemporaryRules":{"type":["object","null"],"description":"Items temporarily blocklisted when TTL is greater than `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"paymentCard":{"description":"Payment card number for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"}}},"RiskScoreBlocklist":{"type":"object","description":"Risk score blocklist configuration.","properties":{"permanentlyBlockList":{"description":"Items permanently blocklisted when TTL is equal to `0`.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRules"},"temporaryBlockList":{"description":"Items temporarily blocklisted when TTL is greater than `0`.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRules"}}},"Allowlist":{"type":"object","description":"Risk score allowlist record.","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the allowlist record.","readOnly":true,"maxLength":50,"example":"rsal_01HXBY67D5CNWM2YK79PFZR4C2"},"type":{"type":"string","description":"Type of data to exclude from risk score checks.\nData types that are added to this field are excluded from risk score checks and are not added to blocklists.","enum":["address","bank-account","bin","country","customer-id","email","email-domain","fingerprint","ip-address","payment-card"]},"value":{"type":"string","description":"Value of the allowlist record."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"TagUntagRule":{"type":"object","description":"Tag or untag rule.","required":["name","eventType","addTags","removeTags"],"properties":{"id":{"type":"string","description":"ID of the rule.","readOnly":true,"maxLength":50,"example":"tag_rule_0YVCEE5APAD7V84MK3P9CCJVYY"},"name":{"description":"Name of the rule.","type":"string"},"eventType":{"allOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"not":{"enum":["application-instance-disabled","application-instance-enabled","balance-transaction-settled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-redirected-offsite","customer-returned","dispute-created","dispute-modified","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","invoice-created","invoice-modified","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-tax-calculation-failed","offsite-payment-completed","order-abandon-reminder","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","renewal-invoice-payment-canceled","risk-score-changed","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-renewal-reminder","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","transaction-process-requested","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","data-export-completed","data-export-failed","hard-usage-limit-reached","soft-usage-limit-reached","subscription-quantity-filled-limit-reached"]}}]},"filter":{"description":"Filter that determines whether to tag or untag.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://api-reference.rebilly.com/#section/Using-filter-with-collections).","type":["string","null"]},"addTags":{"description":"List of tags to add to the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"removeTags":{"description":"List of tags to remove for the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related resource links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}}},"Application":{"type":"object","description":"Application object.","required":["name","logoId","authorName","tagline","description","permissions"],"properties":{"id":{"type":"string","description":"Unique identifier of the application.","readOnly":true,"maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"name":{"description":"Name that is displayed for the application in the App Store.","type":"string"},"logoId":{"type":"string","description":"Unique identifier of the file that contains the application logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"authorName":{"description":"Name of the person or organization that created the application.","type":"string"},"authorLogoId":{"type":["string","null"],"description":"Unique identifier of the file that contains the logo of the author.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"tagline":{"description":"Short descriptive tagline that is displayed for the application in the App Store.","type":"string"},"description":{"description":"Detailed description of the application.\nThis field accepts markdown and simple text.","type":"string"},"status":{"description":"Current status of the application in the App Store.","readOnly":true,"type":"string","enum":["pending-approval","available","disabled"]},"permissions":{"description":"List of permissions that are available to the application.\nTo add permissions, contact [Rebilly Support](mailto:support@rebilly.com).","type":"array","items":{"type":"string","format":"operationId","enum":["DeleteApplicationInstance","GetApplicationInstanceConfiguration","GetCustomer","GetCustomerCollection","GetInvoice","GetInvoiceCollection","GetPlan","GetPlanCollection","GetProduct","GetProductCollection","GetSubscription","GetSubscriptionCollection","GetTransaction","GetTransactionCollection","GetWebhook","GetWebsite","GetWebsiteCollection","PostCoupon","PostCouponRedemption","PostGatewayAccountDowntimeSchedule","PostPayout","PostServiceCredential","PostWebhook","PostWebhookCredentialHash","PutApplicationInstanceConfiguration","PutCoupon"]},"example":["GetInvoice","GetInvoiceCollection","GetCustomer","GetCustomerCollection"]},"configurationUrl":{"description":"URL for configuring the application during installation.","type":["string","null"],"format":"uri"},"configuredBy":{"type":"string","description":"Specifies who can configure the application.","readOnly":true,"enum":["user","application"]},"properties":{"description":"Defines settings that users complete when they install the application.\nThis field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7.","type":"object","example":{"type":"object","properties":{"email":{"type":"string"},"max":{"type":"integer","minimum":0,"exclusiveMaximum":100}},"required":["email"]}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","applicationInstance","logoUrl","authorLogoUrl"]}}}}}},"ApplicationInstance":{"type":"object","description":"Application instance object.","properties":{"status":{"description":"Current status of the application instance.","readOnly":true,"type":"string","enum":["enabling","enabled","disabling","disabled"]},"isConfigured":{"description":"Specifies if the configuration of the application instance is complete.\nSome applications require additional configuration after installation before they can be used.\nConfiguration is completed using the Upsert an application instance configuration operation.","type":"boolean","readOnly":true},"settings":{"description":"Configuration settings submitted during installation.","type":"object","additionalProperties":{"type":"string","description":"Additional properties added by the user when the application is installed."},"example":{"color":"red","limit":"5"},"deprecated":true,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OwnerApplicationInstance":{"allOf":[{"$ref":"#/components/schemas/ApplicationInstance"},{"type":"object","properties":{"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"token":{"description":"Session token used to authenticate an organization.","type":"string","readOnly":true}}}]},"PayoutRequestChange":{"description":"Details specific to the payout request or allocation change that triggered the webhook.","type":"object","additionalProperties":false,"properties":{"previousStatus":{"description":"Resource status before the change.","type":"string"},"status":{"description":"Resource status after the change.","type":"string"},"blockReason":{"description":"Reason for blocking the payout request.","type":"string"},"blockDescription":{"description":"Additional information about the block.","type":["string","null"]},"splitReason":{"description":"Reason for splitting the payout request.","type":"string"},"splitDescription":{"description":"Additional information about the split.","type":["string","null"]},"canceledBy":{"description":"Party that canceled the payout request.","type":"string"},"description":{"description":"Additional information about the cancellation.","type":"string"},"amount":{"description":"Amount of the change in the resource currency.","type":"number","format":"double","x-type":"Money"},"remainingAllocationAmount":{"description":"Payout request amount that remains available for allocation.","type":"number","format":"double","x-type":"Money"},"totalFulfilled":{"description":"Total fulfilled amount in the payout request currency.","type":"number","format":"double","x-type":"Money"},"paymentInstrumentId":{"description":"ID of the payment instrument.","type":"string","maxLength":50},"allocationId":{"description":"ID of the payout request allocation.","type":"string","maxLength":50},"transactionId":{"description":"ID of the transaction, or `null` when no transaction is available.","type":["string","null"],"maxLength":50},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that received the merged amount.","type":"string","maxLength":50},"replayTransferId":{"description":"ID of the transfer that reserves the payout funds.\nThis value is `null` if no transfer exists.","type":["string","null"],"maxLength":50},"isAutoAllocation":{"description":"Specifies whether the allocation is created automatically.","type":"boolean"},"replacedByRemainder":{"description":"Specifies whether a replacement payout request contains the remaining amount.","type":"boolean"}}},"PayoutRequestChangedRequest":{"title":"Payout request change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request change that triggered the webhook.","type":"string","enum":["payout-request-created","payout-request-modified","payout-request-blocked","payout-request-unblocked","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-processing-started","payout-request-fulfilled","payout-request-payment-instrument-selected","payout-request-allocated","payout-request-split","payout-request-merged","payout-request-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["payoutRequest","customer"],"properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related payout request.","type":"string"},"rel":{"type":"string","const":"payoutRequest"}}}}}},"PayoutRequestChangedAllocation":{"title":"Payout request allocation change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","allocationId","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request allocation change that triggered the webhook.","type":"string","enum":["payout-request-allocation-created","payout-request-allocation-queued","payout-request-allocation-returned-to-pending","payout-request-allocation-processing-started","payout-request-allocation-waiting-completion","payout-request-allocation-completed","payout-request-allocation-declined","payout-request-allocation-failed","payout-request-allocation-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"allocationId":{"description":"ID of the changed payout request allocation.","type":"string","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["allocation","payoutRequest","customer"],"properties":{"allocation":{"$ref":"#/components/schemas/PayoutRequestAllocation"},"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related resource.","type":"string"},"rel":{"description":"Type of related resource.","type":"string","enum":["allocation","payoutRequest"]}}}}}},"PayoutRequestChangedWebhookPayload":{"type":"object","description":"Payout request or payout request allocation change details.","discriminator":{"propertyName":"changeType","mapping":{"payout-request-created":"#/components/schemas/PayoutRequestChangedRequest","payout-request-modified":"#/components/schemas/PayoutRequestChangedRequest","payout-request-blocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-unblocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-ready":"#/components/schemas/PayoutRequestChangedRequest","payout-request-returned-to-pending":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approved":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approval-undone":"#/components/schemas/PayoutRequestChangedRequest","payout-request-processing-started":"#/components/schemas/PayoutRequestChangedRequest","payout-request-fulfilled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-payment-instrument-selected":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocated":"#/components/schemas/PayoutRequestChangedRequest","payout-request-split":"#/components/schemas/PayoutRequestChangedRequest","payout-request-merged":"#/components/schemas/PayoutRequestChangedRequest","payout-request-canceled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocation-created":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-queued":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-returned-to-pending":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-processing-started":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-waiting-completion":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-completed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-declined":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-failed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-canceled":"#/components/schemas/PayoutRequestChangedAllocation"}},"oneOf":[{"$ref":"#/components/schemas/PayoutRequestChangedRequest"},{"$ref":"#/components/schemas/PayoutRequestChangedAllocation"}]},"CheckoutFormId":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"CheckoutFormFixedPlan":{"title":"Fixed quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `fixed`,\ncustomers cannot choose the plan quantity.\nIf this value is set to `variable`,\ncustomers can choose the plan quantity.","type":"string","enum":["fixed"]},"quantity":{"description":"Quantity of the plan.","type":"integer","minimum":1}}},"CheckoutFormVariablePlan":{"title":"Variable quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `variable`,\ncustomers can choose the plan quantity.\nIf this value is set to `fixed`,\ncustomers cannot choose the plan quantity.","type":"string","enum":["variable"]},"quantity":{"description":"Default plan quantity.","type":"integer"},"minimum":{"description":"Minimum plan quantity.","type":"integer","minimum":1,"default":1},"multipleOf":{"description":"Multiple by which the plan quantity increases.","type":"integer","minimum":1,"default":1},"maximum":{"description":"Maximum plan quantity.","type":"integer","minimum":1,"default":100}}},"CheckoutFormPlan":{"type":"object","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/CheckoutFormFixedPlan","variable":"#/components/schemas/CheckoutFormVariablePlan"}},"oneOf":[{"$ref":"#/components/schemas/CheckoutFormFixedPlan"},{"$ref":"#/components/schemas/CheckoutFormVariablePlan"}]},"CheckoutForm":{"type":"object","required":["name","websiteId","plans"],"properties":{"id":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customDomain":{"description":"Custom domain for the checkout form.","type":["string","null"],"maxLength":255},"plans":{"type":"array","description":"List of plans that are applied to a customer order by default.\nPlans describe how the customer must pay for products. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","minItems":1,"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"addonPlans":{"type":"array","description":"List of add-on plans that are displayed to the customer on the payment screen.\nAdd-ons are plans that the customer has not already subscribed to.\n\nThe customer selects whether to add an add-on plan to their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"bumpPlans":{"type":"array","description":"List of bump plans that are displayed to the customer on the payment screen.\nUse bump plans to offer purchase bonuses, discounts, and deals to the customer.\n\nThe customer selects whether to purchase bump plans,\nor to use the plans that are specified in their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"accountsEnabled":{"description":"Specifies if the account is enabled.\nIf this value is `true`, the customer can sign-up and sign-in using the checkout form.","type":"boolean","default":false},"couponsEnabled":{"description":"Specifies if coupons are enabled in the checkout form.\nIf this value is `true`, the customer can use coupons in the checkout form.\nUse coupons to reward customers, generate sales, or to test new pricing strategies.","type":"boolean","default":false},"purchaseLimit":{"description":"Limits the number of purchases that can be made using a specific checkout form.\nIf a purchase limit value is set, each purchase decreases this value.\nWhen the purchases limit value reaches zero, the checkout form becomes inactive.","type":["integer","null"],"minimum":0,"default":null},"paymentMethods":{"description":"List of available payment methods.\nPayment methods must have at least one active gateway account.\nIf not specified, all available payment methods are displayed.","type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"customization":{"description":"Visual customization options for the checkout form.","type":"object","properties":{"logoId":{"description":"ID of the linked file object.","type":["string","null"],"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"summary":{"description":"Summary text.","type":["string","null"]},"buttonText":{"description":"Button text.\nUse the `{{amount}}` placeholder to display the checkout form total.","type":"string","default":"Pay {{amount}}"},"colors":{"description":"Primary color used in the checkout form and button text.","type":"object","properties":{"primary":{"description":"Primary color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"buttonText":{"description":"Button text color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed on the checkout form.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}},"tracking":{"description":"Tracking system IDs.","type":"object","properties":{"googleAnalytics":{"description":"Google Analytics tracking ID.","type":["string","null"],"example":"UA-XXXXX-YY"},"googleTagManager":{"description":"Google Tag Manager tracking ID.","type":["string","null"],"example":"GTM-XXXXX"},"gtagJs":{"description":"Google Analytics tracking ID.\nThis value is used by Google Global Site Tag (gtag.js) service.","type":["string","null"],"example":"UA-XXXXX-YY"},"facebookPixel":{"description":"Facebook Pixel tracking ID.","type":["string","null"],"example":"1234567890"},"segmentAnalytics":{"description":"Segment Analytics tracking ID.","type":["string","null"],"example":"1234567890"},"heapIo":{"description":"Heap.io tracking ID.","type":["string","null"],"example":"1234567890"}}},"requiredAdditionalFields":{"description":"List of required fields.","type":"array","items":{"type":"string"},"example":["information.companyName","information.phoneNumber"]}}},"name":{"description":"Name of the checkout form.\nThis name value is for internal display, and is not visible to your customers.\nUse this name to locate and organize your checkout forms.","type":"string"},"status":{"description":"Status of the checkout form. If the `status` value is `inactive`,\nthe checkout form URL produces a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","preview"]}}}}}}},"responses":{"Unauthorized":{"description":"Unauthorized access.\nInvalid credentials used.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"Forbidden":{"description":"Access forbidden.\nIf the organization requires multi-factor authentication (MFA) and the session has not passed MFA, `error` is `mfa_required`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden"}}}},"NotFound":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}},"ValidationError":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"TooManyRequests":{"description":"Request rate limit exceeded.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"description":"Number of requests still available for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":0},"Rate-Limit-Retry-After":{"$ref":"#/components/headers/Rate-Limit-Retry-After"},"Retry-After":{"description":"Number of seconds to wait before retrying the request.","schema":{"type":"integer"},"example":1}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequests"}}}},"Conflict":{"description":"Conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conflict"}}}},"Customer":{"description":"Customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"Found":{"description":"Resource moved.","headers":{"Location":{"schema":{"type":"string","format":"uri"},"example":"https://api.rebilly.com/example"}}},"BadRequest":{"description":"Server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest"}}}},"DataExportValidationError":{"description":"Invalid data sent, or the export exceeds the maximum record limit.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/DataExportLimitExceeded"}]}}}},"NoContent":{"description":"Request accepted.\nNo response body returned."}},"requestBodies":{"Attachment":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}},"description":"Attachment resource.","required":true},"Blocklist":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}},"description":"Blocklist resource.","required":true},"Coupon":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}},"description":"Coupon resource.","required":true},"Customer":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}},"description":"Customer resource.","required":true},"Dispute":{"content":{"application/json":{"schema":{"type":"object","required":["currency","amount","transactionId","postedTime","type","status","reasonCode"],"properties":{"transactionId":{"description":"ID of the disputed transaction.","$ref":"#/components/schemas/TransactionId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"],"maxLength":255},"caseId":{"description":"Case ID of the dispute.","type":["string","null"],"maxLength":100},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":"string","maxLength":255,"enum":["0","00","1","2","3","4","5","6","7","8","9","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.6.1","12.6.2","12.7","13.1","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","30","31","34","35","37","40","41","42","46","47","49","50","51","53","54","55","56","57","59","60","62","63","70","71","72","73","74","75","76","77","78","79","80","81","82","83","85","86","93","98","004","021","024","059","062","063","127","154","155","158","173","175","176","193","680","684","691","693","1000","2001","2002","2003","2004","2005","2008","2011","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2713","2870","2871","4807","4808","4812","4831","4834","4837","4840","4841","4842","4846","4849","4850","4853","4854","4855","4859","4860","4863","4870","4871","4901","4902","4903","4904","4905","4908","4999","4534","4541","4542","4550","4553","4586","4752","4753","4755","4865","4866","4867","7010","7030","8002","A","A01","A02","A08","AL","AP","AW","B","C","C02","C04","C05","C08","C14","C18","C28","C31","C32","CA","CD","CR","D","DA","DP","DP1","EX","F10","F14","F22","F24","F29","F30","F31","FR1","FR2","FR4","FR6","IC","IN","IS","ITA","LP","M01","M10","M49","N","NA","NC","P","P01","P03","P04","P05","P07","P08","P22","P23","R03","R13","RG","RM","RN1","RN2","SV","TF","TNM","UA01","UA02","UA03","UA10","UA11","UA12","UA18","UA20","UA21","UA22","UA23","UA28","UA30","UA31","UA32","UA38","UA99","bank_cannot_process","credit_not_processed","customer_initiated","debit_not_authorized","duplicate","fraudulent","general","incorrect_account_details","insufficient_funds","merchandise","non_receipt","not_as_described","pre-chargeback-alert","product_not_received","product_unacceptable","special","subscription_canceled","unauthorized","unauthorized_claim","unrecognized","MERCHANDISE_OR_SERVICE_NOT_RECEIVED","MERCHANDISE_OR_SERVICE_NOT_AS_DESCRIBED","UNAUTHORISED","CREDIT_NOT_PROCESSED","DUPLICATE_TRANSACTION","INCORRECT_AMOUNT","PAYMENT_BY_OTHER_MEANS","CANCELED_RECURRING_BILLING","PROBLEM_WITH_REMITTANCE","OTHER"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"}}}}},"description":"Dispute resource.","required":true},"Invoice":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}},"description":"Invoice resource.","required":true},"PostPaymentInstrument":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstrumentCreateToken"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]}}},"description":"PaymentInstrument resource.","required":true},"PatchPaymentInstrument":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstrumentUpdateToken"},{"$ref":"#/components/schemas/PaymentCardUpdatePlain"},{"$ref":"#/components/schemas/BankAccountUpdatePlain"}]}}},"description":"PaymentInstrument resource.","required":true},"Product":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}},"description":"Product resource.","required":true},"Subscription":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"description":"Order resource.","required":true},"SubscriptionCancellation":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}},"description":"Cancellation resource.","required":true},"Tag":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}}},"description":"Tag resource.","required":true},"TransactionRequest":{"content":{"application/json":{"schema":{"required":["type","websiteId","customerId","currency","amount"],"type":"object","properties":{"upsertCustomer":{"type":"boolean","default":false,"writeOnly":true,"description":"Specifies whether to create or update (upsert) a customer.\nIf this value is `true`, the operation creates or updates (upserts) a customer.\nIf this value is `false`, the `customerId` already exists, and the related customer is not updated."},"type":{"description":"Type of transaction.\n\nThis field supports a limited subset of transaction types.\nTo refund or void, see [Refund a transaction](https://www.rebilly.com/catalog/all/transactions/posttransactionrefund).\n\nTo `capture`, use the `sale` type.\nIf any existing `authorize` transactions are eligible,\nthey are captured and the `sale` converts to a `capture` type.\n\nThe `setup` type sets up the payment instrument by following the `setupInstruction` in the selected gateway account.\nIf the instruction is to `do-nothing`, a transaction with result `approved` of type `setup` returns.","type":"string","enum":["sale","authorize","setup"]},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","example":97.97},"invoiceIds":{"description":"Array of invoice IDs.","type":["array","null"],"items":{"$ref":"#/components/schemas/ResourceId"}},"paymentInstruction":{"description":"Payment instruction for the purchase.\nIf this value is not supplied,\nthe customer's default payment instrument is used.","$ref":"#/components/schemas/PaymentInstruction"},"billingAddress":{"description":"Billing address.\nIf this value is not supplied,\nthe billing address associated with the payment instrument is used.\nIf no billing address is associated with the payment instrument,\nthe customer's billing address is used.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"requestId":{"description":"Use this field to prevent duplicate transaction requests that may occur within a short period of time.\nIf a duplicate request is sent with the same `requestId`,\nit is ignored to prevent double-billing.\nThis value must be unique within a 24-hour period.\n\n> **Important:** This field is recommended.","type":["string","null"],"maxLength":50,"pattern":"^[\\-\\w]+$","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"gatewayAccountId":{"description":"ID of the gateway account.\nRebilly selects the payment gateway account for the transaction based on transaction properties and the rules configuration of the `gateway-account-requested` event.\nTo prevent Rebilly from making the gateway account selection,\nsupply a gateway account ID in this field.\nOnly use this field if you intend to override the settings.","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"description":{"type":["string","null"],"description":"Payment description.","maxLength":255},"notificationUrl":{"description":"URL where a server-to-server `POST` notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"redirectUrl":{"type":["string","null"],"description":"URL to redirect the end-user when an offsite transaction is completed.\nDefaults to the configured URL of the website.\nYou may use `{id}` or `{result}` as placeholders in the URL,\nthese are replaced the with the transaction ID and result accordingly.","maxLength":2083,"format":"uri"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"isProcessedOutside":{"description":"Specifies when the transaction is processed outside Rebilly.","type":"boolean","default":false},"isMerchantInitiated":{"description":"Specifies when the transaction is initiated by the merchant.","type":"boolean","default":false},"processedTime":{"type":"string","description":"Time the transaction is processed.\nThis field is only specified if the transaction is processed outside Rebilly.","format":"date-time"}}}}},"description":"Transaction resource.","required":true},"PatchTransactionRequest":{"content":{"application/json":{"schema":{"type":"object","title":"Patch transaction request","properties":{"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"}}}}},"description":"Use the patch transaction request to modify custom fields.","required":true},"CreditTransactionRequest":{"content":{"application/json":{"schema":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","example":97.97},"invoiceIds":{"description":"Array of invoice IDs.","type":["array","null"],"items":{"$ref":"#/components/schemas/ResourceId"}},"paymentInstruction":{"description":"Payment instruction for the purchase.\nIf this value is not supplied,\nthe customer's default payment instrument is used.","$ref":"#/components/schemas/PaymentInstruction"},"billingAddress":{"description":"Billing address.\nIf this value is not supplied,\nthe billing address associated with the payment instrument is used.\nIf no billing address is associated with the payment instrument,\nthe customer's billing address is used.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"requestId":{"description":"Use this field to prevent duplicate transaction requests that may occur within a short period of time.\nIf a duplicate request is sent with the same `requestId`,\nit is ignored to prevent double-billing.\nThis value must be unique within a 24-hour period.\n\n> **Important:** This field is recommended.","type":["string","null"],"maxLength":50,"pattern":"^[\\-\\w]+$","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"gatewayAccountId":{"description":"ID of the gateway account.\nRebilly selects the payment gateway account for the transaction based on transaction properties and the rules configuration of the `gateway-account-requested` event.\nTo prevent Rebilly from making the gateway account selection,\nsupply a gateway account ID in this field.\nOnly use this field if you intend to override the settings.","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"description":{"type":["string","null"],"description":"Payment description.","maxLength":255},"notificationUrl":{"description":"URL where a server-to-server `POST` notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"redirectUrl":{"type":["string","null"],"description":"URL to redirect the end-user when an offsite transaction is completed.\nDefaults to the configured URL of the website.\nYou may use `{id}` or `{result}` as placeholders in the URL,\nthese are replaced the with the transaction ID and result accordingly.","maxLength":2083,"format":"uri"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"isProcessedOutside":{"description":"Specifies when the transaction is processed outside Rebilly.","type":"boolean","default":false},"isMerchantInitiated":{"description":"Specifies when the transaction is initiated by the merchant.","type":"boolean","default":false},"processedTime":{"type":"string","description":"Time the transaction is processed.\nThis field is only specified if the transaction is processed outside Rebilly.","format":"date-time"},"payoutRequestId":{"deprecated":true,"description":"ID of the payout request for which the transaction is fully allocated.\n\n> **Note:** Use the payout request allocation flow instead of this field.\nCreate an allocation with `POST /payout-request-allocations`.\nTo process a selected set, send `POST /payout-request-allocation-operations` with `type` set to `process`.\nTo process a batch, send `POST /payout-request-batch-operations` with `type` set to `process`.","writeOnly":true,"type":"string","maxLength":50}}}}},"description":"Transaction resource.","required":true},"ApiKey":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}},"description":"ApiKey resource.","required":true},"PostCredential":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PostSmtpCredential"},{"$ref":"#/components/schemas/PostWebhookCredential"},{"$ref":"#/components/schemas/PostExperianCredential"},{"$ref":"#/components/schemas/PostMailgunCredential"},{"$ref":"#/components/schemas/PostOAuth2Credential"},{"$ref":"#/components/schemas/PostPostmarkCredential"},{"$ref":"#/components/schemas/PostSendGridCredential"},{"$ref":"#/components/schemas/PostAwsSesCredential"},{"$ref":"#/components/schemas/PostTaxJarCredential"},{"$ref":"#/components/schemas/PostAvalaraCredential"},{"$ref":"#/components/schemas/PostPlaidCredential"}],"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/PostSmtpCredential","webhook":"#/components/schemas/PostWebhookCredential","experian":"#/components/schemas/PostExperianCredential","mailgun":"#/components/schemas/PostMailgunCredential","oauth2":"#/components/schemas/PostOAuth2Credential","postmark":"#/components/schemas/PostPostmarkCredential","sendgrid":"#/components/schemas/PostSendGridCredential","aws-ses":"#/components/schemas/PostAwsSesCredential","taxjar":"#/components/schemas/PostTaxJarCredential","avalara":"#/components/schemas/PostAvalaraCredential","plaid":"#/components/schemas/PostPlaidCredential"}}}}},"description":"Service credential resource.","required":true},"PatchCredential":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PatchServiceCredentialRequest"},{"$ref":"#/components/schemas/PatchPlaidCredentialRequest"},{"$ref":"#/components/schemas/PatchTaxJarCredentialRequest"}],"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/PatchServiceCredentialRequest","webhook":"#/components/schemas/PatchServiceCredentialRequest","mailgun":"#/components/schemas/PatchServiceCredentialRequest","sendgrid":"#/components/schemas/PatchServiceCredentialRequest","aws-ses":"#/components/schemas/PatchServiceCredentialRequest","oauth2":"#/components/schemas/PatchServiceCredentialRequest","postmark":"#/components/schemas/PatchServiceCredentialRequest","experian":"#/components/schemas/PatchServiceCredentialRequest","avalara":"#/components/schemas/PatchServiceCredentialRequest","plaid":"#/components/schemas/PatchPlaidCredentialRequest","taxjar":"#/components/schemas/PatchTaxJarCredentialRequest"}}}}},"description":"Service credential resource.","required":true},"RuleSet":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}},"description":"Ruleset 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},"PostOrganization":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Organization"},{"required":["name","website","country","reportCurrency"]}]}}},"description":"Create organization request."},"PatchOrganization":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Organization"},{"properties":{"website":{"readOnly":true},"reportCurrency":{"readOnly":true}}}]}}},"description":"Update Organization Request."},"PatchPayoutRequest":{"content":{"application/json":{"schema":{"type":"object","title":"Patch payout request","properties":{"status":{"description":"Status of the request.","type":"string","enum":["pending","ready","approved","canceled"],"x-enumDescriptions":{"pending":"Request was created by the customer.","ready":"Request was assessed, deemed eligible for processing and is ready for approval.","approved":"Request was approved and is ready for processing.","canceled":"Request is canceled. This status requires the `canceledBy` field."}},"canceledBy":{"description":"Initiator of the cancellation.\nRequired when `status` is `canceled`.","type":"string","enum":["customer","merchant","system"]},"cancellationDescription":{"description":"Description of the cancellation reason.","type":["string","null"],"minLength":1,"maxLength":255},"description":{"description":"Description of the payout request.","type":["string","null"]},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\nThis field can only be applied to payout requests in the following statuses:\n`pending`, `ready`, `approved`, or `in-progress`.\n\nWhen a payout request is blocked, it cannot:\n- Transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\n- Have allocations created.\n- Start allocation processing.\n- Cancel pending allocations.\n\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"blockDescription":{"description":"Additional description for blocking the payout request.","type":["string","null"],"maxLength":255}}}}},"description":"Fields for updating the payout request status, description, and blocked state."},"GlobalWebhook":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}},"description":"Webhook to create or update.","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},"ApplicationInstanceDisabled":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"applicationId":{"type":"string","description":"Unique application ID.","maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["application-instance-disabled"]},"_embedded":{"description":"Embedded objects related to the application instance event.","type":"object","properties":{"application":{"$ref":"#/components/schemas/Application"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["application"]}}}}}}}},"description":"Payload of application instance-related webhook event."},"ApplicationInstanceEnabled":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"applicationId":{"type":"string","description":"Unique application ID.","maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["application-instance-enabled"]},"_embedded":{"description":"Embedded objects related to the application instance event.","type":"object","properties":{"application":{"$ref":"#/components/schemas/Application"},"applicationInstance":{"$ref":"#/components/schemas/OwnerApplicationInstance"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["application","applicationInstance"]}}}}}}}},"description":"Payload of application instance-related webhook event."},"CustomerWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["aml-list-possibly-matched","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-updated"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer-related webhook event."},"BalanceTransactionSettled":{"content":{"application/json":{"schema":{"properties":{"recognitionId":{"description":"ID of the recognized revenue.","type":"string"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"itemId":{"description":"ID of the invoice item.","type":"string"},"amount":{"description":"Amount recognized.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-revenue-recognized"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice revenue recognition event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice revenue recognition-related webhook event."},"CouponRedemptionWebhook":{"content":{"application/json":{"schema":{"properties":{"couponId":{"description":"ID of the coupon.","type":"string"},"redemptionId":{"description":"ID of the redemption.","type":"string"},"customerId":{"description":"ID of the customer.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["coupon-application-removed","coupon-applied","coupon-redeemed","coupon-redemption-canceled"]},"_embedded":{"type":"object","description":"Embedded objects related to the coupon redemption event.","properties":{"coupon":{"$ref":"#/components/schemas/Coupon"},"redemption":{"$ref":"#/components/schemas/CouponRedemption"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["coupon","redemption","customer"]}}}}}}}},"description":"Payload of coupon redemption-related webhook event."},"CouponWebhook":{"content":{"application/json":{"schema":{"properties":{"couponId":{"description":"ID of the coupon.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the coupon event.","properties":{"coupon":{"$ref":"#/components/schemas/Coupon"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["coupon"]}}}}}}}},"description":"Payload of coupon-related webhook event."},"CreditMemoWebhook":{"content":{"application/json":{"schema":{"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided"]},"_embedded":{"type":"object","description":"Embedded objects related to the credit memo event.","properties":{"creditMemo":{"$ref":"#/components/schemas/CreditMemo"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["creditMemo"]}}}}}}}},"description":"Payload of credit memo-related webhook event."},"MergedCustomer":{"content":{"application/json":{"schema":{"properties":{"targetCustomerId":{"description":"ID of the customer that contains the merged data.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["customer-merged"]},"duplicatedCustomer":{"$ref":"#/components/schemas/Customer"},"_embedded":{"type":"object","description":"Embedded objects related to the customer merge event.","properties":{"targetCustomer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer merge-related webhook event."},"CustomerRedirect":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"redirectUrl":{"description":"URL customer redirected to.","type":"string","format":"uri"},"ipAddress":{"description":"Customer's IP address.","type":"string"},"httpHeaders":{"description":"Customer's browser HTTP headers.","type":"object","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["customer-redirected-offsite","customer-returned"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer redirect event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction"]}}}}}}}},"description":"Payload of customer redirect-related webhook event."},"CustomerTaxNumberValidated":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"taxIdNumber":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"taxIdType":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"]},"isValid":{"type":"boolean","description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation)."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["customer-tax-number-validated"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer tax number validation event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer tax number validation-related webhook event."},"DisputeWebhook":{"content":{"application/json":{"schema":{"properties":{"disputeId":{"type":"string","description":"ID of the dispute.","maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"transactionId":{"type":["string","null"],"description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["dispute-created","dispute-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the dispute event.","properties":{"dispute":{"$ref":"#/components/schemas/Dispute"},"transaction":{"oneOf":[{"$ref":"#/components/schemas/Transaction"},{"type":"null"}]}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["dispute","transaction"]}}}}}}}},"description":"Payload of dispute-related webhook event."},"ExperianCheckPerformed":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"outcome":{"description":"Check decision where `1` - record matches, `0` - no matches found, `-1` - record mismatches.","type":"integer","enum":[-1,0,1],"example":1},"reason":{"description":"Text representation of the outcome.","type":"string","example":"Individual has a 90 percent or greater match to forename surname premise postcode with ID verified and DOB"},"errorCode":{"description":"Error code produced by the Experian system.","type":"string","example":"001"},"errorMessage":{"description":"Error message produced by the Experian system.","type":"string","example":"Authentication Error: Bad Username or Password"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["experian-check-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the Experian check event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of Experian check-related webhook event."},"UsageLimitWebhook":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionItemId":{"type":"string","description":"ID of the subscription item.","example":"sub_01HW2V1Y3A6QPM1NX4WCYHFSRS"},"planId":{"type":"string","description":"ID of the plan.","example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"usageQuantity":{"type":"integer","description":"Reported usage quantity."},"usageAmount":{"type":"number","format":"double","description":"Billed usage amount."},"currency":{"type":"string","description":"Currency of the billed usage amount."},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["soft-usage-limit-reached","hard-usage-limit-reached","trial-usage-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the usage limit event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of usage limit-related webhook event."},"InvoiceTaxCalculationFailed":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"reason":{"description":"Error message explaining tax calculation failure.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-tax-calculation-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice tax calculation event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice tax calculation-related webhook event."},"GatewayAccountWebhook":{"content":{"application/json":{"schema":{"properties":{"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-onboarding-completed","gateway-account-onboarding-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the gateway account event.","properties":{"gatewayAccount":{"$ref":"#/components/schemas/GatewayAccount"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["gatewayAccount"]}}}}}}}},"description":"Payload of gateway account-related webhook event."},"GatewayAccountAndGatewayAccountLimit":{"content":{"application/json":{"schema":{"properties":{"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the gateway account limit event.","properties":{"gatewayAccount":{"$ref":"#/components/schemas/GatewayAccount"},"gatewayAccountLimit":{"$ref":"#/components/schemas/GatewayAccountLimit"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["gatewayAccount","gatewayAccountLimit"]}}}}}}}},"description":"Payload of gateway account limit-related webhook event."},"TransactionWebhook":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-requested","offsite-payment-completed","risk-score-changed","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","autodeposit-lookup-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction"]}}}}}}}},"description":"Payload of transaction-related webhook event."},"InvoiceWebhook":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided"]},"_embedded":{"type":"object","description":"Available embedded objects that are requested by the expand query parameter.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice-related webhook event."},"InvoicePastDueReminderWebhook":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"description":"ID of the invoice.","type":"string"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of the invoice past due reminder webhook event."},"KycDocumentWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"kycDocumentId":{"type":"string","description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileId":{"type":"string","description":"ID of the file.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-document-archived"]},"_embedded":{"type":"object","description":"Embedded objects related to the KYC document event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"kycDocument":{"$ref":"#/components/schemas/KycDocument"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","file","kycDocument"]}}}}}}}},"description":"Payload of KYC document-related webhook event."},"KycRequestWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"kycRequestId":{"type":"string","description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled"]},"_embedded":{"type":"object","description":"Embedded objects related to the KYC request event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"kycRequest":{"$ref":"#/components/schemas/KycRequest"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","kycRequest"]}}}}}}}},"description":"Payload of KYC request-related webhook event."},"OrderAbandonReminderSent":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"scheduleNumber":{"type":"integer","description":"Number of triggered abandon reminder events."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["order-abandon-reminder"]},"_embedded":{"type":"object","description":"Embedded objects related to the order abandon reminder event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of order abandon reminder-related webhook event."},"SubscriptionWebhook":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["order-completed","order-abandoned","subscription-activated","subscription-canceled","subscription-churned","subscription-downgraded","subscription-modified","subscription-reactivated","subscription-renewal-reminder","subscription-renewed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","order-delinquency-reached","subscription-items-changed"]},"_embedded":{"type":"object","description":"Embedded objects related to the order event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of order-related webhook event."},"OrganizationTaxNumberValidated":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"taxIdNumber":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"taxIdType":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"]},"isValid":{"type":"boolean","description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation)."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["organization-tax-number-validated"]},"_embedded":{"type":"object","description":"Embedded objects related to the organization tax number validation event.","properties":{"organization":{"$ref":"#/components/schemas/Organization"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["organization"]}}}}}}}},"description":"Payload of organization tax number validation-related webhook event."},"PaymentCardWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentCardId":{"description":"ID of the payment instrument.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payment-card-created","payment-card-expiration-reminder","payment-card-expired"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment card event.","properties":{"paymentCard":{"$ref":"#/components/schemas/PaymentCard"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentCard"]}}}}}}}},"description":"Payload of payment card-related webhook event."},"PaymentCardExpirationReminderWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentCardId":{"description":"ID of the payment card.","type":"string"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment card event.","properties":{"paymentCard":{"$ref":"#/components/schemas/PaymentCard"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentCard"]}}}}}}}},"description":"Payload of the payment card expiration reminder webhook event."},"PaymentInstrumentWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payment-instrument-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment instrument event.","properties":{"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"}}},"_links":{"type":"array","description":"Links to related resources.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentInstrument"]}}}}}}}},"description":"Payload of payment instrument-related webhook event."},"PayoutRequestBatchWebhook":{"content":{"application/json":{"schema":{"type":"object","required":["batchId","eventType","occurredTime","_embedded","_links"],"properties":{"batchId":{"description":"ID of the batch of payout requests.","type":"string","maxLength":50,"example":"preq_batch_0YVDMDE2BMC6KBB5MX76RF6T80"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payout-request-batch-created","payout-request-batch-modified"]},"occurredTime":{"description":"Date and time when the batch change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","description":"Embedded objects related to the batch event for payout requests.","required":["payoutRequestBatch"],"properties":{"payoutRequestBatch":{"$ref":"#/components/schemas/PayoutRequestBatch"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of relationship for the link.","type":"string","enum":["payoutRequestBatch"]}}}}}}}},"description":"Payload of a webhook event for a batch of payout requests."},"PayoutRequestBatchDeletedWebhook":{"content":{"application/json":{"schema":{"type":"object","required":["batchId","eventType","occurredTime"],"properties":{"batchId":{"description":"ID of the deleted batch of payout requests.","type":"string","maxLength":50,"example":"preq_batch_0YVDMDE2BMC6KBB5MX76RF6T80"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payout-request-batch-deleted"]},"occurredTime":{"description":"Date and time of the batch deletion.","type":"string","format":"date-time"}}}}},"description":"Payload of a webhook event for a deleted batch of payout requests."},"PayoutRequestWebhook":{"content":{"application/json":{"schema":{"properties":{"payoutRequestId":{"description":"ID of the payout request.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payout-request-created","payout-request-modified","payout-request-canceled","payout-request-fulfilled"]},"_embedded":{"type":"object","description":"Embedded objects related to the payout request event.","properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["payoutRequest"]}}}}}}}},"description":"Payload of payout request-related webhook event."},"PayoutRequestChangedWebhook":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestChangedWebhookPayload"}}},"description":"Payload of a webhook event for a payout request or payout request allocation change."},"QuoteWebhook":{"content":{"application/json":{"schema":{"properties":{"quoteId":{"type":"string","description":"ID of the quote.","example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated"]},"_embedded":{"type":"object","description":"Embedded objects related to the quote event.","properties":{"quote":{"$ref":"#/components/schemas/Quote"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["quote"]}}}}}}}},"description":"Payload of quote-related webhook event."},"ReadyToPayRequested":{"content":{"application/json":{"schema":{"properties":{"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["ready-to-pay-requested"]},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"type":"string","description":"Currency of the ready to pay request."},"amount":{"type":"number","format":"double","description":"Amount of the ready to pay request."},"items":{"type":"array","items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Customer's billing address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"checkoutFormId":{"$ref":"#/components/schemas/CheckoutFormId"},"_embedded":{"type":"object","description":"Embedded objects related to the ready to pay event.","properties":{"checkoutForm":{"$ref":"#/components/schemas/CheckoutForm"},"customer":{"$ref":"#/components/schemas/Customer"},"transaction":{"$ref":"#/components/schemas/Transaction"},"website":{"$ref":"#/components/schemas/Website"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["checkoutForm","customer","transaction","website"]}}}}}}}},"description":"Payload of ready to pay-related webhook event."},"RenewalInvoiceIssued":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["renewal-invoice-issued"]},"_embedded":{"type":"object","description":"Embedded objects related to the renewal invoice event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"},"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription","invoice"]}}}}}}}},"description":"Payload of renewal invoice-related webhook event."},"InvoiceAndTransaction":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["renewal-invoice-payment-canceled","renewal-invoice-payment-declined"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice and transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"},"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction","invoice"]}}}}}}}},"description":"Payload of invoice and transaction-related webhook event."},"SubscriptionQuantityFilledLimitReached":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionItemId":{"type":"string","description":"ID of the subscription item.","example":"sub_01HW2V1Y3A6QPM1NX4WCYHFSRS"},"quantity":{"type":"integer","description":"Quantity of the subscription item."},"quantityFilled":{"type":"number","format":"double","example":5.125,"description":"Reported quantity."},"previousQuantityFilled":{"type":"number","format":"double","example":4.037,"description":"Reported quantity before the subscription item updates."},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["subscription-quantity-filled-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the subscription quantity limit event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of subscription quantity limit-related webhook event."},"SubscriptionRenewalReminder":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"renewalTime":{"type":"string","format":"date-time","description":"Date and time when the subscription renews."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day"]},"_embedded":{"type":"object","description":"Embedded objects related to the order event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of the subscription renewal reminder webhook event."},"SubscriptionAndSubscriptionPause":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionPauseId":{"type":"string","description":"ID of the subscription pause.","example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-resumed"]},"_embedded":{"type":"object","description":"Embedded objects related to the subscription pause event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"},"pause":{"$ref":"#/components/schemas/SubscriptionPause"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription","pause"]}}}}}}}},"description":"Payload of subscription pause-related webhook event."},"OrderAndOrderChange":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string","description":"ID of the order.","example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"orderChangeId":{"type":"string","description":"ID of the order change.","example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["order-change-created","order-change-canceled","order-change-applied"]},"_embedded":{"type":"object","description":"Embedded objects related to the order change event.","properties":{"order":{"$ref":"#/components/schemas/Order"},"orderChange":{"$ref":"#/components/schemas/OrderChange"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["order","orderChange"]}}}}}}}},"description":"Payload of a webhook event related to an order change."},"TransactionWithChildWebhook":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["transaction-partially-refunded","transaction-refunded","transaction-voided"]},"_embedded":{"type":"object","description":"Embedded objects related to the transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"},"childTransaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction","childTransaction"]}}}}}}}},"description":"Payload of transaction-related webhook event."},"DataExportWebhook":{"content":{"application/json":{"schema":{"properties":{"dataExportId":{"type":"string","description":"ID of the data export.","maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"fileId":{"type":["string","null"],"description":"ID of the data export file.\nThis value is `null` if the export failed.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"recordCount":{"type":"integer","description":"Total number of records in the export, excluding the header row.\nThis value is `0` if the export failed.","example":1500},"status":{"type":"string","description":"Status of the data export.\nThis webhook is sent only when the data export reaches a terminal status.\nThis value is never `pending`, `queued`, or `processing`.","enum":["completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["data-export-completed","data-export-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the data export event.","properties":{"dataExport":{"$ref":"#/components/schemas/DataExport"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["dataExport","download"]}}}}}}}},"description":"Payload of data export-related webhook event."},"AutodepositLookupPerformed":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"autodepositLookupResponse":{"description":"Autodeposit lookup response.","type":"object","properties":{"enrolled":{"type":"boolean","default":false,"description":"Specifies whether the autodeposit lookup is enrolled or not."},"firstName":{"type":["string","null"],"description":"First name from the autodeposit lookup response."},"lastName":{"type":["string","null"],"description":"Last name from the autodeposit lookup response."},"middleName":{"type":["string","null"],"description":"Middle name from the autodeposit lookup response."},"companyName":{"type":["string","null"],"description":"Company name from the autodeposit lookup response."},"tradeName":{"type":["string","null"],"description":"Trade name from the autodeposit lookup response."}}},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["autodeposit-lookup-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the autodeposit lookup event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","transaction"]}}}}}}}},"description":"Payload of autodeposit lookup-related webhook event."}}},"tags":[{"name":"Allowlists","description":"Use allowlists to exclude specific customer attribute data from risk score checks.\n\nAllowlists are lists of data that are excluded from risk score checks. Allowlists prevent specific data from being added to a [blocklist record](https://www.rebilly.com/docs/automations/blocklists/) when a [risk score](https://www.rebilly.com/docs/automations/risk-scoring/) threshold reached."},{"name":"AML","description":"Use Anti-Money Laundering (AML) operations to screen customers and help prevent your business from becoming directly or indirectly involved in criminal activity.\n\nUse AML operations during customer creation, and some transaction processing,\nto help determine if a potential customer (lead), or customer, has political or economic sanctions against them.\n\nAML operations search the following for screening purposes:\nPolitically Exposed Persons (PEPs) lists, sanction lists,\nand adverse media lists."},{"name":"API keys","description":"Use API keys to identify and authenticate applications and users.\nAlways keep your API keys private.\nWhen creating API keys, you can restrict them to a given set of permissions.\nFor information on how to create and manage API keys, see [API keys](https://www.rebilly.com/docs/dev-docs/api-keys/)."},{"name":"Application owners","description":"Use application owner operations to register applications to the Rebilly App Store,\nand manage application instances.\nAn application owner is a person or organization that submits an app to the Rebilly App Store."},{"name":"Balance transactions","description":"Use these operations to view and manage balance transactions.\n\n> **Important:** These operations are experimental and may change."},{"name":"Billing portals","description":"Use these operations to create and manage billing portals.\nRebilly hosted billing portals provide secure, Rebilly hosted pages, where customers can:\nview invoices, cancel subscriptions, update payment instruments, and update their address."},{"name":"Blocklists","description":"Use blocklists to prevent fraud and criminal activity.\n\nBlocklists are lists of customer attribute values that are blocked from buying from you.\nFor example, if a customer attempts to make a purchase from you with a credit card that is in a blocklist, the transaction is blocked and is not processed.\n\nBefore a new transaction is processed in Rebilly, blocklists are examined to check for attributes related to the entity.\nIf a match is detected, the operation is aborted.\nA blocklist that expires after a period of time is called a greylist."},{"name":"Coupons","description":"Use coupons to reward customers, generate sales, or to test new pricing strategies.\nCoupons enable you to apply different types of discounts to invoices, subscriptions, and pricing plans.\n\nRedeemed coupons are attached to a customer's account.\nDepending on the coupon restrictions, the redeemed coupons are then applied from the customer's account to subsequent invoices or subscriptions.\nRedeemed coupons can only be applied to invoices of the same currency.\n\nOnce a coupon is redeemed it cannot be modified.\nYou may deactivate a coupon or create a new coupon, but you cannot reuse the same coupon code.\nIf you have a use case where you must reuse the same code, [contact Rebilly](https://www.rebilly.com/contact/).\n\n### Coupon restriction types\n\nThe following coupon description types are available:\n\n- `restrict-to-countries`: Restricts a coupon for use in specific countries.\n- `discounts-per-redemption`: Restricts the number of times that the coupon can be applied by one redemption.\n  For example, use this restriction to configure a coupon that can only be applied to the first subscription renewal of a particular product.\n- `minimum-order-amount`: Sets a minimum order amount for a coupon application.\n  For example, if the restriction amount is $20, the coupon is only applied to invoices with a total amount of $20 or more.\n- `restrict-to-invoices`: Restricts a coupon to specific invoices.\n- `restrict-to-plans`: Restricts a coupon to specific pricing plans.\n- `restrict-to-subscriptions`: Restricts a coupon to specific order subscriptions.\n- `restrict-to-customer-tags`: Restricts a coupon to customers with specific tags.\n- `restrict-to-customers`: Restricts a coupon to specific customers.\n- `restrict-to-exclusive-application`: Restricts a coupon so that it cannot be used in combination with other coupons. If more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined. If a coupon with this restriction is applied, all other coupons are removed.\n- `restrict-to-products`: Restricts a coupon to specific products.\n- `paid-by-time`: Specifies a date and time at which a coupon redemption expires if not paid.\n- `redemptions-per-customer`: Restricts the number of times that a coupon can be redeemed by one customer.\n  For example, use this restriction to limit the number of redemptions to one per customer.\n- `total-redemptions`: Restricts the number of times a coupon can be redeemed by different customers.\n- `restrict-to-bxgy`: Provides \"buy X get Y\" promotions.\n  These promotions incentivize new customers to buy and also reward existing customers.\n  This restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\n  For example, if a customer buys two or more books, they get one free bookmark."},{"name":"Credit memos","description":"Use credit memos to provide a customer with store credit.\nA common use case for using a credit memo is to provide a customer with store credit,\nrather than a refund, if the customer pays more than they owe or returns a product.\nFor information on the credit memo resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Credit memos timeline","description":"Use credit memo timelines to maintain an audit trail of changes and activity for each credit memo.\nCredit memos are a means of providing a customer with store credit."},{"name":"Custom domains","description":"Use custom domains to configure and use your own domain for forms and billing portals,\ninstead of the default Rebilly domain: `portal.secure-payments.app`.\nFor more information, see [Configure a custom domain](https://www.rebilly.com/docs/settings/organizations-and-websites#configure-a-custom-domain)."},{"name":"Custom fields","description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nDepending on the resource on which the custom field is added, it may be available in the Rebilly UI.\n\nExample: A custom field called `preferredCommunicationChannel` is added to the customer resource.\nIt has two allowed values, which are 'email' and 'phone'.\n\n```js\n{\n  \"customFields\": {\n      \"preferredCommunicationChannel\": \"email\"\n  }\n}\n```\n\nFor detailed information on Rebilly resources, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Customer authentication","description":"Use these operations to validate the identity of users and manage authentication credentials."},{"name":"Customers","description":"Use these operations to manage customers.\nA customer is an entity that purchases goods or services from you (a merchant),\nand is the payee in any transaction that is credited to you.\nCustomers are associated with payment instruments,\nsubscriptions, invoices, and other related resources.\n\nIn other systems, customers may be referred to as accounts,\nclients, members, patrons, or players.\nFor information on the customer resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Customers timeline","description":"Use customer timelines to maintain an audit trail of changes and activity for each customer."},{"name":"Dashboards","description":"Use dashboard operations to manage the user's dashboard and its tabs with metrics over key performance indicators.\nEach tab is a customizable view of tiles that display report data."},{"name":"Data exports","description":"Use data export operations to manage the export of resource data, such as:\ntransactions, customers, subscriptions, invoices, or invoice item data.\nCommon data export use cases are:\naccounting, data analysis, reporting, or importing into other databases.\n\nFor detailed information on Rebilly resources,\nsee [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources).\n\nFor information on how manage reconciliation, see [Transaction reconciliation](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation)."},{"name":"Disputes","description":"Use these operations to manage disputes.\nA dispute occurs when a customer contests a charge to their account.\nThe dispute and related information is made available to the merchant by the bank or credit card company.\nThe merchant then has the option to represent the charge and win the case.\nThis process is called dispute resolution.\nIf the merchant is unable to represent the charge, the card issuer typically reverses the sale and adds fees on top of the charge.\nThis process is called a chargeback."},{"name":"Email delivery settings","description":"Use email delivery settings to configure from which email address notifications and broadcast message are sent.\nIn Rebilly, this email address is referred to as a \"From address\".\nSupported email service providers are:\nSMTP, Mailgun, SendGrid, AWS SES, Postmark, and Rebilly."},{"name":"Email messages","description":"Use email messages to email customers directly."},{"name":"Email notifications","description":"Use email notifications to keep customers informed on events,\nand to inform them of events that may require action on their end.\nEmail notifications are targeted email messages that can be plain text or HTML.\n\nEmail notifications can also be used to notify teammates about new customers, blocklist matches, risk score changes, and more.\nFor more information, see [Email notifications](https://www.rebilly.com/docs/automations/email-notifications/)."},{"name":"Files","description":"Use the file entity to store files and related metadata.\nFiles can be sorted by size, MIME-type, user-defined tags, and description.\n\nThe following methods are available to upload files:\nmultipart/form-data encoded form, RAW POST &mdash;\nby sending the file contents as the POST body, and fetching from URL &mdash;\nby providing the file URL using the 'url' parameter.\n\nUse the attachments entity to link a file to one or multiple objects, such as:\ncustomer, dispute, transaction, order, plan, product, invoice, or timeline comment.\nAttachments enable you to quickly find and use files related to specific entities."},{"name":"Gateway accounts","description":"Use these operations to manage payment gateway accounts.\nA payment gateway is a service which enables merchants to receive payments from their customers to their merchant account.\nA merchant account is a bank account that enables businesses to receive payments.\nUse payment gateway accounts to connect payment requests to third party networks and platforms."},{"name":"Gateway accounts timeline","description":"Use gateway account timelines to maintain an audit trail of changes and activity for each gateway account."},{"name":"Histograms","description":"Use histogram operations to generate transaction histogram reports with cohorts and periods.\nFor information on the invoice resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Integrations","description":"Use these operations to manage third-party apps that are integrated to your Rebilly account.\nFor more information on third-party apps, and how to integrate them,\nsee [App store](https://www.rebilly.com/docs/app-store/app-store/)."},{"name":"Invoices","description":"Use invoices to bill for the goods or services that you provide.\nIf your invoice includes subscription items, it also includes the corresponding service periods and prices."},{"name":"Invoices timeline","description":"Use invoice timelines to maintain an audit trail of changes and activity for each invoice."},{"name":"Journal","description":"Use journal accounts, entries and records to track and recognize revenue."},{"name":"KYC documents","description":"Use Know Your Customer (KYC) documents to verify your customers identity.\nThe KYC document operations generate a signed link to the Rebilly [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-aml/kyc-document-gatherer/).\n\nDocument types:\n  - `identity-proof`: Validates a customer's identity.\n  - `address-proof`: Validates a customer's address.\n  - `purchase-proof`: Validates a customer's purchase.\n  - `funds-proof`: Validates that a customer has funds.\n  - `credit-file-proof`: Verifies that there is an existing credit file with two sources that match the customer's name, DOB, and address.\n\nRebilly parses and analyzes the documents and accepts or rejects them according to a configurable scoring algorithm.\nWhen all document types in a KYC request are accepted, the status is fulfilled, and the [KYC request fulfilled webhook](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-fulfilled/) is sent.\n\n### Credit file proof\n\nThe `credit-file-proof` KYC document request type is only available in the API,\nthis option is not available in the [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-aml/kyc-document-gatherer/).\nThis request verifies that there is an existing credit file with two sources that match the person's name, date of birth, and address.\n\nIn Canada, to meet FINTRAC requirements, the `credit-file-proof` KYC document request verifies the customer's name, address, and date of birth with a credit agency.\n\nIf `credit-file-proof` is requested in combination with `identity-proof` and `address-proof`,\n`credit-file-proof` is attempted first.\nIf `credit-file-proof` validates the identity and address,\nthe KYC request is considered fulfilled.\nIf the request is not fulfilled,\nredirect your customer to the KYC document gatherer to collect their KYC documents."},{"name":"Lists","description":"Use lists to create and maintain sets of values that may be referenced in rule conditions.\nCommonly used lists contain values related to conditions that target specific properties such as: customers, transactions, or BINs.\n\nYou may grant list edit permissions to members of your team without enabling them to edit rules.\nThis may be useful if your workflow involves frequent updates to value sets that are used in rule or bind conditions.\nList order may not be maintained and duplicates may be removed.\n\nFor more information, see [Value lists](https://www.rebilly.com/docs/automations/create-a-value-list/#value-lists)."},{"name":"Metadata","description":"Use these operations to retrieve and manage metadata.\nMetadata is structured information on other data."},{"name":"Orders","description":"Use these operations to manage orders that include items with mixed recurring subscription plans."},{"name":"Orders (legacy)","description":"Use these operations to manage customer orders.\n\n{% admonition type=\"warning\" %}\nThis is the legacy order model.\nIf you are new to Rebilly, use [these order operations](#tag/orders).\nOrganizations that use the current order model cannot create legacy orders.\nFor these organizations, the operations that create a legacy order return a validation error.\n\nFor information on the legacy order model, and how to upgrade to the current order model, see [Legacy orders model](https://www.rebilly.com/docs/glossary#legacy-orders-model).\n{% /admonition %}\n\nAn order is a customer's request to purchase items.\nIt can contain subscription and one-time sale items.\nWhen an order contains one or more subscription items, it is a subscription order.\n\nAn order generates an invoice.\nA subscription order generates an invoice for each service period.\nFor more information, see [Orders](https://www.rebilly.com/docs/dev-docs/concepts/#orders)."},{"name":"Orders timeline","description":"Use order timelines to maintain an audit trail of changes and activity for each order."},{"name":"Organization data exports","description":"Use organization data exports to export your organization data which you may want to do as a business continuity practice.\nThese may also be used to to export data if you decide to migrate to a different payments solution."},{"name":"Organizations","description":"Use these operations to manage your organizations in Rebilly.\nAn organization is an entity that represents you, or your company, as a merchant.\nYou can have multiple organizations.\nFor more information, see [My organizations and websites](https://www.rebilly.com/docs/settings/organizations-and-websites/).\n\nNote: No data, including organizations, is shared between the live and sandbox environments."},{"name":"Payment instruments","description":"Use these operations to manage payment instruments.\nPayment instrument is a term which describes any means of making a digital payment, such as:\ncredit cards, debit cards, direct debits, payment service providers, and digital wallets.\n\nFor more information on payment instruments, see [Payment instruments](https://www.rebilly.com/docs/dev-docs/concepts/#payment-instruments)."},{"name":"Payment tokens","description":"Use payment tokens to reduce the scope of [PCI DSS compliance](https://www.rebilly.com/docs/pci-compliance/).\n\nA payment token can be made using a different authentication scheme (public key authentication), which enables you to create a payment token directly from the browser.\nThis bypasses the need to send sensitive cardholder info to your servers.\nWe recommend using this with the FramePay library, which helps you integrate a form into this API resource and create payment tokens."},{"name":"Plans","description":"Use pricing plans to describe how the customer must pay for [products](https://www.rebilly.com/docs/dev-docs/api/products/).\n\nRebilly provides the following plan types:\n\n- Trial only: Use this plan to create and offer a free or discounted trial period for your product.\n  For example, a free 2 week trial of an internet service.\n  After the trial, the customer can choose to sign up for a paid subscription, or stop using the service.\n- Recurring: Use this plan to create and offer a subscription for your product.\n  For example, a monthly subscription to an internet service that is charged at 20 USD per month.\n- One time sale: Use this plan to create and offer a one-off sale for your products.\n  For example, a one time purchase of two bags of coffee.\n\nFor information on the plans resource, see [Plans](https://www.rebilly.com/docs/dev-docs/concepts/#plans).\n\nFor information on plan pricing, see [Pricing formulas](https://www.rebilly.com/docs/settings/pricing-formulas/)."},{"name":"Products","description":"Use products to describe the goods and services that your business sells.\nA product also describes sales items on invoices and receipts.\nProduct pricing is defined in [plans](https://www.rebilly.com/docs/dev-docs/api/plans/).\nA product may have one or many plans.\n\nFor information on the product resource, see [Product](https://www.rebilly.com/docs/dev-docs/concepts/#products)."},{"name":"Profile","description":"Use these operations to manage user profiles.\nA profile represents the person that is signed in to Rebilly."},{"name":"Quotes","description":"Use quote operations to create and manage quotations.\nQuotations describe the cost of goods or services to potential customers before they commit to a purchase.\nA quote contains an initial invoice preview that can be accepted to become an order.\n\nA quote can contain subscription and one-time sale items.\nWhen a quote contains one or more subscription items, it is a subscription order quote."},{"name":"Quotes timeline","description":"Use quote timelines to maintain an audit trail of changes and activity for each quote."},{"name":"Reports","description":"Use reports operations to retrieve summary information about your customers, subscriptions, transactions, and more."},{"name":"Risk score","description":"Use risk score operations to configure blocklists based on transaction risk factors."},{"name":"Roles","description":"Use these operations to manage user roles within your team or organization.\nRoles are an implementation of the general hierarchical (Role Based Access Control) RBAC.\nA senior role inherits all of its juniors' Access Control Lists (ACLs) and its own ACL.\nJunior roles are not influenced by the senior role."},{"name":"Rules","description":"Use rules to automate.\nIn the Rebilly rules engine, an action is an operation that executes when an event occurs.\nAction and event conditions are defined in rules.\nRulesets are collections of rules that are associated with an event.\nThe order in which the rules are placed within a ruleset specifies the execution order.\n\nFor a list of events and related actions, see [Events](https://www.rebilly.com/docs/automations/event-types/)."},{"name":"Service credentials","description":"Use these operations to get, create, and manage credentials for third-party services."},{"name":"Shipping rates","description":"Use these operations to manage shipping rates.\nA shipping rate contains a filter and a pricing for a specific shipping destination."},{"name":"Status","description":"Use this operation to check the status of the Rebilly API.\nNo authentication is required."},{"name":"Tags","description":"Use tags to organize and categorize customers or KYC documents based on keywords."},{"name":"Tracking","description":"Use tracking when debugging and auditing issues.\nTracking is a layer for accessing all activity such as:\nAPI requests, subscriptions, webhooks, events, and more."},{"name":"Transactions","description":"Use these operations to:\n  - set up payment instruments for payments\n  - authorize and hold funds\n  - capture funds\n  - make payments\n  - make payouts\n  - refund transactions."},{"name":"Transactions timeline","description":"Use transaction timelines to maintain an audit trail of changes and activity for each transaction."},{"name":"Usage","description":"Use these operations to manage the product usage of a subscription item for metered billing purposes.\n\nUse metered billing when product quantity is unknown to the customer at the moment of creating a subscription.\nMetered billing is based on reported usage records.\nEvery reported usage updates the quantity of an upcoming invoice item for a specified subscription and a plan.\nTo create a metered billing plan, see [Plans](https://www.rebilly.com/catalog/all/plans)."},{"name":"Users","description":"Use these operations to manage users.\nA user is a person who can login to Rebilly, and take actions based on their granted permissions."},{"name":"Webhooks","description":"Use these operations to manage webhooks.\nWebhooks notify your systems in real-time when certain events occur.\nFor example, when a new transaction occurs or a new subscription is created.\nWebhooks enable you to collect information about events.\nRebilly can send this information by HTTP POST request to a defined URL of your choice."},{"name":"Websites","description":"Use these operations to manage websites.\nA website is where your organization obtains a customer.\nIt is also the processor account and billing descriptor used for payment transactions.\nYou can create multiple websites.\n\nWebsites are related to each invoice and each payment gateway account.\nThis enables you to associate gateway accounts with multiple websites,\nor make them exclusive to particular websites.\nFor more information, see [My organizations and websites](https://www.rebilly.com/docs/settings/organizations-and-websites/)."}],"paths":{"/aml-checks":{"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve AML checks","operationId":"GetAmlCheckCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of AML checks.\nThese checks are records of customer data and potentially matching data in AML lists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of AML checks retrieved.","headers":{"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/AmlCheck"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/aml-checks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve an AML check","operationId":"GetAmlCheck","x-sdk-operation-name":"get","description":"Retrieves the results of a customer's AML check.\nCustomer metadata and an array of matching AML hits is returned.","responses":{"200":{"description":"AML check retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/aml-checks/{id}/start-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Start review of an AML check","operationId":"PostAmlCheckStartReview","x-sdk-operation-name":"startReview","description":"Starts the manual review process for an AML check with a specified ID.\n\nThis operation also sets the AML check `reviewStartTime` to the current date-time,\nand updates the review information.","responses":{"201":{"description":"AML check review started.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-checks/{id}/stop-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Stop review of an AML check","operationId":"PostAmlCheckStopReview","x-sdk-operation-name":"stopReview","description":"Stops the manual review process for an AML check with a specified ID.\n\nThis operation also sets the AML check `reviewStartTime` and the reviewer information to null.\nUse this operation when the reviewer must stop the review.\nFor example, if the reviewer must take a break, or ends a shift.","responses":{"201":{"description":"AML document review stopped.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-checks/{id}/review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Review an AML check","operationId":"PostAmlCheckReview","x-sdk-operation-name":"review","description":"Reviews an AML check.\nRecords a decision on each listed hit, then applies `status` to every hit that has no decision yet.\nThe status of the AML check is calculated from the hit decisions.\nIf any hit has no decision, the AML check remains in review.\nIf any hit is a confirmed match, the AML check is a confirmed match.\nIf every hit is a false positive, the AML check is a false positive.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheckReview"}}}},"responses":{"201":{"description":"AML check reviewed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-settings":{"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve AML settings","operationId":"GetAmlSettings","x-sdk-operation-name":"getAmlSettings","description":"Retrieves AML settings.","responses":{"200":{"description":"AML settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["AML"],"summary":"Update AML settings","operationId":"PutAmlSettings","x-sdk-operation-name":"putAmlSettings","description":"Updates AML settings.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}},"description":"Settings for AML searches.","required":true},"responses":{"200":{"description":"AML settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"201":{"description":"AML settings created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/attachments":{"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve attachments","operationId":"GetAttachmentCollection","x-sdk-operation-name":"getAllAttachments","x-sdk-resource":"Files","description":"Retrieves a list of attachments. You may sort attachments by: `id`,\n`name`, `relatedId`, `relatedType`, `fileId`, `createdTime`,\nand `updatedTime`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of attachments retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachments = $client->attachments()->search([\n    'filter' => 'relatedType:customer',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.files.getAllAttachments();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.files.getAllAttachments(params);\n\n// access the collection items, each item is an Attachment\nsecondCollection.items.forEach(attachment => console.log(attachment.fields.relatedType));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$attachmentsPaginator = $service->files()->getAllAttachmentsPaginator(limit: 5, filter: 'relatedType:customer');\nforeach ($attachmentsPaginator as $attachmentPage) {\n    printf(\"Attachments page %d/%d\\n\", $attachmentsPaginator->key() + 1, $attachmentsPaginator->count());\n    foreach ($attachmentPage as $attachment) {\n        printf(\"Attachment #%s (%s): %s\\n\", $attachment->getId(), $attachment->getRelatedType(), $attachment->getName());\n    }\n}\n\n// OR\n\n$attachments = $service->files()->getAllAttachments(filter: 'relatedType:customer');\nforeach ($attachments as $attachment) {\n    printf(\"Attachment #%s (%s): %s\\n\", $attachment->getId(), $attachment->getRelatedType(), $attachment->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Files"],"summary":"Create an attachment","operationId":"PostAttachment","x-sdk-operation-name":"attach","x-sdk-resource":"Files","description":"Attaches a file to one or multiple objects, such as: customer,\ndispute, transaction, order, plan, product, invoice, or timeline\ncomment. Attachments enable you to quickly find and use files\nrelated to specific entities.","requestBody":{"$ref":"#/components/requestBodies/Attachment"},"responses":{"201":{"description":"Attachment created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachmentForm = new Rebilly\\Entities\\Attachment();\n$attachmentForm->setFileId('fileId');\n$attachmentForm->setRelatedType($attachmentForm::TYPE_CUSTOMER);\n$attachmentForm->setRelatedId('customerId');\n\ntry {\n    $attachment = $client->attachments()->create($attachmentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// Define the attachment\nconst data = {\n    // Previously uploaded file ID\n    fileId: 'my-file-id',\n    relatedType: 'customer',\n    relatedId: 'my-customer-id',\n    name: 'an attachment',\n    description: `the customer's file`\n};\n\nconst attachment = await api.files.attach({data});\nconsole.log(attachment.fields.id);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$attachmentForm = new \\Rebilly\\Sdk\\Model\\Attachment();\n$attachmentForm->setFileId('fileId');\n$attachmentForm->setRelatedType($attachmentForm::RELATED_TYPE_CUSTOMER);\n$attachmentForm->setRelatedId('customerId');\n\ntry {\n    $attachment = $service->files()->attach($attachmentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/attachments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve an attachment","operationId":"GetAttachment","x-sdk-operation-name":"getAttachment","x-sdk-resource":"Files","description":"Retrieves an attachment with a specified ID.","responses":{"200":{"description":"Attachment retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachment = $client->attachments()->load('attachmentId');\n"},{"lang":"JavaScript","source":"const attachment = await api.files.getAttachment({id: 'foobar-001'});\nconsole.log(attachment.fields.relatedType);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$attachment = $service->files()->getAttachment('attachmentId');"}]},"delete":{"x-products":["Core"],"tags":["Files"],"summary":"Delete an attachment","operationId":"DeleteAttachment","x-sdk-operation-name":"detach","x-sdk-resource":"Files","description":"Deletes an attachment with a specified ID.","responses":{"204":{"description":"Attachment deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->attachments()->delete('attachmentId');\n"},{"lang":"JavaScript","source":"const request = await api.files.detach({id: 'my-attachment-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->files()->detach('attachmentId');"}]}},"/authentication-options":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve authentication options","operationId":"GetAuthenticationOption","x-sdk-operation-name":"getAuthOptions","x-sdk-resource":"CustomerAuthentication","description":"Retrieves customer authentication options.","responses":{"200":{"description":"Authentication options retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationOptions = $client->authenticationOptions()->load();\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationOptions = $service->customerAuthentication()->getAuthOptions();"},{"lang":"JavaScript","source":"const options = await api.customerAuthentication.getAuthOptions();\nconsole.log(options.fields.credentialTtl);"}]},"put":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Change authentication options","operationId":"PutAuthenticationOption","x-sdk-operation-name":"updateAuthOptions","x-sdk-resource":"CustomerAuthentication","description":"Changes customer authentication options.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}},"description":"Authentication options resource.","required":true},"responses":{"200":{"description":"Authentication options updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationOptionsForm = new Rebilly\\Entities\\AuthenticationOptions();\n// Regular expression below matches any password with 6+ length that contains alphabet symbols and/or numbers.\n$authenticationOptionsForm->setPasswordPattern('/^[a-zA-Z0-9]{6,}$/');\n\ntry {\n    $authenticationOptions = $client->authenticationOptions()->update($authenticationOptionsForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the authentication options\nconst data = {\n    passwordPattern: null,\n    credentialTtl: 10,\n    authTokenTtl: 20,\n    resetTokenTtl: 30\n};\n\nconst options = await api.customerAuthentication.updateAuthOptions({data});\nconsole.log(options.fields.credentialTtl);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationOptionsForm = new \\Rebilly\\Sdk\\Model\\AuthenticationOptions();\n// Regular expression below matches any password with 6+ length that contains alphabet symbols and/or numbers.\n$authenticationOptionsForm->setPasswordPattern('/^[a-zA-Z0-9]{6,}$/');\n\ntry {\n    $authenticationOptions = $service->customerAuthentication()->updateAuthOptions($authenticationOptionsForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/authentication-tokens":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve authentication tokens","operationId":"GetAuthenticationTokenCollection","x-sdk-operation-name":"getAllAuthTokens","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of customer authentication tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of auth tokens retrieved.","headers":{"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/AuthenticationTokenResponse"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationTokens = $client->authenticationTokens()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$listOfTokens = $service->customerAuthentication()->getAllAuthTokens();\n\n// alternatively you can specify one or more of them\n$listOfTokens = $coreService->customerAuthentication()->getAllAuthTokens(limit: 5, offset: 2);"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllAuthTokens();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllAuthTokens(params);\n\n// access the collection items, each item is an AuthenticationToken\nsecondCollection.items.forEach(token => console.log(token.fields.username));\n"}]},"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Login a customer","operationId":"PostAuthenticationToken","x-sdk-operation-name":"login","x-sdk-resource":"CustomerAuthentication","description":"Logs in 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":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationTokenResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationForm = new Rebilly\\Entities\\AuthenticationToken();\n$authenticationForm->setUsername('username');\n$authenticationForm->setPassword('test123');\n\ntry {\n    $authenticationToken = $client->authenticationTokens()->login($authenticationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"const data = {\n    username: 'foobar',\n    password: 'fuubar'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the session token\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\nconst session = await api.customerAuthentication.login({data});\nconsole.log(session.fields.token);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationForm = \\Rebilly\\Sdk\\Model\\AuthenticationTokenPasswordMode::from();\n$authenticationForm->setUsername('username');\n$authenticationForm->setPassword('test123');\n\ntry {\n    $authenticationToken = $service->customerAuthentication()->login($authenticationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/authentication-tokens/{token}":{"parameters":[{"name":"token","in":"path","description":"ID of the authentication token.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Verify an authentication token","operationId":"GetAuthenticationTokenVerification","x-sdk-operation-name":"verify","x-sdk-resource":"CustomerAuthentication","description":"Verifies a customer's authentication token.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"responses":{"200":{"description":"Authentication token verified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationTokenResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$isVerified = $client->authenticationTokens()->verify('token');\n"},{"lang":"JavaScript","source":"const token = 'dcf6e32f2daee457a1db8ce5fdfbe200';\nconst verification = await api.customerAuthentication.verify({token});\n// if the token is valid then no error will be thrown\nconsole.log(verification.reponse.status) // 200\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$isVerified = $service->customerAuthentication()->verify('token');"}]},"delete":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Logout a customer","operationId":"DeleteAuthenticationToken","x-sdk-operation-name":"logout","x-sdk-resource":"CustomerAuthentication","description":"Logs out a customer.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"responses":{"204":{"description":"Customer logged out.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->authenticationTokens()->logout('token');\n"},{"lang":"JavaScript","source":"const token = 'dcf6e32f2daee457a1db8ce5fdfbe200';\nconst request = await api.customerAuthentication.logout({token});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$service->customerAuthentication()->logout('token');"}]}},"/authentication-tokens/{token}/exchange":{"parameters":[{"name":"token","in":"path","description":"ID of the authentication token.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Exchange an authentication token","operationId":"PostAuthenticationTokenExchange","x-sdk-operation-name":"exchangeToken","x-sdk-resource":"CustomerAuthentication","description":"Exchanges an authentication token for a JWT.\n\n\nBy default, this operation invalidates the exchanged authentication token.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerJWT"}}},"required":true},"responses":{"201":{"description":"Authentication token exchanged for a JWT.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerJWT"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/blocklists":{"get":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Retrieve blocklists","operationId":"GetBlocklistCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of all blocklists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of blocklists retrieved.","headers":{"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/Blocklist"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklists = $client->blocklists()->search([\n    'filter' => 'value:testValue',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.blocklists.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.blocklists.getAll(params);\n\n// access the collection items, each item is a Blocklist\nsecondCollection.items.forEach(blocklistItem => console.log(blocklistItem.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$blocklistsPaginator = $service->blocklists()->getAllPaginator(limit: 5, filter: 'value:testValue');\nforeach ($blocklistsPaginator as $blocklistPage) {\n    printf(\"Blocklists page %d/%d\\n\", $blocklistsPaginator->key() + 1, $blocklistsPaginator->count());\n    foreach ($blocklistPage as $blocklist) {\n        printf(\"Blocklist #%s (%s): %s\\n\", $blocklist->getId(), $blocklist->getType(), $blocklist->getValue());\n    }\n}\n\n// OR\n\n$blocklists = $service->blocklists()->getAll(filter: 'value:testValue');\nforeach ($blocklists as $blocklist) {\n    printf(\"Blocklist #%s (%s): %s\\n\", $blocklist->getId(), $blocklist->getType(), $blocklist->getValue());\n}"}]},"post":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Create a blocklist","operationId":"PostBlocklist","x-sdk-operation-name":"create","description":"Creates a blocklist.","requestBody":{"$ref":"#/components/requestBodies/Blocklist"},"responses":{"201":{"description":"Blocklist created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklistForm = new Rebilly\\Entities\\Blocklist();\n$blocklistForm->setType($blocklistForm::TYPE_EMAIL);\n$blocklistForm->setValue('test@test.com');\n$blocklistForm->setExpiredTime('2025-01-01 05:00:00');\n\ntry {\n    $blocklist = $client->blocklists()->create($blocklistForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new blocklist item\nconst data = {\n    type: 'ip-address',\n    value: '63.118.98.100'\n\n    // optionally provide an `expirationTime` to make\n    // the item expire and function like a `greylist`\n\n    // expirationTime: '2017-09-18T21:50:44Z'\n};\n\n// the ID is optional\nconst firstKey = await api.blocklists.create({data});\n\n// or you can provide one\nconst secondKey = await api.blocklists.create({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$blocklistForm = new \\Rebilly\\Sdk\\Model\\Blocklist();\n$blocklistForm->setType($blocklistForm::TYPE_EMAIL);\n$blocklistForm->setValue('test@test.com');\n$blocklistForm->setExpirationTime('2025-01-01 05:00:00');\n\ntry {\n    $blocklist = $service->blocklists()->create($blocklistForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/blocklists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Retrieve a blocklist","operationId":"GetBlocklist","x-sdk-operation-name":"get","description":"Retrieves a blocklist with a specified ID.","responses":{"200":{"description":"Blocklist retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklist = $client->blocklists()->load('blocklistId');\n"},{"lang":"JavaScript","source":"const blocklistItem = await api.blocklists.get({id: 'foobar-001'});\nconsole.log(blocklistItem.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$blocklist = $service->blocklists()->get('blocklistId');"}]},"delete":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Delete a blocklist","operationId":"DeleteBlocklist","x-sdk-operation-name":"delete","description":"Deletes a blocklist with a specified ID.","responses":{"204":{"description":"Blocklist deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->blocklists()->delete('blocklistId');\n"},{"lang":"JavaScript","source":"const request = await api.blocklists.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->blocklists()->delete('blocklistId');"}]}},"/coupons-redemptions":{"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve coupon redemptions","operationId":"GetCouponRedemptionCollection","x-sdk-operation-name":"getAllRedemptions","x-sdk-resource":"Coupons","description":"Retrieves a list of coupon redemptions.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of coupon redemptions retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponRedemptions = $client->couponsRedemptions()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.coupons.getAllRedemptions();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.coupons.getAllRedemptions(params);\n\n// access the collection items, each item is a CouponRedemption\nsecondCollection.items.forEach(redemption => console.log(redemption.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponRedemptionsPaginator = $service->coupons()->getAllRedemptionsPaginator(limit: 5, filter: 'customerId:testCustomer');\nforeach ($couponRedemptionsPaginator as $couponRedemptionsPage) {\n    printf(\"Coupon redemptions page %d/%d\\n\", $couponRedemptionsPaginator->key() + 1, $couponRedemptionsPaginator->count());\n    foreach ($couponRedemptionsPage as $couponRedemption) {\n        printf(\"Coupon redemption #%s\\n\", $couponRedemption->getId());\n    }\n}\n\n// OR\n\n$couponRedemptions = $service->coupons()->getAllRedemptions(filter: 'customerId:testCustomer');\nforeach ($couponRedemptions as $couponRedemption) {\n    printf(\"Coupon redemption #%s\\n\", $couponRedemption->getId());\n}"}]},"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Redeem a coupon","operationId":"PostCouponRedemption","x-sdk-operation-name":"redeem","x-sdk-resource":"Coupons","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Redeems a coupon.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}},"description":"Coupon resource.","required":true},"responses":{"201":{"description":"Coupon redeemed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$redemptionForm = new Rebilly\\Entities\\Coupons\\Redemption();\n$redemptionForm->setCustomerId('customerId');\n$redemptionForm->setCouponId('couponId');\n\n$restrictionData = [\n    'type' => Rebilly\\Entities\\Coupons\\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION,\n    'quantity' => 2,\n];\n\n$restrictionForm = Rebilly\\Entities\\Coupons\\Restriction::createFromData($restrictionData);\n\n$redemptionForm->setAdditionalRestrictions([$restrictionForm]);\n\ntry {\n    $couponRedemption = $client->couponsRedemptions()->redeem($redemptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// build the redemption data\nconst data = {\n  couponId: 'my-best-coupon',\n  customerId: 'foobar-001'\n};\n\nconst redemption = await api.coupons.redeem({data});\nconsole.log(redemption.fields.id);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$redemptionForm = new \\Rebilly\\Sdk\\Model\\CouponRedemption();\n$redemptionForm->setCustomerId('customerId');\n$redemptionForm->setCouponId('couponId');\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption();\n$restrictionForm->setQuantity(2);\n\n$redemptionForm->setAdditionalRestrictions([$restrictionForm]);\n\ntry {\n    $couponRedemption = $service->coupons()->redeem($redemptionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons-redemptions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve a coupon redemption","operationId":"GetCouponRedemption","x-sdk-operation-name":"getRedemption","x-sdk-resource":"Coupons","description":"Retrieves a coupon redemption with a specified ID.","responses":{"200":{"description":"Coupon redemption retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponRedemption = $client->couponsRedemptions()->load('redemptionId');\n"},{"lang":"JavaScript","source":"const redemption = await api.coupons.getRedemption({id: 'foobar-001'});\nconsole.log(redemption.fields.id);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$couponRedemption = $service->coupons()->getRedemption('redemptionId');"}]}},"/coupons-redemptions/{id}/cancel":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Cancel a coupon redemption","operationId":"PostCouponRedemptionCancellation","x-sdk-operation-name":"cancelRedemption","x-sdk-resource":"Coupons","description":"Cancels a coupon redemption with a specified ID.","responses":{"201":{"description":"Coupon redemption canceled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->couponsRedemptions()->cancel('id');\n"},{"lang":"JavaScript","source":"const cancellation = await api.coupons.cancelRedemption({id: 'foobar-001'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(cancellation.response.status); // 201"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->coupons()->cancelRedemption('id');"}]}},"/coupons":{"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve coupons","operationId":"GetCouponCollection","x-sdk-operation-name":"getAll","description":"Retrieves 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":"List of coupons retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$coupons = $client->coupons()->search([\n    'filter' => 'status:issued',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.coupons.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.coupons.getAll(params);\n\n// access the collection items, each item is a Coupon\nsecondCollection.items.forEach(coupon => console.log(coupon.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponsPaginator = $service->coupons()->getAllPaginator(limit: 5, filter: 'status:issued');\nforeach ($couponsPaginator as $couponsPage) {\n    printf(\"Coupons page %d/%d\\n\", $couponsPaginator->key() + 1, $couponsPaginator->count());\n    foreach ($couponsPage as $coupon) {\n        printf(\"Coupon #%s (%s): %s\\n\", $coupon->getId(), $coupon->getStatus(), $coupon->getDescription());\n    }\n}\n\n// OR\n\n$coupons = $service->coupons()->getAll(filter: 'status:issued');\nforeach ($coupons as $coupon) {\n    printf(\"Coupon #%s (%s): %s\\n\", $coupon->getId(), $coupon->getStatus(), $coupon->getDescription());\n}"}]},"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Create a coupon","operationId":"PostCoupon","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a coupon.","requestBody":{"$ref":"#/components/requestBodies/Coupon"},"responses":{"201":{"description":"Coupon created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponForm = new Rebilly\\Entities\\Coupons\\Coupon();\n\n$discountArray = [\n    'currency' => 'USD',\n    'amount' => 1.99,\n];\n\n$discountForm = new \\Rebilly\\Entities\\Coupons\\Discounts\\Fixed($discountArray);\n$couponForm->setDiscount($discountForm);\n// Coupon can be used right now\n$couponForm->setIssuedTime(date('c'));\n\n$restrictionArray = [\n    'quantity' => 2,\n];\n\n$restrictionForm = new Rebilly\\Entities\\Coupons\\Restrictions\\DiscountsPerRedemption($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $client->coupons()->create($couponForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new coupon\nconst data = {\n    description: 'a new coupon',\n    issuedTime: '2017-09-19T20:46:44Z',\n    discount: {\n        type: 'percent',\n        value: 12\n    },\n    restrictions: [{\n        type: 'discounts-per-redemption',\n        quantity: 12\n    }]\n};\n\n// the ID is optional\nconst firstKey = await api.coupons.create({data});\n\n// or you can provide one\nconst secondKey = await api.coupons.create({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponForm = new \\Rebilly\\Sdk\\Model\\Coupon();\n\n$discountForm = new \\Rebilly\\Sdk\\Model\\DiscountFixed();\n$discountForm->setCurrency('USD');\n$discountForm->setAmount(1.99);\n\n$couponForm->setDiscount($discountForm);\n// Coupon can be used right now\n$couponForm->setIssuedTime(date('c'));\n\n$restrictionArray = [\n    'quantity' => 2,\n];\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $service->coupons()->create($couponForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve a coupon","operationId":"GetCoupon","x-sdk-operation-name":"get","description":"Retrieves a coupon with a specified ID.","responses":{"200":{"description":"Coupon retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$coupon = $client->coupons()->load('couponId');\n"},{"lang":"JavaScript","source":"const coupon = await api.coupons.get({couponId: 'foobar-001'});\nconsole.log(coupon.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$coupon = $service->coupons()->get('couponId');"}]},"put":{"x-products":["Core"],"tags":["Coupons"],"summary":"Upsert a coupon","operationId":"PutCoupon","x-sdk-operation-name":"update","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates or updates (upserts) a coupon with a specified coupon ID.","requestBody":{"$ref":"#/components/requestBodies/Coupon"},"responses":{"200":{"description":"Coupon updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"201":{"description":"Coupon created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponForm = new Rebilly\\Entities\\Coupons\\Coupon([\n    'issuedTime' => '2022-01-01T00:00:00-04:00',\n]);\n\n$discountArray = [\n    'type' => Rebilly\\Entities\\Coupons\\Discount::TYPE_FIXED,\n    'currency' => 'USD',\n    'amount' => 1.99,\n];\n\n$discountForm = Rebilly\\Entities\\Coupons\\Discount::createFromData($discountArray);\n$couponForm->setDiscount($discountForm);\n\n$restrictionArray = [\n    'type' => Rebilly\\Entities\\Coupons\\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION,\n    'quantity' => 2,\n];\n\n$restrictionForm = Rebilly\\Entities\\Coupons\\Restriction::createFromData($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $client->coupons()->create($couponForm, 'couponId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a coupon\nconst data = {\n    description: 'a new coupon',\n    issuedTime: '2017-09-19T20:46:44Z',\n    discount: {\n        type: 'percent',\n        value: 12\n    },\n    restrictions: [{\n        type: 'discounts-per-redemption',\n        quantity: 12\n    }]\n};\n\n// the ID is optional\nconst firstKey = await api.coupons.create({data});\n\n// or you can provide one\nconst secondKey = await api.coupons.create({id: 'my-second-id', data});\n\n\n// updating a coupon\nconst data = {\n    description: 'a small update'\n};\n\nconst coupon = await api.coupons.update({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$couponForm = new \\Rebilly\\Sdk\\Model\\Coupon();\n$couponForm->setIssuedTime('2022-01-01T00:00:00-04:00');\n\n$discountForm = new \\Rebilly\\Sdk\\Model\\DiscountFixed();\n$discountForm->setCurrency('USD');\n$discountForm->setAmount(1.99);\n\n$couponForm->setDiscount($discountForm);\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption();\n$restrictionForm->setQuantity(2);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $service->coupons()->update('couponId', $couponForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons/{id}/expiration":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/credentials":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve credentials","operationId":"GetCredentialCollection","x-sdk-operation-name":"getAllCredentials","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of authentication credentials.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of authentication credentials retrieved.","headers":{"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/CustomerCredential"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentials = $client->customerCredentials()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentials = $service->customerAuthentication()->getAllCredentials(limit: 10);"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllCredentials();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllCredentials(params);\n\n// access the collection items, each item is a CustomerCredential\nsecondCollection.items.forEach(credential => console.log(credential.fields.customerId));\n"}]},"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Create a credential","operationId":"PostCredential","x-sdk-operation-name":"createCredential","x-sdk-resource":"CustomerAuthentication","description":"Creates an authentication credential.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}},"description":"Credential resource.","required":true},"responses":{"201":{"description":"Credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentialForm = new Rebilly\\Entities\\CustomerCredential();\n$customerCredentialForm->setCustomerId('customerId');\n$customerCredentialForm->setUsername('test');\n$customerCredentialForm->setPassword('1234');\n\ntry {\n    $customerCredential = $client->customerCredentials()->create($customerCredentialForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    customerId: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the credential\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\n// the ID is optional\nconst firstCredential = await api.customerAuthentication.createCredential({data});\n\n// or you can provide one\nconst secondCredential = await api.customerAuthentication.createCredential({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentialForm = \\Rebilly\\Sdk\\Model\\CustomerCredential::from([])\n    ->setCustomerId('customerId')\n    ->setUsername('test')\n    ->setPassword('1234');\n\ntry {\n    $customerCredential = $service->customerAuthentication()->createCredential($customerCredentialForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/credentials/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve a credential","operationId":"GetCredential","x-sdk-operation-name":"getCredential","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a credential with a specified ID.","responses":{"200":{"description":"Credential retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredential = $client->customerCredentials()->load('credentialId');\n"},{"lang":"JavaScript","source":"const credential = await api.customerAuthentication.getCredential({id: 'my-first-id'});\nconsole.log(credential.fields.customerId);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredential = $service->customerAuthentication()->getCredential('credentialId');"}]},"put":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Upsert a credential","operationId":"PutCredential","x-sdk-operation-name":"updateCredential","x-sdk-resource":"CustomerAuthentication","description":"Creates or updates (upserts) an authentication credential with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}},"description":"Credential resource.","required":true},"responses":{"200":{"description":"Credential updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"201":{"description":"Credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentialForm = new Rebilly\\Entities\\CustomerCredential();\n$customerCredentialForm->setCustomerId('customerId');\n$customerCredentialForm->setUsername('test');\n$customerCredentialForm->setPassword('1234');\n\ntry {\n    $customerCredential = $client->customerCredentials()->update('credentialId', $customerCredentialForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    customerId: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the credential\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\n// the ID is optional\nconst firstCredential = await api.customerAuthentication.createCredential({data});\n\n// or you can provide one\nconst secondCredential = await api.customerAuthentication.createCredential({id: 'my-second-id', data});\n\n\n\n\n// updating a credential\nconst data = {\n    username: 'foobar',\n    password: 'hell0'\n};\n\nconst secondCredential = await api.customerAuthentication.updateCredential({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentialForm = \\Rebilly\\Sdk\\Model\\CustomerCredential::from([])\n    ->setCustomerId('customerId')\n    ->setUsername('test')\n    ->setPassword('1234');\n\ntry {\n    $customerCredential = $service->customerAuthentication()->updateCredential('credentialId', $customerCredentialForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/custom-fields/{resource}":{"parameters":[{"$ref":"#/components/parameters/customFieldResource"}],"get":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Retrieve custom fields","operationId":"GetCustomFieldCollection","x-sdk-operation-name":"getAll","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"description":"Retrieves the custom fields schema for a specified resource.","responses":{"200":{"description":"Schema of custom fields retrieved.","content":{"application/json":{"schema":{"description":"List of custom fields.","type":"array","items":{"$ref":"#/components/schemas/CustomField"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customFields = $client->customFields()->search('customers', [\n    'filter' => 'type:boolean',\n]);\n"},{"lang":"JavaScript","source":"// all parameters except `resource` are optional\nconst firstCollection = await api.customFields.getAll({resource: 'customers'});\n\n// alternatively you can specify one or more of them\nconst params = {resource: 'customers', limit: 20, offset: 100};\nconst secondCollection = await api.customFields.getAll(params);\n\n// access the collection items, each item is a CustomField\nsecondCollection.items.forEach(customField => console.log(customField.fields.description));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customFieldsPaginator = $service->customFields()->getAllPaginator(resource: 'customers', limit: 5);\nforeach ($customFieldsPaginator as $customFieldPage) {\n    printf(\"Custom fields page %d/%d\\n\", $customFieldsPaginator->key() + 1, $customFieldsPaginator->count());\n    foreach ($customFieldPage as $customField) {\n        printf(\"Custom field #%s: %s\\n\", $customField->getName(), $customField->getDescription());\n    }\n}\n\n// OR\n\n$customFields = $service->customFields()->getAll('customers');\nforeach ($customFields as $customField) {\n    printf(\"Custom field #%s: %s\\n\", $customField->getName(), $customField->getDescription());\n}"}]}},"/custom-fields/{resource}/{name}":{"parameters":[{"$ref":"#/components/parameters/customFieldResource"},{"name":"name","in":"path","description":"ID of the custom field.","required":true,"schema":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}],"get":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Retrieve a custom field","operationId":"GetCustomField","x-sdk-operation-name":"get","description":"Retrieves a specified custom field schema for a specified resource.","responses":{"200":{"description":"Custom field schema retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customField = $client->customFields()->load('customers', 'testFieldName');\n"},{"lang":"JavaScript","source":"const customField = await api.customFields.get({resource: 'customers', name: 'dob'});\nconsole.log(customField.fields.description);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customField = $service->customFields()->get('customers', 'testFieldName');"}]},"put":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Create or alter a custom field","operationId":"PutCustomField","x-sdk-operation-name":"create","description":"Creates or alters a specified custom field schema for a specified resource.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}},"description":"Custom fields schema of the specified resource.","required":true},"responses":{"200":{"description":"Custom field updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"201":{"description":"Custom field created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"description":"Schema in use. To remove or alter the schema, remove all\nassociated data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customFieldForm = new Rebilly\\Entities\\CustomField();\n$customFieldForm->setType($customFieldForm::TYPE_BOOLEAN);\n\ntry {\n    $customField = $client->customFields()->update('customers', 'testFieldName', $customFieldForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a custom field\nconst data = {\n    name: 'Date of Birth',\n    type: 'date',\n    description: `The customer's date of birth`\n};\n\n// define the entire payload\nconst params = {resource: 'customers', name: 'dob', data};\n\n// create the custom field\nconst customField = await api.customFields.create(params);\n\n// or update the custom field\nconst customField = await api.customFields.update(params);\nconsole.log(customField.fields.name);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customFieldForm = new \\Rebilly\\Sdk\\Model\\BooleanCustomField();\n$customFieldForm->setDescription('testFieldDescription');\n\ntry {\n    $customField = $service->customFields()->create('customers', 'testFieldName', $customFieldForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers":{"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve customers","operationId":"GetCustomerCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves 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"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of customers retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customers = $client->customers()->search([\n    'filter' => 'firstName:John',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customers.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.customers.getAll(params);\n\n// access the collection items, each item is a Customer\nsecondCollection.items.forEach(customer => console.log(customer.fields.primaryAddress.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customersPaginator = $service->customers()->getAllPaginator(limit: 5);\nforeach ($customersPaginator as $customerPage) {\n    printf(\"Customers page %d/%d\\n\", $customersPaginator->key() + 1, $customersPaginator->count());\n    foreach ($customerPage as $customer) {\n        printf(\"Customer #%s: %s\\n\", $customer->getId(), $customer->getFirstName());\n    }\n}\n\n// OR\n\n$customers = $service->customers()->getAll(filter: 'firstName:John');\nforeach ($customers as $customer) {\n    printf(\"Customer #%s: %s\\n\", $customer->getId(), $customer->getFirstName());\n}"}]},"post":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a customer","operationId":"PostCustomer","x-sdk-operation-name":"create","description":"Creates a new customer and customer ID.\n\nThe customer's primary address is used as the default address for payment instruments,\nsubscriptions, and invoices if none are provided.\n\nIf the customer already has an identifier within your system,\nand you want to create customer with a predefined ID &mdash;\nto prevent duplicate customers, use the _Upsert a customer with predefined ID_ operation.\nFor more information, see [Prevent duplicate customers](/docs/dev-docs/customers#prevent-duplicate-customers).","requestBody":{"$ref":"#/components/requestBodies/Customer"},"responses":{"201":{"description":"Customer created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerForm = new Rebilly\\Entities\\Customer();\n$customerForm->setPrimaryAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $customer = $client->customers()->create($customerForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new customer\nconst data = {\n    primaryAddress: {\n        firstName: 'John',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'john.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\n// the ID is optional\nconst firstCustomer = await api.customers.create({data});\n\n// or you can provide one\nconst secondCustomer = await api.customers.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerForm = \\Rebilly\\Sdk\\Model\\Customer::from([])\n    ->setWebsiteId('websiteId')\n    ->setPrimaryAddress(\n        \\Rebilly\\Sdk\\Model\\ContactObject::from([])\n            ->setFirstName('John')\n            ->setLastName('Doe')\n            ->setAddress('Test street 5')\n            ->setEmails([\n                \\Rebilly\\Sdk\\Model\\ContactEmails::from([])\n                    ->setLabel('main')\n                    ->setValue('johndoe@email.com')\n                    ->setPrimary(true),\n            ]),\n    );\n\ntry {\n    $customer = $service->customers()->create($customerForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve a customer","operationId":"GetCustomer","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a customer with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/collectionFields"}],"responses":{"200":{"description":"Customer retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customers = $client->customers()->load('myCustomerId');\n"},{"lang":"JavaScript","source":"const customer = await api.customers.get({id: 'foobar-001'});\nconsole.log(customer.fields.primaryAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customer = $service->customers()->get('customerId');"}]},"put":{"x-products":["Core"],"tags":["Customers"],"summary":"Upsert a customer","operationId":"PutCustomer","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a customer with a specified ID.\n\nIf the customer already has an identifier within your system,\nand you want to create a customer with a specified ID &mdash; use this operation to prevent duplicate customers.\nFor more information, see [Prevent duplicate customers](https://www.rebilly.com/docs/dev-docs/customers#prevent-duplicate-customers).","requestBody":{"$ref":"#/components/requestBodies/Customer"},"responses":{"200":{"$ref":"#/components/responses/Customer"},"201":{"description":"Customer with a specified ID created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerForm = new Rebilly\\Entities\\Customer();\n$customerForm->setPrimaryAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $customer = $client->customers()->update('myCustomerId', $customerForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a customer\nconst data = {\n    primaryAddress: {\n        firstName: 'John',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'john.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\n// the ID is optional\nconst firstCustomer = await api.customers.create({data});\n\n// or you can provide one\nconst secondCustomer = await api.customers.create({id: 'my-second-id', data});\n\n\n\n// updating a customer\nconst data = {\n    primaryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'johnny.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\nconst customer = await api.customers.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerForm = \\Rebilly\\Sdk\\Model\\Customer::from([])\n    ->setWebsiteId('websiteId')\n    ->setPrimaryAddress(\n        \\Rebilly\\Sdk\\Model\\ContactObject::from([])\n            ->setFirstName('John')\n            ->setLastName('Doe')\n            ->setAddress('Test street 5')\n            ->setEmails([\n                \\Rebilly\\Sdk\\Model\\ContactEmails::from([])\n                    ->setLabel('main')\n                    ->setValue('johndoe@email.com')\n                    ->setPrimary(true),\n            ]),\n    );\n\ntry {\n    $customer = $service->customers()->update('myCustomerId', $customerForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"parameters":[{"in":"query","name":"targetCustomerId","required":true,"schema":{"type":"string"},"description":"ID of the customer that you want to delete. This field is used\nto obtain the customer's data."}],"tags":["Customers"],"summary":"Merge and delete a customer","operationId":"DeleteCustomer","x-sdk-operation-name":"merge","description":"Merges one duplicate customer to another target customer and deletes the former.","responses":{"204":{"description":"Customer is merged and deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->customers()->merge('customerId', 'targetCustomerId');"}]}},"/customer-timeline-custom-events":{"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline custom event types","operationId":"GetCustomerTimelineCustomEventTypeCollection","x-sdk-operation-name":"getAll","x-sdk-skip":true,"description":"Retrieves a list of customer timeline custom event types.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of customer timeline custom event types retrieved.","headers":{"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"}}}},"/customer-timeline-custom-events/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline custom event type","operationId":"GetCustomerTimelineCustomEventType","x-sdk-operation-name":"get","x-sdk-skip":true,"description":"Retrieves a customer timeline custom event type with a specified ID.","responses":{"200":{"description":"Customer timeline custom event type retrieved.","headers":{"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"}}}},"/customers/{id}/lead-source":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve a customer's lead source","operationId":"GetCustomerLeadSource","x-sdk-operation-name":"getLeadSource","description":"Retrieves lead source data for a customer with a specified ID.\n\nA lead source is the marketing campaign that generates customer interaction, a sale, or a trial.\nFor more information, see [Lead source attribution](https://www.rebilly.com/docs/dev-docs/customers/#lead-source-attribution).","responses":{"200":{"description":"Lead source retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customer = $client->customers()->load('myCustomerId');\n$leadSource = $customer->getLeadSource();\n"},{"lang":"JavaScript","source":"const lead = await api.customers.getLeadSource({id: 'my-second-id'});\nconsole.log(lead.fields.affiliate);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customerLeadSource = $service->customers()->getLeadSource('customerId');"}]},"put":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a customer's lead source","operationId":"PutCustomerLeadSource","x-sdk-operation-name":"createLeadSource","description":"Creates a lead source for a customer with a specified ID.\n\nA lead source is the marketing campaign that\ngenerates customer interaction, a sale, or a trial.\nFor more information, see [Lead source attribution](/docs/dev-docs/lead-source-attribution).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}},"description":"Lead Source resource.","required":true},"responses":{"201":{"description":"Lead source created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$leadSourceForm = new Rebilly\\Entities\\LeadSource();\n$leadSourceForm->setSource('TestSource');\n$leadSourceForm->setCampaign('TestCampaign');\n\ntry {\n    $customer = $client->customers()->updateLeadSource('myCustomerId', $leadSourceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new lead source\nconst data = {\n    medium: 'foobar',\n    source: 'www.google.com',\n    campaign: 'my-first-campaign',\n    term: 'subscriptions',\n    content: 'subscription business',\n    affiliate: 'Acme',\n    subAffiliate: null,\n    salesAgent: null,\n    clickId: null,\n    path: null,\n    ipAddress: '12.34.56.78',\n    currency: 'USD',\n    amount: 0\n};\n\nconst lead = await api.customers.createLeadSource({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$leadSourceForm = \\Rebilly\\Sdk\\Model\\LeadSource::from([])\n    ->setSource('TestSource')\n    ->setCampaign('TestCampaign');\n\ntry {\n    $customer = $service->customers()->createLeadSource('myCustomerId', $leadSourceForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline messages","operationId":"GetCustomerTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves customer timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of customer timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.customers\n    .getAllTimelineMessages({id: 'my-customer'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-customer', limit: 20, offset: 100};\nconst secondCollection = await api.customers.getAllTimelineMessages(params);\n\n// access the collection items, each item is a CustomerTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Create a customer timeline comment","operationId":"PostCustomerTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .customers.createTimelineComment({id: 'my-customer-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #customers-customer-id`;\nconst params = {\n    id: 'my-customer-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.customers.createTimelineComment(params);"}]}},"/customers/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the customer timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve a customer timeline message","operationId":"GetCustomerTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a customer message with a specified ID.","responses":{"200":{"description":"Customer message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.customers\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]}},"/customers/{id}/credit-balance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve customer credit balance","operationId":"GetCustomerCreditBalance","x-sdk-operation-name":"getCustomerCreditBalance","description":"Retrieves a customer's credit balance grouped by currency.","responses":{"200":{"description":"Customer credit balance retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCreditBalance"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/customers/{id}/compliance-screening-report":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a compliance screening report","operationId":"PostCustomerComplianceScreeningReport","x-sdk-operation-name":"generateComplianceScreeningReport","description":"Creates a compliance screening report that includes Know Your Customer (KYC) and Anti-Money Laundering (AML) results for a customer.\nThe report is stored as a PDF customer attachment.\nRequires the KYC and AML products to be enabled for the organization.","responses":{"201":{"description":"Compliance screening report generated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/disputes":{"get":{"x-products":["Core"],"tags":["Disputes"],"summary":"Retrieve disputes","operationId":"GetDisputeCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of all disputes.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of disputes successfully retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputes = $client->disputes()->search([\n    'filter' => 'transactionId:testId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.disputes.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.disputes.getAll(params);\n\n// access the collection items, each item is a Dispute\nsecondCollection.items.forEach(dispute => console.log(dispute.fields.transactionId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputesPaginator = $service->disputes()->getAllPaginator(filter: 'transactionId:testId', limit: 5);\nforeach ($disputesPaginator as $disputesPage) {\n    printf(\"Disputes page %d/%d\\n\", $disputesPaginator->key() + 1, $disputesPaginator->count());\n    foreach ($disputesPage as $dispute) {\n        printf(\"Dispute #%s (%s)\\n\", $dispute->getId(), $dispute->getStatus());\n    }\n}\n\n// OR\n\n$disputes = $service->disputes()->getAll(filter: 'transactionId:testId');\nforeach ($disputes as $dispute) {\n    printf(\"Dispute #%s (%s)\\n\", $dispute->getId(), $dispute->getStatus());\n}"}]},"post":{"x-products":["Core"],"tags":["Disputes"],"summary":"Create a dispute","operationId":"PostDispute","x-sdk-operation-name":"create","description":"Creates a new dispute.","requestBody":{"$ref":"#/components/requestBodies/Dispute"},"responses":{"201":{"description":"Dispute created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputeForm = new Rebilly\\Entities\\Dispute();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode(1000);\n$disputeForm->setType($disputeForm::TYPE_1CB);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $client->disputes()->create($disputeForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new dispute\nconst data = {\n    transactionId: 'my-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\n// the ID is optional\nconst firstdispute = await api.disputes.create({data});\n\n// or you can provide one\nconst secondDispute = await api.disputes.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputeForm = new \\Rebilly\\Sdk\\Model\\PostDisputeRequest();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode('1000');\n$disputeForm->setType($disputeForm::TYPE_INFORMATION_REQUEST);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $service->disputes()->create($disputeForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/disputes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Disputes"],"summary":"Retrieve a dispute","operationId":"GetDispute","x-sdk-operation-name":"get","description":"Retrieves a dispute with a specified ID.","responses":{"200":{"description":"Dispute retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$dispute = $client->disputes()->load('disputeId');\n"},{"lang":"JavaScript","source":"const dispute = await api.disputes.get({id: 'foobar-001'});\nconsole.log(dispute.fields.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$dispute = $service->disputes()->get('disputeId');"}]},"put":{"x-products":["Core"],"tags":["Disputes"],"summary":"Upsert a dispute","operationId":"PutDispute","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a dispute with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Dispute"},"responses":{"200":{"description":"Dispute updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"201":{"description":"Dispute created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputeForm = new Rebilly\\Entities\\Dispute();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode(1000);\n$disputeForm->setType($disputeForm::TYPE_1CB);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $client->disputes()->update('disputeId', $dispute);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a dispute\nconst data = {\n    transactionId: 'my-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\n// the ID is optional\nconst firstdispute = await api.disputes.create({data});\n\n// or you can provide one\nconst secondDispute = await api.disputes.create({id: 'my-second-id', data});\n\n\n\n// updating a dispute\nconst data = {\n    transactionId: 'my-other-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\nconst dispute = await api.disputes.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputeForm = new \\Rebilly\\Sdk\\Model\\PostDisputeRequest();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode('1000');\n$disputeForm->setType($disputeForm::TYPE_INFORMATION_REQUEST);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $service->disputes()->update('disputeId', $disputeForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/{resource}/{resourceId}/external-identifiers/{service}":{"parameters":[{"$ref":"#/components/parameters/externalIdentifierResource"},{"$ref":"#/components/parameters/externalIdentifierResourceId"},{"$ref":"#/components/parameters/externalIdentifierService"}]},"/files":{"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve files","operationId":"GetFileCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of files.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of files retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$files = $client->files()->search([\n    'filter' => 'name:TestFile',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.files.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.files.getAll(params);\n\n// access the collection items, each item is a File\nsecondCollection.items.forEach(file => console.log(file.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$filesPaginator = $service->files()->getAllPaginator(limit: 5, filter: 'name:TestFile');\nforeach ($filesPaginator as $filesPage) {\n    printf(\"Files page %d/%d\\n\", $filesPaginator->key() + 1, $filesPaginator->count());\n    foreach ($filesPage as $file) {\n        printf(\"File #%s: %s\\n\", $file->getId(), $file->getName());\n    }\n}\n\n// OR\n\n$files = $service->files()->getAll(filter: 'name:TestFile');\nforeach ($files as $file) {\n    printf(\"File #%s: %s\\n\", $file->getId(), $file->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Files"],"summary":"Create a file","operationId":"PostFile","x-sdk-operation-name":"upload","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"description":"Creates a file.\n\nAdditionally, a file can be sent by:\n\n - Multipart/form-data POST request: In this request,\n the file is uploaded and all property names are the same as the JSON names.\n - File body request: In this request,\n the file body is sent as the request body, with the appropriate `Content-Type`.\n No additional properties can be set with the request data.\n\nPermitted file types: `.jpg`, `.png`, `.gif`, `.webp`, and `.pdf`.\n\nWhen using a publishable API key, only private files can be created.\nThe files can be modified at a later point or time,\nor can be accessed 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$fileForm = new Rebilly\\Entities\\File();\n$fileForm->setUrl('http://test.com/somefile.jpg');\n\ntry {\n    $file = $client->files()->create($fileForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\nconst addedFile = await api.files.upload({fileObject});\n\n\n\n\n// or, upload and update a file at the same time\n\n// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\n// define file data\nconst data = {\n    description: 'my new file',\n    tags: ['original']\n};\n\nconst addedFile = await api.files.uploadAndUpdate({fileObject, data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$fileForm = new \\Rebilly\\Sdk\\Model\\FileCreateFromUrl();\n$fileForm->setUrl('http://test.com/somefile.jpg');\n\ntry {\n    $file = $service->files()->upload($fileForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/files/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve a file record","operationId":"GetFile","x-sdk-operation-name":"get","description":"Retrieves a file with a specified ID.","responses":{"200":{"description":"File retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$file = $client->files()->load('fileId');\n"},{"lang":"JavaScript","source":"const file = await api.files.get({id: 'foobar-001'});\nconsole.log(file.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$file = $service->files()->get('fileId');"}]},"put":{"x-products":["Core"],"tags":["Files"],"summary":"Update a file","operationId":"PutFile","x-sdk-operation-name":"update","description":"Updates a file with a specified ID.\n\n> **Note:** Files can only be uploaded by POST request.\nFor more information, see the Create a file operation.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"File resource.","required":true},"responses":{"200":{"description":"File updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$fileForm = new Rebilly\\Entities\\File();\n$fileForm->setDescription('This is a test file');\n\ntry {\n    $file = $client->files()->update('fileId', $fileForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// define the values to update\nconst data = {\n    name: 'new file name',\n    description: 'a fitting description',\n    tags: ['original']\n};\n\nconst file = await api.files.update({id: 'my-file-id', data});\n\n\n\n\n// or, upload and update a file at the same time\n\n// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\n// define file data\nconst data = {\n    description: 'my new file',\n    tags: ['original']\n};\n\nconst addedFile = await api.files.uploadAndUpdate({fileObject, data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$fileForm = new \\Rebilly\\Sdk\\Model\\File();\n$fileForm->setDescription('This is a test file');\n\ntry {\n    $file = $service->files()->update('fileId', $fileForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Files"],"summary":"Delete a file","operationId":"DeleteFile","x-sdk-operation-name":"delete","description":"Deletes a file with a specified ID.","responses":{"204":{"description":"File deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->files()->delete('fileId');\n"},{"lang":"JavaScript","source":"// simply delete a file\nconst request = await api.files.delete({id: 'my-file-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204\n\n\n\n\n// or, delete a file and its related resource attachments\n// use this method to remove the file completely from all resources at once.\n\nconst request = await api.files.detachAndDelete({id: 'my-file-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->files()->delete('fileId');"}]}},"/files/{id}/download":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/imageSize"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Download a file","operationId":"GetFileDownload","x-sdk-operation-name":"download","description":"Downloads a file with a specified ID.","responses":{"200":{"description":"File retrieved.","headers":{"Content-Length":{"description":"Number of bytes in the file.","schema":{"type":"integer"},"example":48},"Content-Type":{"description":"MIME type of the file.","schema":{"type":"string"},"example":"image/png"}},"content":{"application/json":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"application/pdf":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"application/zip":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/jpg":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/png":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/gif":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/webp":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"text/csv":{"schema":{"type":"string","readOnly":true,"format":"binary"}}}},"302":{"$ref":"#/components/responses/Found"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const file = await api.files.download({id: 'my-file-id'});\n\n// access the file ArrayBuffer to view the content \nconsole.log(file.data);"}]}},"/application-instances/{applicationId}":{"parameters":[{"$ref":"#/components/parameters/applicationId"}]},"/application-instances/{applicationId}/configuration":{"parameters":[{"$ref":"#/components/parameters/applicationId"}]},"/applications/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/applications/{id}/instances":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/applications/{id}/instances/{organizationId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/organizationId"}]},"/invoices":{"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve invoices","operationId":"GetInvoiceCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of invoices.\nEach invoice in the list includes up to 10 of the most recent transactions in `transactions`.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/invoiceCollectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of invoices retrieved.","headers":{"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/Invoice"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoices = $client->invoices()->search([\n    'filter' => 'customerId:testCustomerId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.invoices.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.invoices.getAll(params);\n\n// access the collection items, each item is an Invoice\nsecondCollection.items.forEach(invoice => console.log(invoice.fields.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoicesPaginator = $service->invoices()->getAllPaginator(filter: 'customerId:testCustomerId', limit: 5);\nforeach ($invoicesPaginator as $invoicePage) {\n    printf(\"Invoices page %d/%d\\n\", $invoicesPaginator->key() + 1, $invoicesPaginator->count());\n    foreach ($invoicePage as $invoice) {\n        printf(\"Invoice #%s (%s): %.2f\\n\", $invoice->getId(), $invoice->getStatus(), $invoice->getAmount());\n    }\n}\n\n// OR\n\n$invoices = $service->invoices()->getAll(filter: 'customerId:testCustomerId', limit: 100);\nforeach ($invoices as $invoice) {\n    printf(\"Invoice #%s (%s): %.2f\\n\", $invoice->getId(), $invoice->getStatus(), $invoice->getAmount());\n}"}]},"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Create an invoice","operationId":"PostInvoice","x-sdk-operation-name":"create","description":"Creates an invoice.","requestBody":{"$ref":"#/components/requestBodies/Invoice"},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceForm = new Rebilly\\Entities\\Invoice();\n$invoiceForm->setCustomerId('customerId');\n$invoiceForm->setWebsiteId('websiteId');\n$invoiceForm->setCurrency('USD');\n$invoiceForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $invoice = $client->invoices()->create($invoiceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\n// the ID is optional\nconst firstInvoice = await api.invoices.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.invoices.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoice = \\Rebilly\\Sdk\\Model\\Invoice::from()\n    ->setCustomerId('customerId')\n    ->setWebsiteId('websiteId')\n    ->setCurrency('USD')\n    ->setBillingAddress([\n        'firstName' => 'John',\n        'lastName' => 'Doe',\n        'organization' => 'Test LTD',\n        'address' => 'Test street 5',\n        'address2' => 'Test house 5',\n        'city' => 'New York',\n        'region' => 'Long Island',\n        'country' => 'US',\n        'postalCode' => '123456',\n        'emails' => [\n            [\n                'label' => 'main',\n                'value' => 'johndoe@testemail.com',\n                'primary' => true,\n            ],\n            [\n                'label' => 'secondary',\n                'value' => 'otheremail@testemail.com',\n            ],\n        ],\n        'phoneNumbers' => [\n            [\n                'label' => 'work',\n                'value' => '+123456789',\n                'primary' => true,\n            ],\n            [\n                'label' => 'home',\n                'value' => '+9874654321',\n            ],\n        ],\n    ]);\n\ntry {\n    $invoice = $service->invoices()->create($invoice);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve an invoice","operationId":"GetInvoice","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves an invoice with a specified ID.","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->load('invoiceId');\n"},{"lang":"JavaScript","source":"const invoice = await api.invoices.get({id: 'foobar-001'});\nconsole.log(invoice.fields.primaryAddress.firstName);\n\n\n// alternatively, download as a PDF file\nconst pdf = await api.invoices.downloadPDF({id: 'foobar-001'});\n// the invoice's data in arraybuffer format\nconsole.log(pdf.data);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->get('invoiceId');"}]},"put":{"x-products":["Core"],"tags":["Invoices"],"summary":"Upsert an invoice","operationId":"PutInvoice","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an invoice with a specified ID.\nReturns a conflict error if the specified ID belongs to an upcoming invoice.","requestBody":{"$ref":"#/components/requestBodies/Invoice"},"responses":{"200":{"description":"Invoice updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceForm = new Rebilly\\Entities\\Invoice();\n$invoiceForm->setCustomerId('customerId');\n$invoiceForm->setWebsiteId('websiteId');\n$invoiceForm->setCurrency('USD');\n$invoiceForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $invoice = $client->invoices()->update('invoiceId', $invoiceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating an invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\n// the ID is optional\nconst firstInvoice = await api.invoices.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.invoices.create({id: 'my-second-id', data});\n\n\n\n// updating an invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\nconst invoice = await api.invoices.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoice = \\Rebilly\\Sdk\\Model\\Invoice::from()\n    ->setCustomerId('customerId')\n    ->setWebsiteId('websiteId')\n    ->setCurrency('USD')\n    ->setBillingAddress([\n        'firstName' => 'John',\n        'lastName' => 'Doe',\n        'organization' => 'Test LTD',\n        'address' => 'Test street 5',\n        'address2' => 'Test house 5',\n        'city' => 'New York',\n        'region' => 'Long Island',\n        'country' => 'US',\n        'postalCode' => '123456',\n        'emails' => [\n            [\n                'label' => 'main',\n                'value' => 'johndoe@testemail.com',\n                'primary' => true,\n            ],\n            [\n                'label' => 'secondary',\n                'value' => 'otheremail@testemail.com',\n            ],\n        ],\n        'phoneNumbers' => [\n            [\n                'label' => 'work',\n                'value' => '+123456789',\n                'primary' => true,\n            ],\n            [\n                'label' => 'home',\n                'value' => '+9874654321',\n            ],\n        ],\n    ]);\n\ntry {\n    $invoice = $service->invoices()->update('invoiceId', $invoice);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve invoice items","operationId":"GetInvoiceItemCollection","x-sdk-operation-name":"getAllInvoiceItems","description":"Retrieves invoice items with a specified invoice ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Invoice items retrieved.","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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItems = $client->invoiceItems()->search('invoiceId', [\n    'filter' => 'quantity:5',\n]);\n"},{"lang":"JavaScript","source":"// get the top 20 invoice items for this ID\nconst invoiceItems = await api.invoices.getAllInvoiceItems({id: 'my-invoice-id', limit: 20});\ninvoiceItems.items.forEach(item => console.log(item.fields.description));"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoiceItems = $service->invoices()->getAllInvoiceItems('invoiceId');"}]},"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Create an invoice item","operationId":"PostInvoiceItem","x-sdk-operation-name":"createInvoiceItem","description":"Creates an invoice item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}},"description":"InvoiceItem resource.","required":true},"responses":{"201":{"description":"Invoice item created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItemForm = new Rebilly\\Entities\\InvoiceItem();\n$invoiceItemForm->setType($invoiceItemForm::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $client->invoiceItems()->create($invoiceItemForm, 'invoiceId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice item\nconst data = {\n    type: 'debit', \n    unitPrice: 5\n};\n\nconst invoiceItem = await api.invoices.createInvoiceItem({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceItem = new \\Rebilly\\Sdk\\Model\\InvoiceItem();\n$invoiceItemForm->setType(\\Rebilly\\Sdk\\Model\\InvoiceItem::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $service->invoices()->createInvoiceItem('invoiceId', $invoiceItem);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the invoice item.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve an invoice item","operationId":"GetInvoiceItem","x-sdk-operation-name":"getInvoiceItem","description":"Retrieves an invoice item.","responses":{"200":{"description":"Invoice item retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItems = $client->invoiceItems()->load('invoiceId');\n"},{"lang":"JavaScript","source":"const invoiceItem = await api.invoices.getInvoiceItem({id: 'foobar-001'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoiceItem = $service->invoices()->getInvoiceItem('invoiceId', 'invoiceItemId');"}]},"put":{"x-products":["Core"],"tags":["Invoices"],"summary":"Update an invoice item","operationId":"PutInvoiceItem","x-sdk-operation-name":"updateInvoiceItem","description":"Updates an invoice item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}},"description":"Invoice item resource.","required":true},"responses":{"200":{"description":"Invoice item updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItemForm = new Rebilly\\Entities\\InvoiceItem();\n$invoiceItemForm->setType($invoiceItemForm::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $client->invoiceItems()->update($invoiceItemForm, 'invoiceId', 'invoiceItemId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice item\nconst data = {\n    type: 'debit',\n    unitPrice: 5\n};\n\nconst invoiceItem = await api.invoices.updateInvoiceItem({id: 'id', itemId: 'itemId', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceItem = \\Rebilly\\Sdk\\Model\\InvoiceItem::from([\n    'type' => \\Rebilly\\Sdk\\Model\\InvoiceItem::TYPE_DEBIT,\n    'unitPrice' => 0.99,\n    'quantity' => 5,\n]);\n\ntry {\n    $invoiceItem = $service->invoices()->updateInvoiceItem('invoiceId', 'invoiceItemId', $invoiceItem);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Invoices"],"summary":"Delete an invoice item","operationId":"DeleteInvoiceItem","x-sdk-operation-name":"deleteInvoiceItem","description":"Deletes an invoice item.","responses":{"204":{"description":"Invoice item deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->invoiceItems()->delete('invoiceId', 'invoiceItemId');\n"},{"lang":"JavaScript","source":"const invoiceItem = await api.invoices.deleteInvoiceItem({id: 'id', itemId: 'itemId'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->invoices()->deleteInvoiceItem('invoiceId', 'invoiceItemId');"}]}},"/invoices/{id}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Issue an invoice","operationId":"PostInvoiceIssuance","x-sdk-operation-name":"issue","description":"Issues an invoice with a specified ID.\nThe invoice must be in `draft` status.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"Invoice issue resource.","required":true},"responses":{"201":{"description":"Invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->issue('invoiceId', '2025-01-01 05:00:00');\n"},{"lang":"JavaScript","source":"// define the issued time\nconst data = {\n    issuedTime: \"2017-09-19T20:46:51Z\"\n};\n\n// issue the invoice without an issued time\nconst firstInvoice = await api.invoices.issue({id: 'my-first-id'});\n\n// or include it\nconst secondInvoice = await api.invoices.issue({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->issue('invoiceId', new \\Rebilly\\Sdk\\Model\\InvoiceIssue([\n    'issuedTime' => '2025-01-01 05:00:00',\n]));"}]}},"/invoices/{id}/abandon":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Abandon an invoice","operationId":"PostInvoiceAbandonment","x-sdk-operation-name":"abandon","description":"Abandons an invoice with a specified ID.\nThis operation removes credit memo allocations from the invoice.\nUnused credit returns to the credit memo.","responses":{"201":{"description":"Invoice abandoned.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->abandon('invoiceId');\n"},{"lang":"JavaScript","source":"const abandonedInvoice = await api.invoices.abandon({id: 'my-invoice-id'});\nconsole.log(abandonedInvoice.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->abandon('invoiceId');"}]}},"/invoices/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Void an invoice","operationId":"PostInvoiceVoid","x-sdk-operation-name":"void","description":"Voids an invoice with a specified ID.\nThis operation removes credit memo allocations from the invoice.\nUnused credit returns to the credit memo.","responses":{"201":{"description":"Invoice voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->void('invoiceId');\n"},{"lang":"JavaScript","source":"const voidedInvoice = await api.invoices.void({id: 'my-invoice-id'});\nconsole.log(voidedInvoice.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->void('invoiceId');"}]}},"/invoices/{id}/recalculate":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Recalculate an invoice","operationId":"PostInvoiceRecalculation","x-sdk-operation-name":"recalculate","description":"Recalculates shipping rates, taxes, and discounts on an invoice with a specified ID.\n\nOne use case for this operation to apply a revoked coupon,\nor coupon that is redeemed by a customer after the invoice is issued.","responses":{"201":{"description":"Invoice recalculated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->recalculate('invoiceId');"}]}},"/invoices/{id}/reissue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Reissue an invoice","operationId":"PostInvoiceReissuance","x-sdk-operation-name":"reissue","description":"Reissues an invoice with a specified ID.\nThe status of the invoice must be `unpaid`, `partially paid`, `past due` or `abandoned`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceReissue"}}},"description":"InvoiceReissue resource.","required":true},"responses":{"201":{"description":"Invoice reissued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceReissue = new \\Rebilly\\Sdk\\Model\\InvoiceReissue([\n    'dueTime' => '2025-01-01 05:00:00',\n]);\n\ntry {\n    $invoiceReissue = $service->invoices()->reissue('invoiceId', $invoiceReissue);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/transaction-allocations":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve transaction amounts allocations","operationId":"GetInvoiceTransactionAllocationCollection","x-sdk-operation-name":"getAllTransactionAllocations","description":"Retrieves amounts from a transaction that are allocated as invoice payments.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of allocations retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$transactionAllocations = $service->invoices()->getAllTransactionAllocations('invoiceId');"}]}},"/invoices/{id}/allocate-credit-balance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Allocate customer credit balance to an invoice","operationId":"PostInvoiceAllocateCreditBalance","x-sdk-operation-name":"allocateCreditBalance","description":"Allocates existing allocatable credit memos related to the invoice customer.\nSpecific credit memos cannot be provided in the request and are selected automatically.\nAllocation can be capped with `amount`.\nCredit memos are applied automatically in the specified allocation order.\nIf no order is specified, `oldest-first` is used.","requestBody":{"description":"Invoice credit memo automatic allocation settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreditMemoAllocationRequest"}}}},"responses":{"200":{"description":"Credit memos allocated to invoice.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreditMemoAllocationResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/invoices/{id}/transaction":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/invoices/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Retrieve invoice timeline messages","operationId":"GetInvoiceTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of invoice timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of invoice timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.invoices\n    .getAllTimelineMessages({id: 'my-invoice'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-invoice', limit: 20, offset: 100};\nconst secondCollection = await api.invoices.getAllTimelineMessages(params);\n\n// access the collection items, each item is an InvoiceTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$timelineMessages = $service->invoices()->getAllTimelineMessages('invoiceId', filter: 'triggeredBy:direct-api');"}]},"post":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Create an invoice timeline comment","operationId":"PostInvoiceTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .invoices.createTimelineComment({id: 'my-invoice-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #invoice-subscription-id`;\nconst params = {\n    id: 'my-invoice-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.invoices.createTimelineComment(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$timelineMessage = new \\Rebilly\\Sdk\\Model\\InvoiceTimeline([\n    'message' => 'Automatic message',\n]);\n\ntry {\n    $timelineMessage = $service->invoices()->createTimelineComment('invoiceId', $timelineMessage);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the invoice timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Retrieve an invoice timeline message","operationId":"GetInvoiceTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves an invoice timeline message with a specified ID.","responses":{"200":{"description":"Invoice message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.invoices\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$timelineMessage = $service->invoices()->getTimelineMessage('invoiceId', 'messageId');"}]},"delete":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Delete an invoice timeline message","operationId":"DeleteInvoiceTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes an invoice timeline message with a specified ID.","responses":{"204":{"description":"Invoice timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.invoices\n    .deleteTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->invoices()->deleteTimelineMessage('invoiceId', 'messageId');"}]}},"/credit-memos":{"get":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Retrieve credit memos","operationId":"GetCreditMemoCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of credit memos.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of credit memos retrieved.","headers":{"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/CreditMemo"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Create a credit memo","operationId":"PostCreditMemo","x-sdk-operation-name":"create","description":"Creates a credit memo.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"responses":{"201":{"description":"Credit memo created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Retrieve a credit memo","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"}],"operationId":"GetCreditMemo","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a credit memo with a specified ID.","responses":{"200":{"description":"Credit memo retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Upsert a credit memo","operationId":"PutCreditMemo","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a credit memo with a specified ID.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"responses":{"200":{"description":"Credit memo updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"201":{"description":"Credit memo created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"patch":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Partially update a credit memo","operationId":"PatchCreditMemo","x-sdk-operation-name":"patch","description":"Partially updates a credit memo with a specified ID.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchCreditMemoRequest"}}}},"responses":{"200":{"description":"Credit memo updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Void a credit memo","operationId":"PostCreditMemoVoid","x-sdk-operation-name":"void","description":"Voids a credit memo with a specified ID.\nRemoves the invoice allocations of the credit memo and returns the allocated amounts to the invoices.\nIf the credit memo is allocated to an invoice that is not payable, such as a paid invoice,\nthe request fails with a `409` response and the credit memo is not changed.","responses":{"201":{"description":"Credit memo voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/refund":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/credit-memos/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Retrieve credit memo timeline messages","operationId":"GetCreditMemoTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of credit memo timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of credit memo timeline messages retrieved.","headers":{"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/CreditMemoTimeline"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Create a credit memo timeline message","operationId":"PostCreditMemoTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a credit memo timeline message.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}},"description":"Credit memo timeline resource.","required":true},"responses":{"201":{"description":"Credit memo timeline message created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the credit memo timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Retrieve a credit memo timeline message","operationId":"GetCreditMemoTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a credit memo timeline message with a specified ID.","responses":{"200":{"description":"Credit memo timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Delete a credit memo timeline message","operationId":"DeleteCreditMemoTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes a credit memo timeline message with a specified ID.","responses":{"204":{"description":"Credit memo timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/journal-accounts":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal accounts","operationId":"GetJournalAccountCollection","x-sdk-operation-name":"getAllAccounts","description":"Retrieves a list of journal accounts.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of journal accounts retrieved.","headers":{"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/JournalAccount"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Journal"],"summary":"Create a journal account","operationId":"PostJournalAccount","x-sdk-operation-name":"createAccount","description":"Creates a journal account.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}},"description":"Journal account resource.","required":true},"responses":{"201":{"description":"Journal account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/journal-accounts/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal account","operationId":"GetJournalAccount","x-sdk-operation-name":"getAccount","description":"Retrieves a journal account with a specified ID.","responses":{"200":{"description":"Journal account retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/journal-entries":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal entries","operationId":"GetJournalEntryCollection","x-sdk-operation-name":"getAllEntries","description":"Retrieves a list of journal entries.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of journal entries retrieved.","headers":{"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/JournalEntry"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/journal-entries/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal entry","operationId":"GetJournalEntry","x-sdk-operation-name":"getEntry","description":"Retrieves a journal entry with a specified ID.","responses":{"200":{"description":"Journal entry retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEntry"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/journal-records":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal records","operationId":"GetJournalRecordCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of journal records.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of journal records retrieved.","headers":{"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/JournalRecord"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/journal-records/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal record","operationId":"GetJournalRecord","x-sdk-operation-name":"get","description":"Retrieves a journal record with a specified ID.","responses":{"200":{"description":"Journal record retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalRecord"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/kyc-requests":{"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Create a KYC request","operationId":"PostKycRequest","x-sdk-operation-name":"create","description":"Creates a KYC request.\n\nThe customer is redirected to the `kycGatherer` link.\nAfter the customer completes the KYC process,\nthey are redirected back to the `redirectUrl` link.\n\nCorresponding webhooks, such as: KYC document accepted and KYC document rejected,\nare sent to the subscribers.\n\nWhen the complete list of documents is received and accepted,\nthe KYC request fulfilled webhook is sent to subscribers.\n\nIf a `credit-file-proof` request is successful,\nit returns a `decision` value of `single-source` or `dual-source`.\nThe corresponding `identity-proof` and `address-proof` documents are not requested.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"},"examples":{"credit-file-identity-address":{"summary":"Credit file with fallback","description":"In the sandbox environment, to mark a `credit-file-proof` KYC document as `accepted`,\npass the customer's first name to the `accept` field.\nIf an incorrect first name is passed, the document is rejected.","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"credit-file-proof","maxAttempts":1},{"type":"identity-proof"},{"type":"address-proof"}],"reason":"registration"}},"identity-with-face-proof":{"summary":"Identity with face proof","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"identity-proof","faceProofRequired":true,"faceLivenessRequired":false}],"reason":"registration"}},"identity-and-address":{"summary":"Identity and address","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"identity-proof"},{"type":"address-proof"}],"reason":"registration"}}}}},"description":"KYC request resource.","required":true},"responses":{"201":{"description":"KYC request created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC requests","operationId":"GetKycRequestCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of KYC requests.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of KYC requests retrieved.","headers":{"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/KycRequest"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/kyc-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve a KYC request","operationId":"GetKycRequest","x-sdk-operation-name":"get","description":"Retrieves a KYC request with a specified ID.","responses":{"200":{"description":"KYC request retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/kyc-documents":{"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC documents","operationId":"GetKycDocumentCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of KYC documents.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of KYC documents retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.kycDocuments.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.kycDocuments.getAll(params);\n\n// access the collection items, each item is a KycDocument\nsecondCollection.items.forEach(document => console.log(document.fields.documentType));\n"}]},"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Create a KYC document","operationId":"PostKycDocument","x-sdk-operation-name":"create","description":"Creates a KYC document.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}},"description":"Kyc document resource.","required":true},"responses":{"201":{"description":"KYC document created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// All fields are required\nconst data = {\n    fieldId: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',\n    customerId: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',\n    documentType: 'identity-proof'\n};\n\nconst firstKycDocument = await api.kycDocuments.create({data});"}]}},"/kyc-documents/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve a KYC document","operationId":"GetKycDocument","x-sdk-operation-name":"get","description":"Retrieves a KYC document with a specified ID.","responses":{"200":{"description":"KYC document retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const document = await api.kycDocuments.get({id: 'foobar-001'});\nconsole.log(document.fields.documentType);"}]},"put":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Upsert a KYC document","operationId":"PutKycDocument","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a KYC document with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}},"description":"KYC document resource.","required":true},"responses":{"200":{"description":"KYC document updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"201":{"description":"KYC document created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// define the values to update\nconst data = {\n    status: 'accepted'\n};\n\nconst document = await api.kycDocuments.update({id: 'my-second-id', data});"}]}},"/kyc-documents/{id}/acceptance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Accept a KYC document","operationId":"PostKycDocumentAcceptance","x-sdk-operation-name":"accept","description":"Accepts a KYC document and changes the documents `status` to `accepted`.\nThe review time and reviewer information is also updated.\n\n> **Note:** Use this operation for manual overrides.","responses":{"201":{"description":"KYC document acceptance created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const acceptedDocument = await api.kycDocuments.accept({id: 'my-second-id'});\nconsole.log(acceptedDocument.fields.status);"}]}},"/kyc-documents/{id}/matches":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Update KYC document matches","operationId":"PostKycDocumentMatches","x-sdk-operation-name":"matches","description":"Updates the document matches of a KYC document with a specified ID.\n\n> **Note:** Use this operation for manual overrides.\n\nThe request body schema depends on the KYC document `documentType`.\nThe operation rejects unknown fields.\n\nSend `type` with one of:\n`identity-proof`, `address-proof`, `purchase-proof`, or `funds-proof`.\nThe specified value identifies the `type` of the document match.","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/KycIdentityMatchesOverwrite"},{"$ref":"#/components/schemas/KycAddressMatchesOverwrite"},{"$ref":"#/components/schemas/KycPurchaseMatchesOverwrite"},{"$ref":"#/components/schemas/KycFundsMatchesOverwrite"}],"discriminator":{"propertyName":"type","mapping":{"identity-proof":"#/components/schemas/KycIdentityMatchesOverwrite","address-proof":"#/components/schemas/KycAddressMatchesOverwrite","purchase-proof":"#/components/schemas/KycPurchaseMatchesOverwrite","funds-proof":"#/components/schemas/KycFundsMatchesOverwrite"}}}}},"description":"KYC document matches overwrite payload.","required":true},"responses":{"204":{"description":"Document matches updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-documents/{id}/rejection":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Reject a KYC document","operationId":"PostKycDocumentRejection","x-sdk-operation-name":"reject","description":"Rejects a KYC document and changes the `status` to `rejected`.\nThe review time and reviewer information is also updated.\n\n> **Note:** Use this operation for manual overrides.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocumentRejection"}}},"description":"KYC document resource.","required":true},"responses":{"201":{"description":"KYC document rejected.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    type: 'document-expired',\n    message: 'Document is expired'\n}\nconst rejectedDocument = await api.kycDocuments.reject({id: 'my-second-id', data});\nconsole.log(rejectedDocument.fields.rejectionReason.type);"}]}},"/kyc-documents/{id}/review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Review a KYC document","operationId":"PostKycDocumentReview","x-sdk-operation-name":"review","description":"Updates the `reviewTime` and `reviewerId` of a KYC document with a specified ID.","responses":{"201":{"description":"KYC document reviewed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const reviewedDocument = await api.kycDocuments.review({id: 'my-second-id'});\nconsole.log(reviewedDocument.fields.status);"}]}},"/kyc-documents/{id}/start-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Start review of a KYC document","operationId":"PostKycDocumentStartReview","x-sdk-operation-name":"startReview","description":"Starts the review process of a KYC document with a specified ID.\n\nThis operation also sets the KYC document `reviewStartTime` to the current date-time,\nand updates the review information.","responses":{"201":{"description":"KYC document review started.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-documents/{id}/stop-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Stop review of a KYC document","operationId":"PostKycDocumentStopReview","x-sdk-operation-name":"stopReview","description":"Stops the review of a KYC document with a specified ID.\n\nThis operation also sets the KYC document `reviewStartTime` and the reviewer information to null.\nUse this operation when the reviewer must stop the review.\nFor example, if the reviewer must take a break, or ends a shift.","responses":{"201":{"description":"KYC document review stopped.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-settings":{"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC settings","operationId":"GetKycSettings","x-sdk-operation-name":"getKycSettings","description":"Retrieves KYC settings.","responses":{"200":{"description":"KYC settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Update KYC settings","operationId":"PutKycSettings","x-sdk-operation-name":"updateKycSettings","description":"Updates KYC settings.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}},"description":"Settings for KYC analysis.","required":true},"responses":{"200":{"description":"KYC settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/password-tokens":{"get":{"x-products":["Full","Core"],"tags":["Customer authentication"],"summary":"Retrieve tokens","operationId":"GetPasswordTokenCollection","x-sdk-operation-name":"getAllResetPasswordTokens","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of reset password tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of reset password tokens retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllResetPasswordTokens();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllResetPasswordTokens(params);\n\n// access the collection items, each item is a ResetPasswordToken\nsecondCollection.items.forEach(token => console.log(token.fields.token));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$passwordTokens = $service->customerAuthentication()->getAllResetPasswordTokens();"}]},"post":{"x-products":["Full","Core"],"tags":["Customer authentication"],"summary":"Create a reset password token","operationId":"PostPasswordToken","x-sdk-operation-name":"createResetPasswordToken","x-sdk-resource":"CustomerAuthentication","description":"Creates a reset password token.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}},"description":"ResetPasswordToken resource.","required":true},"responses":{"201":{"description":"Reset password token created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for the new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    // the `credential` expects \n    // the customer credential's ID\n    credential: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the reset token\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\nconst resetToken = await api.customerAuthentication.createResetPasswordToken({data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$resetPasswordTokenForm = new \\Rebilly\\Sdk\\Model\\ResetPasswordToken();\n$resetPasswordTokenForm->setUsername('username');\n\ntry {\n    $tokens = $coreService->customerAuthentication()->createResetPasswordToken($resetPasswordTokenForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/password-tokens/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve a reset password token","operationId":"GetPasswordToken","x-sdk-operation-name":"getResetPasswordToken","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a reset password token with a specified ID.","responses":{"200":{"description":"Reset password token retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const token = await api.customerAuthentication.getResetPasswordToken({id: 'my-first-id'});\nconsole.log(token.fields.credential);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$passwordToken = $service->customerAuthentication()->getResetPasswordToken('tokenId');"}]}},"/payment-instruments":{"get":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Retrieve payment instruments","operationId":"GetPaymentInstrumentCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payment instruments.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of payment instruments retrieved.","headers":{"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/PaymentInstrument"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstruments = $client->paymentInstruments()->search([\n    'filter' => 'status:active;method:payment-card',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.paymentInstruments.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.paymentInstruments.getAll(params);\n\n// access the collection items, each item is a PaymentInstrument\nsecondCollection.items.forEach(paymentInstrument => console.log(paymentInstrument.fields.customerId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentsPaginator = $service->paymentInstruments()->getAllPaginator(\n    filter: 'status:active;method:payment-card',\n    limit: 5\n);\nforeach ($paymentInstrumentsPaginator as $paymentInstrumentsPage) {\n    printf(\"Payment instruments page %d/%d\\n\", $paymentInstrumentsPaginator->key() + 1, $paymentInstrumentsPaginator->count());\n    foreach ($paymentInstrumentsPage as $paymentInstrument) {\n        printf(\"Payment instrument #%s\\n\", $paymentInstrument->getId());\n    }\n}\n\n// OR\n\n$paymentInstruments = $service->paymentInstruments()->getAll(filter: 'status:active;method:payment-card');\nforeach ($paymentInstruments as $paymentInstrument) {\n    printf(\"Payment instrument #%s\\n\", $paymentInstrument->getId());\n}"}]},"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Create a payment instrument","operationId":"PostPaymentInstrument","x-sdk-operation-name":"create","description":"Creates a payment instrument.\nIf the payment card, bank account, or alternative payment instrument already exists it is updated.","requestBody":{"$ref":"#/components/requestBodies/PostPaymentInstrument"},"responses":{"201":{"description":"Payment instrument created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"303":{"description":"Payment instrument updated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->create($paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a payment token\n$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setToken('payment-token');\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->create($paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new payment card instrument\nconst data = {\n    method: 'payment-card',\n    pan: '4111111111111111',\n    expYear: 2025,\n    expMonth: 11,\n    cvv: '123',\n    billingAddress: {\n      firstName: 'Johnny',\n      lastName: 'Brown',\n      emails: [{\n          label: 'main',\n          value: 'johnny+test@grr.la',\n          primary: true\n      }]\n    },\n    // the customer ID for which\n    // we are adding a payment card instrument\n    customerId: 'foobar-0001'\n};\n\nconst firstPaymentInstrument = await api.paymentInstruments.create({data});\n\n// alternatively you can specify a payment token\nconst tokenData = {\n    token: 'payment-token',\n    // the customer ID for which\n    // we are adding a payment card instrument\n    customerId: 'foobar-0001'\n};\n\nconst secondPaymentInstrument = await api.paymentInstruments.create({tokenData});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardCreatePlain();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->create($paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a payment token\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentInstrumentCreateToken();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setToken('payment-token');\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->create($paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-instruments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Retrieve a payment instrument","operationId":"GetPaymentInstrument","x-sdk-operation-name":"get","description":"Retrieves a payment instrument with a specified ID.","responses":{"200":{"description":"Payment instrument retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrument = $client->paymentInstruments()->load('paymentInstrumentId');\n"},{"lang":"JavaScript","source":"const paymentInstrument = await api.paymentInstruments.get({id: 'payment-instrument-id'});\n\nconsole.log(paymentInstrument.fields.customerId);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$paymentInstrument = $service->paymentInstruments()->get('paymentInstrumentId');"}]},"patch":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Update payment instrument","operationId":"PatchPaymentInstrument","x-sdk-operation-name":"update","description":"Updates the values of a payment instrument with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchPaymentInstrument"},"responses":{"200":{"description":"Payment instrument updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCvv('123');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(12);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a partial token\n$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setToken('partial-token');\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// payment instrument properties to be updated\nconst data = {\n    cvv: '123',\n    expMonth: 12,\n    expYear: 2025,\n    billingAddress: {\n        firstName: 'John'\n    }\n};\n\napi.paymentInstruments.patch({id: 'id-to-update', data});\n\n// alternatively you can specify a partial token\nconst tokenData = {\n    token: 'partial-token',\n    billingAddress: {\n        firstName: 'John'\n    },\n    customFields: {\n        foo: 'bar'\n    }\n};\n\napi.paymentInstruments.patch({id: 'id-to-update', tokenData});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardUpdatePlain();\n$paymentInstrumentForm->setCvv('123');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(12);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a partial token\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentInstrumentUpdateToken();\n$paymentInstrumentForm->setToken('partial-token');\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-instruments/{id}/deactivation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Deactivate a payment instrument","operationId":"PostPaymentInstrumentDeactivation","x-sdk-operation-name":"deactivate","description":"Deactivates a payment instrument with a specified ID.","responses":{"201":{"description":"Payment instrument deactivated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->paymentInstruments()->deactivate('paymentInstrumentId');\n"},{"lang":"JavaScript","source":"const paymentInstrument = await api.paymentInstruments.deactivate({id: 'id-to-deactivate'});\n\nconsole.log(paymentInstrument.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->paymentInstruments()->deactivate('paymentInstrumentId');"}]}},"/payment-instruments/{id}/name-inquiry":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Verify name on a payment instrument","operationId":"PostPaymentInstrumentNameInquiry","x-sdk-operation-name":"nameInquiry","description":"Performs a name check inquiry on a payment instrument.\nUse this operation to confirm the name that is associated with a payment instrument.\nThis operation supports payment cards only, using VISA ANI requests through Worldpay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrumentNameInquiry"}}}},"responses":{"200":{"description":"Payment instrument name inquiry performed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrumentNameInquiry"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/plans":{"get":{"x-products":["Core"],"tags":["Plans"],"summary":"Retrieve plans","operationId":"GetPlanCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of plans.\n\nTo retrieve plans by type, use `filter=type:{type}`,\nwhere `{type}` is `subscription`, `one-time-sale`, or `trial-only`.\nTo retrieve plans of several types, separate the types with commas,\nfor example: `filter=type:one-time-sale,trial-only`.\nOther `type` values, including negated values such as `type:!subscription`,\nmatch no plans.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of plans retrieved.","headers":{"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/Plan"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$plans = $client->plans()->search([\n    'filter' => 'name:TestPlan',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.plans.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.plans.getAll(params);\n\n// access the collection items, each item is a Plan\nsecondCollection.items.forEach(plan => console.log(plan.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plansPaginator = $service->plans()->getAllPaginator(limit: 5);\n\nforeach ($plansPaginator as $planPage) {\n    printf(\"Plans page %d/%d\\n\", $plansPaginator->key() + 1, $plansPaginator->count());\n    foreach ($planPage as $plan) {\n        printf(\"Plan #%s: %s\\n\", $plan->getId(), $plan->getProductId());\n    }\n}\n\n// OR\n\n$plans = $service->plans()->getAll(limit: 100);\nforeach ($plans as $plan) {\n    printf(\"Plan #%s: %s\\n\", $plan->getId(), $plan->getProductId());\n}"}]},"post":{"x-products":["Core"],"tags":["Plans"],"summary":"Create a plan","operationId":"PostPlan","x-sdk-operation-name":"create","description":"Creates a plan.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRequest"}}},"description":"Plan resource.","required":true},"responses":{"201":{"description":"Plan created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$planForm = new Rebilly\\Entities\\Plan();\n$planForm->setName('TestPlan');\n$planForm->setCurrency('USD');\n$planForm->setTrialAmount(1);\n$planForm->setTrialPeriodUnit('day');\n$planForm->setTrialPeriodLength(1);\n$planForm->setProductId('test-product');\n\ntry {\n    $plan = $client->plans()->create($planForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new plan\nconst data = {\n    name: 'My strongest plan',\n    currency: 'USD',\n    setupAmount: 12.99,\n    // you could also include a trial if needed\n    recurringPeriodUnit: 'month',\n    recurringPeriodLength: 1,\n    recurringAmount: 25.99\n};\n\n// the ID is optional\nconst firstPlan = await api.plans.create({data});\n\n// or you can provide one\nconst secondPlan = await api.plans.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plan = \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlan::from([])\n    ->setProductId('productId')\n    ->setName('Test plan')\n    ->setCurrency('USD')\n    ->setPricing(new \\Rebilly\\Sdk\\Model\\PlanFormulaFlatRate(['price' => 9.99]))\n    ->setRecurringInterval(\n        \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::from()\n            ->setUnit(\\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_MONTH)\n            ->setLength(1),\n    );\n\ntry {\n    $plan = $service->plans()->create($plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/plans/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Plans"],"summary":"Retrieve a plan","operationId":"GetPlan","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a plan with a specified ID.","responses":{"200":{"description":"Plan retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$plan = $client->plans()->load('planId');\n"},{"lang":"JavaScript","source":"const plan = await api.plans.get({id: 'foobar-001'});\nconsole.log(plan.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$plan = $service->plans()->get('planId');"}]},"put":{"x-products":["Core"],"tags":["Plans"],"summary":"Upsert a plan","operationId":"PutPlan","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a plan with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRequest"}}},"description":"Plan resource.","required":true},"responses":{"200":{"description":"Plan updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"201":{"description":"Plan created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$planForm = new Rebilly\\Entities\\Plan();\n$planForm->setName('TestPlan');\n$planForm->setCurrency('USD');\n$planForm->setTrialAmount(1);\n$planForm->setTrialPeriodUnit('day');\n$planForm->setTrialPeriodLength(1);\n\ntry {\n    $plan = $client->plans()->update('planId', $planForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new plan\nconst data = {\n    name: 'My strongest plan',\n    currency: 'USD',\n    setupAmount: 12.99,\n    // you could also include a trial if needed\n    recurringPeriodUnit: 'month',\n    recurringPeriodLength: 1,\n    recurringAmount: 25.99\n};\n\n// the ID is optional\nconst firstPlan = await api.plans.create({data});\n\n// or you can provide one\nconst secondPlan = await api.plans.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plan = new \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlan([\n    'recurringInterval' => [\n        'unit' => \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_WEEK,\n        'length' => 2,\n    ],\n]);\n\ntry {\n    $plan = $service->plans()->update('planId', $plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$plan = $service->plans()->get('planId');\n$plan->setRecurringInterval(new \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval([\n    'unit' => \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_WEEK,\n    'length' => 2,\n]));\n\ntry {\n    $plan = $service->plans()->update('planId', $plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Plans"],"summary":"Delete a plan","operationId":"DeletePlan","x-sdk-operation-name":"delete","description":"Deletes a plan with a specified ID.","responses":{"204":{"description":"Plan deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->plans()->delete('planId');\n"},{"lang":"JavaScript","source":"const request = await api.plans.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->plans()->delete('planId');"}]}},"/products":{"get":{"x-products":["Core"],"tags":["Products"],"summary":"Retrieve products","operationId":"GetProductCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of products.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of products retrieved.","headers":{"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/Product"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.products.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.products.getAll(params);\n\n// access the collection items, each item is a Product\nsecondCollection.items.forEach(product => console.log(product.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$productsPaginator = $service->products()->getAllPaginator(limit: 5);\nforeach ($productsPaginator as $productPage) {\n    printf(\"Products page %d/%d\\n\", $productsPaginator->key() + 1, $productsPaginator->count());\n    foreach ($productPage as $product) {\n        printf(\"Product #%s: %s\\n\", $product->getId(), $product->getName());\n    }\n}\n\n// OR\n\n$products = $service->products()->getAll(limit: 100);\nforeach ($products as $product) {\n    printf(\"Product #%s: %s\\n\", $product->getId(), $product->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Products"],"summary":"Create a product","operationId":"PostProduct","x-sdk-operation-name":"create","description":"Creates a product.","requestBody":{"$ref":"#/components/requestBodies/Product"},"responses":{"201":{"description":"Product created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the properties for the new product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '',\n    requiresShipping: true,\n    accountingCode: '100',\n    customFields: []\n};\n\n// the ID is optional\nconst firstProduct = await api.products.create({data});\n\n// or you can provide one\nconst secondProduct = await api.products.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$product = new \\Rebilly\\Sdk\\Model\\Product([\n    'name' => 'my first product',\n    'description' => 'made to be of the highest quality',\n    'taxCategoryId' => '',\n    'requiresShipping' => true,\n    'accountingCode' => '100',\n]);\n\ntry {\n    $product = $service->products()->create($product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/products/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Products"],"summary":"Retrieve a product","operationId":"GetProduct","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a product with a specified ID.","responses":{"200":{"description":"Product retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const product = await api.products.get({id: 'foobar-001'});\nconsole.log(product.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$product = $service->products()->get('productId');"}]},"put":{"x-products":["Core"],"tags":["Products"],"summary":"Upsert a product","operationId":"PutProduct","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a product with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Product"},"responses":{"200":{"description":"Product updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"201":{"description":"Product created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a new product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '',\n    requiresShipping: true,\n    accountingCode: '100',\n    customFields: []\n};\n\n// the ID is optional\nconst firstProduct = await api.products.create({data});\n\n// or you can provide one\nconst secondProduct = await api.products.create({id: 'my-second-key', data});\n\n\n\n// updating a product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '20010',\n    requiresShipping: false,\n    accountingCode: '77',\n    customFields: []\n};\n\nconst product = await api.products.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$product = new \\Rebilly\\Sdk\\Model\\Product([\n    'requiresShipping' => false,\n    'accountingCode' => '101',\n]);\n\ntry {\n    $product = $service->products()->update('productId', $product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$product = $service->products()->get('productId');\n$product->setRequiresShipping(false)\n    ->setAccountingCode('101');\n\ntry {\n    $product = $service->products()->update('productId', $product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Products"],"summary":"Delete a product","operationId":"DeleteProduct","x-sdk-operation-name":"delete","description":"Deletes a product with a specified ID.","responses":{"204":{"description":"Product deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.products.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->products()->delete('productId');"}]}},"/quotes":{"get":{"x-products":["Core"],"tags":["Quotes"],"summary":"Retrieve quotes","operationId":"GetQuoteCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of quotes.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of quotes retrieved.","headers":{"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/Quote"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Create a quote","operationId":"PostQuote","x-sdk-operation-name":"create","description":"Creates a quote.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}},"required":true},"responses":{"201":{"description":"Quote created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Quotes"],"summary":"Retrieve a quote","operationId":"GetQuote","x-sdk-operation-name":"get","description":"Retrieves a quote with a specified ID.","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Quote retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Quotes"],"summary":"Upsert a quote","operationId":"PutQuote","x-sdk-operation-name":"update","description":"Creates or updates a quote with a specified ID.\n\nThe update operation can only be used for quotes with a `status` of `draft`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}},"required":true},"responses":{"200":{"description":"Quote updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"201":{"description":"Quote created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/accept":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Accept a quote","operationId":"PostQuoteAcceptance","x-sdk-operation-name":"accept","description":"Accepts an issued quote with a specified ID.","responses":{"200":{"description":"Quote accepted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/cancel":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Cancel a quote","operationId":"PostQuoteCancellation","x-sdk-operation-name":"cancel","description":"Cancels a draft or issued quote with a specified ID.","responses":{"200":{"description":"Quote canceled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Issue a quote","operationId":"PostQuoteIssuance","x-sdk-operation-name":"issue","description":"Issues a draft quote with a specified ID.","responses":{"200":{"description":"Quote issued.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/recall":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Recall a quote","operationId":"PostQuoteRecall","x-sdk-operation-name":"recall","description":"Recalls an issued quote with a specified ID so that it can be edited.\nRecalled quotes are assigned the `status` of `draft`.","responses":{"200":{"description":"Quote recalled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/reissue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Reissue a quote","operationId":"PostQuoteReissue","x-sdk-operation-name":"reissue","description":"Reissues an expired, canceled, or rejected quote with a specified ID.\nThis operation assigns the quote the `status` of `issued`,\nclears the `canceledTime` and `rejectedTime` fields,\nand resets the fulfilled acceptance conditions.\nIf the request omits `expirationTime`, the quote keeps its expiration time when it has not passed,\notherwise the quote expires one month after it is reissued.\n\nThis operation restores the voided quotation invoice to the `quotation` status,\nand recalculates the invoice from the current quote items and order.\nReissuing a quote triggers the same webhooks, rules, and timeline entries as issuing it.\nTo reissue a change or reactivation quote, the order must still allow that quote type,\nand no other draft or issued quote may exist for the same order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteReissue"}}},"description":"Quote reissue resource."},"responses":{"200":{"description":"Quote reissued.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/reject":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/quotes/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Quotes timeline"],"summary":"Retrieve quote timeline messages","operationId":"GetQuoteTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves quote timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of quote timeline messages retrieved.","headers":{"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/QuoteTimeline"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Quotes timeline"],"summary":"Create a quote timeline comment","operationId":"PostQuoteTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a quote timeline comment or custom defined event.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteTimeline"}}},"description":"Quote timeline resource.","required":true},"responses":{"201":{"description":"Quote timeline comment or custom defined event created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the quote timeline message.","required":true,"schema":{"type":"string"}}]},"/ready-to-pay":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Ready to pay","operationId":"PostReadyToPay","x-sdk-operation-name":"readyToPay","x-sdk-resource":"Purchase","description":"Retrieves available payment methods for a specific transaction or purchase.\n\nThe order in which the payment methods are displayed to the customer should be the same as the order in the response.\n\nThe list of payment methods is generated from available gateway accounts and the last matched `adjust-ready-to-pay` action on the `ready-to-pay-requested` event.\nIf no rules match for the specific request, all methods supported by the gateway accounts are sent.\n\nTo invert this behavior, place an all matching rule at the end of the `ready-to-pay-requested` event in the rules engine,\nand include an empty `paymentMethods` property for the `adjust-ready-to-pay` action.\n\nFor more information, see [Update event rules](https://www.rebilly.com/catalog/all/rules#operation/PutEventRule) and [Gateway accounts](https://www.rebilly.com/catalog/all/gateway-accounts).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostReadyToPayRequest"}}}},"responses":{"200":{"description":"Payment methods retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReadyToPayMethods"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$readyToPayForm = new Rebilly\\Entities\\ReadyToPay();\n$readyToPayForm->setCurrency('USD');\n$readyToPayForm->setAmount(10);\n$readyToPayForm->setWebsiteId('websiteId');\n$readyToPayForm->setCustomerId('customerId');\n\n$riskMetadata = new Rebilly\\Entities\\RiskMetadata();\n$riskMetadata->setFingerprint('fingerprint');\n$readyToPayForm->setRiskMetadata($riskMetadata);\n\ntry {\n    $transaction = $client->transactions()->create($readyToPayForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$readyToPayForm = new \\Rebilly\\Sdk\\Model\\ReadyToPayAmount();\n$readyToPayForm->setCurrency('USD');\n$readyToPayForm->setAmount(10);\n$readyToPayForm->setWebsiteId('websiteId');\n$readyToPayForm->setCustomerId('customerId');\n\n$riskMetadata = new \\Rebilly\\Sdk\\Model\\RiskMetadata();\n$riskMetadata->setFingerprint('fingerprint');\n$readyToPayForm->setRiskMetadata($riskMetadata);\n\ntry {\n    $transactions = $service->purchase()->readyToPay($readyToPayForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/shipping-rates":{"get":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Retrieve shipping rates","operationId":"GetShippingRateCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of shipping rates.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of shipping rates retrieved.","headers":{"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/ShippingRate"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.shippingRates.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.shippingRates.getAll(params);\n\n// access the collection items, each item is a ShippingRate\nsecondCollection.items.forEach(shippingRate => console.log(shippingRate.fields.name));\n"}]}},"/shipping-rates/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Retrieve a shipping rate","operationId":"GetShippingRate","x-sdk-operation-name":"get","description":"Retrieves a shipping rate with a specified ID.","responses":{"200":{"description":"Shipping rate retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const shippingRate = await api.shippingRates.get({id: 'foobar-001'});\nconsole.log(shippingRate.fields.name);\n"}]},"put":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Create a shipping rate with ID","operationId":"PutShippingRate","x-sdk-operation-name":"update","description":"Creates a shipping rate with a specified ID.","responses":{"200":{"description":"Shipping rate updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"201":{"description":"Shipping rate created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}},"description":"Shipping rate resource.","required":true},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a new shipping rate\nconst data = {\n    name: 'free shipping',\n    filter: '',\n    price: 0,\n    currency: 'USD'\n};\n\n// the ID is optional\nconst firstRate = await api.shippingRates.create({data});\n\n// or you can provide one\nconst secondRate = await api.shippingRates.create({id: 'my-second-key', data});\n\n\n// updating a shipping rate\nconst data = {\n  name: 'regular shipping',\n  filter: '',\n  price: 9.99,\n  currency: 'USD'\n};\n\nconst shippingRate = await api.shippingRates.update({id: 'my-second-key', data});\n"}]}},"/orders":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve orders","operationId":"GetOrderCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a collection of orders.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/orderExpand"}],"responses":{"200":{"description":"List of orders retrieved.","headers":{"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/Order"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Create an order","operationId":"PostOrder","x-sdk-operation-name":"create","description":"Creates an order.","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Order resource."},"responses":{"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/orders/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order","operationId":"GetOrder","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"parameters":[{"$ref":"#/components/parameters/orderExpand"}],"description":"Retrieves an order with a specified ID.","responses":{"200":{"description":"Order retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Upsert an order","operationId":"PutOrder","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an order with a specified ID.","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Order resource."},"responses":{"200":{"description":"Order updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order rejected.\nFor example, the renewal time cannot change while the next invoice is already issued with a scheduled change.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/orders/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an upcoming order invoice","operationId":"GetOrderUpcomingInvoice","x-sdk-operation-name":"getUpcomingInvoice","description":"Retrieves an upcoming invoice for a specified order.\n\nAn upcoming invoice is an invoice that has not been issued.\nIt functions as a preview of the next invoice for the order.\nFor more information, see [Invoices](https://www.rebilly.com/docs/dev-docs/invoices/).","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Upcoming invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderUpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/order-pauses":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order pauses","operationId":"GetOrderPauseCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order pauses.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order pauses retrieved.","headers":{"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/OrderPause"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Pause an order","operationId":"PostOrderPause","x-sdk-operation-name":"pause","description":"Pauses an order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}},"description":"Pause resource.","required":true},"responses":{"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-pauses/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order pause","operationId":"GetOrderPause","x-sdk-operation-name":"get","description":"Retrieves an order pause with a specified ID.","responses":{"200":{"description":"Pause retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Update an order pause","operationId":"PutOrderPause","x-sdk-operation-name":"update","description":"Updates an order pause with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"responses":{"200":{"description":"Pause updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders"],"summary":"Delete an order pause","operationId":"DeleteOrderPause","x-sdk-operation-name":"delete","description":"Deletes an order pause with a specified ID.\nIf the specified pause is `pending`, it is `revoked`.\nIf the specified pause is `ongoing`, it is `finished`.","responses":{"204":{"description":"Order pause revoked or finished.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-changes":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order changes","operationId":"GetOrderChangeCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order changes.\nTo find the pending change of an order, use `filter=orderId:{orderId};status:pending`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order changes retrieved.","headers":{"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/OrderChange"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Change order items","operationId":"PostOrderChange","x-sdk-operation-name":"create","description":"Changes the items of an order immediately, or schedules the change for the next renewal.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}},"description":"Order change resource.","required":true},"responses":{"201":{"description":"Order change created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Order change rejected.\nFor example, the order is in trial, the next renewal invoice is already issued,\nor the new items are the same as the current items.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-changes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order change","operationId":"GetOrderChange","x-sdk-operation-name":"get","description":"Retrieves an order change with a specified ID.","responses":{"200":{"description":"Order change retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Upsert an order change","operationId":"PutOrderChange","x-sdk-operation-name":"update","description":"Creates an order change with a specified ID, or replaces the items of a pending order change.\nA change that is not pending cannot be updated.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"responses":{"200":{"description":"Order change updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"201":{"description":"Order change created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Order change rejected, or the change is not pending.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders"],"summary":"Cancel an order change","operationId":"DeleteOrderChange","x-sdk-operation-name":"delete","description":"Cancels a pending order change with a specified ID.\nThe current items of the order stay as they are.\nA change cannot be canceled after it is locked by an issued invoice, applied, canceled, or superseded.","responses":{"204":{"description":"Order change canceled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-cancellations":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order cancellation collection","operationId":"GetOrderCancellationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order cancellations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of canceled orders retrieved.","headers":{"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/OrderCancellation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Cancel an order","operationId":"PostOrderCancellation","x-sdk-operation-name":"create","description":"Cancels an order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}},"description":"Cancellation resource.","required":true},"responses":{"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-cancellations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order cancellation","operationId":"GetOrderCancellation","x-sdk-operation-name":"get","description":"Retrieves an order cancellation with a specified ID.","responses":{"200":{"description":"Order cancellation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/order-reactivations":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order reactivations","operationId":"GetOrderReactivationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order reactivations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order reactivations retrieved.","headers":{"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/OrderReactivation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.orderReactivations.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.orderReactivations.getAll(params);\n\n// access the collection items, each item is a Member\nsecondCollection.items.forEach(order => console.log(order.fields.customerId));\n"}]}},"/order-reactivations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order reactivation","operationId":"GetOrderReactivation","x-sdk-operation-name":"get","description":"Retrieves an order reactivation with a specified ID.","responses":{"200":{"description":"Reactivation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const order = await api.orderReactivations.get({id: 'foobar-001'});\nconsole.log(order.fields.description);\n"}]}},"/subscriptions":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve orders","operationId":"GetSubscriptionCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of orders.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/subscriptionCollectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/subscriptionExpand"}],"responses":{"200":{"description":"List of orders retrieved.","headers":{"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/SubscriptionOrOneTimeSale"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptions = $client->subscriptions()->search([\n    'filter' => 'customerId:testCustomerId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.subscriptions.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.subscriptions.getAll(params);\n\n// access the collection items, each item is a Subscription\nsecondCollection.items.forEach(subscription => console.log(subscription.fields.customerId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$ordersPaginator = $service->subscriptions()->getAllPaginator(filter: 'customerId:testCustomerId');\nforeach ($ordersPaginator as $orderPage) {\n    printf(\"Orders page %d/%d\\n\", $ordersPaginator->key() + 1, $ordersPaginator->count());\n    foreach ($orderPage as $order) {\n        printf(\"Order #%s (%s): %s\\n\", $order->getId(), $order->getOrderType(), $order->getStatus());\n    }\n}\n\n// OR\n\n$orders = $service->subscriptions()->getAll(filter: 'customerId:testCustomerId', limit: 10);\nforeach ($orders as $order) {\n    printf(\"Order #%s (%s): %s\\n\", $order->getId(), $order->getOrderType(), $order->getStatus());\n}"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Create an order","operationId":"PostSubscription","x-sdk-operation-name":"create","description":"Creates an order.\n\nTo create or update an order with a specified ID, use the [`PUT /subscriptions/{id}`](https://www.rebilly.com/catalog/all/orders-(legacy)/putsubscription) operation.\n\nOrganizations that use the current order model cannot create legacy orders, and this operation returns a validation error for them.\nTo create an order with the current order model, use the [`POST /orders`](https://www.rebilly.com/catalog/all/orders/postorder) operation.","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/Subscription"},"responses":{"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionForm = new Rebilly\\Entities\\Subscription();\n$subscriptionForm->setCustomerId('customerId');\n$subscriptionForm->setWebsiteId('websiteId');\n$subscriptionForm->setItems([\n    [\n        'planId' => 'my-plan',\n        'quantity' => 1,\n    ],\n]);\n$subscriptionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $subscription = $client->subscriptions()->create($subscriptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new subscription\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    items: [\n        { plan: { id: 'my-plan-id' }, quantity: 1 },\n    ],\n    // you can append this subscription to\n    // an existing invoice by passing its ID\n    initialInvoiceId: 'my-existing-invoice-id',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    customFields: {}\n};\n\n// the ID is optional\nconst firstInvoice = await api.subscriptions.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.subscriptions.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$order = \\Rebilly\\Sdk\\Model\\Subscription::from()\n    ->setWebsiteId('websiteId')\n    ->setCustomerId('customerId')\n    ->setItems([\n        \\Rebilly\\Sdk\\Model\\SubscriptionOrOneTimeSaleItem::from()\n            ->setPlan(\n                \\Rebilly\\Sdk\\Model\\OriginalPlan::from()\n                    ->setId('planId')\n            )\n            ->setQuantity(1),\n    ]);\n\ntry {\n    $order = $service->subscriptions()->create($order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/subscriptions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve an order","operationId":"GetSubscription","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"description":"Retrieves an order with a specified ID.","responses":{"200":{"description":"Order retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscription = $client->subscriptions()->load('subscriptionId');\n"},{"lang":"JavaScript","source":"const subscription = await api.subscriptions.get({id: 'foobar-001'});\nconsole.log(subscription.fields.billingAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$order = $service->subscriptions()->get('orderId');"}]},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Upsert an order","operationId":"PutSubscription","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an order with a specified ID.\n\nOrganizations that use the current order model cannot create legacy orders.\nFor these organizations, this operation only updates an existing order, and returns a validation error when the order does not exist.\nTo create an order with the current order model, use the [`POST /orders`](https://www.rebilly.com/catalog/all/orders/postorder) operation.","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/Subscription"},"responses":{"200":{"description":"Order updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionForm = new Rebilly\\Entities\\Subscription();\n$subscriptionForm->setCustomerId('customerId');\n$subscriptionForm->setWebsiteId('websiteId');\n$subscriptionForm->setItems($subscriptionForm->createItems([\n    [\n        'planId' => 'my-plan',\n        'quantity' => 1,\n    ],\n]));\n$subscriptionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $subscription = $client->subscriptions()->update('subscriptionId', $subscriptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a subscription\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    items: [\n        { plan: { id: 'my-plan-id' }, quantity: 1 },\n    ],\n    // you can append this subscription to\n    // an existing invoice by passing its ID\n    initialInvoiceId: 'my-existing-invoice-id',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    customFields: {}\n};\n\n// the ID is optional\nconst firstInvoice = await api.subscriptions.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.subscriptions.create({id: 'my-second-id', data});\n\n\n\n// updating a subscription\nconst data = {\n    // determines if a payment attempt will be automatic\n    autopay: false,\n    // set the next renewal time\n    renewalTime: '2018-09-26T15:34:29Z'\n};\n\nconst subscription = await api.subscriptions.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$order = new \\Rebilly\\Sdk\\Model\\Subscription([\n    'shipping' => new \\Rebilly\\Sdk\\Model\\ManualShipping([\n        'amount' => 14.99,\n    ]),\n]);\n\ntry {\n    $order = $service->subscriptions()->update('orderId', $order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$order = $service->subscriptions()->get('orderId');\n$order->setShipping(new \\Rebilly\\Sdk\\Model\\ManualShipping(['amount' => 14.99]));\n\ntry {\n    $order = $service->subscriptions()->update('orderId', $order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a pending order","operationId":"DeleteSubscription","x-sdk-operation-name":"delete","description":"Deletes a pending order with a specified ID.","responses":{"204":{"description":"Pending order deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->subscriptions()->delete('orderId');"}]}},"/subscriptions/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Void a subscription order","operationId":"PostSubscriptionVoid","x-sdk-operation-name":"void","description":"Voids a pending order with a specified ID.","responses":{"201":{"description":"Order voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscription = $client->subscriptions()->void('subscriptionId');\n"},{"lang":"JavaScript","source":"const voidedSubscription = await api.subscriptions.void({id: 'my-subscription-id'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$order = $service->subscriptions()->void('orderId');"}]}},"/orders/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Void an order","operationId":"PostOrderVoid","x-sdk-operation-name":"void","description":"Voids a pending order with a specified ID.","responses":{"201":{"description":"Order voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const voidedOrder = await api.orders.void({id: 'my-order-id'});\n"}]}},"/subscriptions/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Change subscription order items","operationId":"PostSubscriptionItemsChange","x-sdk-operation-name":"changeItems","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"description":"Changes the items or quantities of an order that contains subscription items and specifies if and when to give pro rata credits.\nTo change the items at the next renewal, use the `POST /order-changes` operation with `applyAt` set to `nextRenewal`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChange"}}},"description":"Change items request.","required":true},"responses":{"201":{"description":"Order changed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order items rejected.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Change order items","operationId":"PostOrderItemsChange","x-sdk-operation-name":"changeItems","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"description":"Changes order items or quantities and specifies if and when to give pro rata credits.\nTo change the items at the next renewal, use the `POST /order-changes` operation with `applyAt` set to `nextRenewal`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderItemsChange"}}},"description":"Change items request.","required":true},"responses":{"201":{"description":"Order changed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order items rejected.\nFor example, the next renewal invoice is already issued with a pending order change.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the subscription item.","required":true,"schema":{"type":"string"}}]},"/orders/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the order item.","required":true,"schema":{"type":"string"}}],"patch":{"x-products":["Core"],"tags":["Orders"],"summary":"Update an order item","operationId":"PatchOrderItem","x-sdk-operation-name":"updateItem","description":"Updates an order item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderItemUpdate"}}},"description":"Update item request.","required":true},"responses":{"200":{"description":"Order item updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n  quantityFilled: 4,\n};\n\nconst order = await api.order.updateItem({\n  id: \"order-id\",\n  itemId: \"item-id\",\n  data,\n});\n"}]}},"/subscriptions/{id}/interim-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue an interim invoice","operationId":"PostSubscriptionInterimInvoice","x-sdk-operation-name":"createInterimInvoice","description":"Issues an interim invoice for a subscription order.\nUse this operation for plan changes and pro rata adjustments.\n\nThis process:\n\n  - Creates an invoice.\n  - Adds the subscription line items to the invoice.\n  - Issues the invoice.\n  - Optionally, applies payment to the invoice if a `transactionId` is supplied.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInvoice"}}},"description":"Issue an interim invoice.","required":true},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/interim-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Issue an interim invoice","operationId":"PostOrderInterimInvoice","x-sdk-operation-name":"createInterimInvoice","description":"Issues an interim invoice for an order.\nUse this operation for plan changes and pro rata adjustments.\n\nThis process:\n\n  - Creates an invoice.\n  - Adds the order line items to the invoice.\n  - Issues the invoice.\n  - Optionally, applies payment to the invoice if a `transactionId` is supplied.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInvoice"}}},"description":"Issue an interim invoice.","required":true},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-pauses":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order pauses","operationId":"GetSubscriptionPauseCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order pauses.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of subscription order pauses retrieved.","headers":{"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/SubscriptionPause"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Pause a subscription order","operationId":"PostSubscriptionPause","x-sdk-operation-name":"pause","description":"Pauses a subscription order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}},"description":"Pause resource.","required":true},"responses":{"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-pauses/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order pause","operationId":"GetSubscriptionPause","x-sdk-operation-name":"get","description":"Retrieves a subscription order pause with a specified ID.","responses":{"200":{"description":"Pause retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Update a subscription order pause","operationId":"PutSubscriptionPause","x-sdk-operation-name":"update","description":"Updates a subscription order pause.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"responses":{"200":{"description":"Pause updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a subscription order pause","operationId":"DeleteSubscriptionPause","x-sdk-operation-name":"delete","description":"Deletes a subscription order pause with a specified ID.\nIf the specified pause is `pending`, it is `revoked`.\nIf the specified pause is `ongoing`, it is `finished`.","responses":{"204":{"description":"Subscription order pause revoked or finished.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-cancellations":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order cancellations","operationId":"GetSubscriptionCancellationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order cancellations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of canceled subscription orders retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellationsPaginator = $service->subscriptionCancellations()->getAllPaginator(\n    filter: 'reason:' . \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n);\nforeach ($cancellationsPaginator as $cancellationPage) {\n    printf(\"Cancellations page %d/%d\\n\", $cancellationsPaginator->key() + 1, $cancellationsPaginator->count());\n    foreach ($cancellationPage as $cancellation) {\n        printf(\n            \"Cancellation #%s (%s): %s\\n\",\n            $cancellation->getId(),\n            $cancellation->getStatus(),\n            $cancellation->getSubscriptionId(),\n        );\n    }\n}\n\n// OR\n\n$cancellations = $service->subscriptionCancellations()->getAll(\n    filter: 'reason:' . \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n    limit: 10,\n);\nforeach ($cancellations as $cancellation) {\n    printf(\n        \"Cancellation #%s (%s): %s\\n\",\n        $cancellation->getId(),\n        $cancellation->getStatus(),\n        $cancellation->getSubscriptionId(),\n    );\n}"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Cancel a subscription order","operationId":"PostSubscriptionCancellation","x-sdk-operation-name":"create","description":"Cancels a subscription order.","requestBody":{"$ref":"#/components/requestBodies/SubscriptionCancellation"},"responses":{"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionCancellationForm = new Rebilly\\Entities\\SubscriptionCancellation();\n$subscriptionCancellationForm->setSubscriptionId('subscription-1');\n$subscriptionCancellationForm->setChurnTime(date('c'));\n\ntry {\n    $subscription = $client->subscriptionCancellations()->create($subscriptionCancellationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    churnTime: '2020-06-10T13:55:51Z',\n}\n\n// the ID is optional\nconst firstSubscriptionCancellation = await api.subscriptionCancellations.create({data});\n\n// or you can provide one\nconst secondSubscriptionCancellation = await api.subscriptionCancellations.create({id: 'custom-cancellation-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\SubscriptionCancellation([\n    'subscriptionId' => 'subscriptionId',\n    'churnTime' => new \\DateTimeImmutable(),\n    'canceledBy' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::CANCELED_BY_MERCHANT,\n    'reason' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->create($cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/subscription-cancellations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order cancellation","operationId":"GetSubscriptionCancellation","x-sdk-operation-name":"get","description":"Retrieves a subscription order cancellation with a specified ID.","responses":{"200":{"description":"Subscription order cancellation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$cancellation = $service->subscriptionCancellations()->get('cancellationId');"}]},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Upsert a subscription order cancellation","operationId":"PutSubscriptionCancellation","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a subscription order cancellation with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/SubscriptionCancellation"},"responses":{"200":{"description":"Cancellation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    churnTime: '2020-06-10T13:55:51Z',\n}\n\n// the ID is optional\nconst firstSubscriptionCancellation = await api.subscriptionCancellations.create({data});\n\n// or you can provide one\nconst secondSubscriptionCancellation = await api.subscriptionCancellations.create({id: 'custom-cancellation-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\SubscriptionCancellation([\n    'subscriptionId' => 'subscriptionId',\n    'churnTime' => new \\DateTimeImmutable(),\n    'canceledBy' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::CANCELED_BY_MERCHANT,\n    'reason' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->update('cancellationId', $cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"patch":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Update a subscription order cancellation","operationId":"PatchSubscriptionCancellation","x-sdk-operation-name":"patch","description":"Updates a subscription order cancellation with a specified ID.\nUse this operation to update a cancellation reason and description.","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"properties":{"canceledBy":{"readOnly":true},"status":{"readOnly":true}}},{"$ref":"#/components/schemas/SubscriptionCancellation"}]}}},"description":"Patch cancellation resource.","required":true},"responses":{"200":{"description":"Cancellation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\PatchSubscriptionCancellationRequest([\n    'reason' => \\Rebilly\\Sdk\\Model\\PatchSubscriptionCancellationRequest::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->patch('cancellationId', $cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a subscription order cancellation","operationId":"DeleteSubscriptionCancellation","x-sdk-operation-name":"delete","description":"Deletes a subscription order cancellation with a specified ID.\n\n> **Important:** Only subscription order cancellations with a `status` of `draft` can be deleted.","responses":{"204":{"description":"Subscription order cancellation deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->subscriptionCancellations()->delete('cancellationId');"}]}},"/subscription-reactivations":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order reactivations","operationId":"GetSubscriptionReactivationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order reactivations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of subscription order reactivations retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.subscriptionReactivations.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.subscriptionReactivations.getAll(params);\n\n// access the collection items, each item is a SubscriptionReactivation\nsecondCollection.items.forEach(subscription => console.log(subscription.fields.customerId));\n"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Reactivate a subscription order","operationId":"PostSubscriptionReactivation","x-sdk-operation-name":"reactivate","description":"Reactivates a subscription order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}},"description":"Reactivation resource.","required":true},"responses":{"201":{"description":"Reactivation created. The order is now active.\nIf the order had a related cancellation with a `status` of `confirmed`, it is revoked.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    description: 'reactivation-reason',\n    effectiveTime: '2020-06-10T13:55:51Z',\n    renewalTime: '2020-07-10T13:55:51Z'\n};\n\nconst reactivatedSubscription = await api.subscriptionReactivations.reactivate({data});\n"}]}},"/subscription-reactivations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order reactivation","operationId":"GetSubscriptionReactivation","x-sdk-operation-name":"get","description":"Retrieves a subscription order reactivation with a specified ID.","responses":{"200":{"description":"Reactivation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const subscription = await api.subscriptionReactivations.get({id: 'foobar-001'});\nconsole.log(subscription.fields.description);\n"}]}},"/subscriptions/{id}/upcoming-invoices":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve upcoming subscription order invoice","operationId":"GetSubscriptionUpcomingInvoiceCollection","x-sdk-operation-name":"getAllUpcomingInvoices","description":"Retrieves an upcoming invoice for a specified subscription order.\n\nThis endpoint is deprecated.\nUse [Retrieve an upcoming subscription order invoice](https://www.rebilly.com/catalog/all/orders-(legacy)/getsubscriptionupcominginvoice) instead.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"deprecated":true,"responses":{"200":{"description":"Upcoming invoices retrieved.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpcomingInvoice"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/subscriptions/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve an upcoming subscription order invoice","operationId":"GetSubscriptionUpcomingInvoice","x-sdk-operation-name":"getUpcomingInvoice","description":"Retrieves an upcoming invoice for a specified subscription order.\n\nAn upcoming invoice is an invoice that has not been issued.\nIt functions as a preview of the next invoice for the order.\nFor more information, see [Invoices](https://www.rebilly.com/docs/dev-docs/invoices/).","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Upcoming invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/subscriptions/{id}/upcoming-invoice/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue an upcoming invoice for early pay","operationId":"PostSubscriptionUpcomingInvoiceIssuance","x-sdk-operation-name":"issueEarlyUpcomingInvoice","description":"Issues an upcoming invoice, for a subscription order with a specified ID, for early pay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/upcoming-invoice/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Issue an upcoming invoice for early pay","operationId":"PostOrderUpcomingInvoiceIssuance","x-sdk-operation-name":"issueEarlyUpcomingInvoice","description":"Issues an upcoming invoice, for an order with a specified ID, for early pay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/upcoming-invoices/{invoiceId}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"invoiceId","in":"path","description":"ID of the upcoming invoice.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue a specific upcoming invoice for early pay","operationId":"PostUpcomingInvoiceIssuance","x-sdk-operation-name":"issueUpcomingInvoice","deprecated":true,"description":"Issues an upcoming invoice with a specified ID for early pay.\n\nThis endpoint is deprecated.\nUse [Issue an upcoming invoice for early pay](https://www.rebilly.com/catalog/all/orders-(legacy)/postsubscriptionupcominginvoiceissuance) instead.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Retrieve order timeline messages","operationId":"GetSubscriptionTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of order timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of order timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.subscriptions\n    .getAllTimelineMessages({id: 'my-transaction'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-transaction', limit: 20, offset: 100};\nconst secondCollection = await api.subscriptions.getAllTimelineMessages(params);\n\n// access the collection items, each item is a SubscriptionTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Create an order timeline comment","operationId":"PostSubscriptionTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .subscriptions.createTimelineComment({id: 'my-subscription-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #subscriptions-subscription-id`;\nconst params = {\n    id: 'my-subscription-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.subscriptions.createTimelineComment(params);"}]}},"/subscriptions/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the order timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Retrieve an order timeline message","operationId":"GetSubscriptionTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves an order timeline message with a specified ID.","responses":{"200":{"description":"Order timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.subscriptions\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]}},"/usages":{"get":{"x-products":["Core"],"tags":["Usage"],"summary":"Retrieve usage records","operationId":"GetUsageCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of usage records.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of usage records retrieved.","headers":{"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/Usage"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Usage"],"summary":"Create a usage record","operationId":"PostUsage","x-sdk-operation-name":"create","description":"Creates a usage report.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"responses":{"201":{"description":"Usage record created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/usages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"delete":{"x-products":["Core"],"tags":["Usage"],"summary":"Delete a usage record","operationId":"DeleteUsage","x-sdk-operation-name":"delete","description":"Deletes a usage record with a specified ID.","responses":{"204":{"description":"Usage record deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags":{"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve tags","operationId":"GetTagCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of tags.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of tags retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$tagsPaginator = $service->tags()->getAllPaginator(limit: 5);\nforeach ($tagsPaginator as $tagPage) {\n    printf(\"Tags page %d/%d\\n\", $tagsPaginator->key() + 1, $tagsPaginator->count());\n    foreach ($tagPage as $tag) {\n        printf(\"Tag #%s: %s\\n\", $tag->getId(), $tag->getName());\n    }\n}\n\n// OR\n\n$tags = $service->tags()->getAll();\nforeach ($tags as $tag) {\n    printf(\"Tag #%s: %s\\n\", $tag->getId(), $tag->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Create a tag","operationId":"PostTag","x-sdk-operation-name":"create","description":"Creates a tag.","requestBody":{"$ref":"#/components/requestBodies/Tag"},"responses":{"201":{"description":"Tag created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$tagForm = new \\Rebilly\\Sdk\\Model\\Tag();\n$tagForm->setName('tag-name');\n$tagForm->setType(\\Rebilly\\Sdk\\Model\\Tag::TYPE_CUSTOMER);\n\ntry {\n    $service->tags()->create($tagForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/tags/{tag}":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/customers":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/customers/{customerId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"$ref":"#/components/parameters/customerId"}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag a customer","operationId":"PostTagCustomer","x-sdk-operation-name":"tagCustomer","description":"Tags a customer.","responses":{"204":{"description":"Customer tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag a customer","operationId":"DeleteTagCustomer","x-sdk-operation-name":"untagCustomer","description":"Untags a customer.","responses":{"204":{"description":"Customer untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags/{tag}/kyc-documents":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/kyc-documents/{kycDocumentId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"$ref":"#/components/parameters/kycDocumentId"}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag a KYC document","operationId":"PostTagKycDocument","x-sdk-operation-name":"tagKycDocument","description":"Tags a KYC document.","responses":{"204":{"description":"KYC document tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag a KYC document","operationId":"DeleteTagKycDocument","x-sdk-operation-name":"untagKycDocument","description":"Untags a KYC document.","responses":{"204":{"description":"KYC document untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags/{tag}/aml-checks":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/aml-checks/{amlCheckId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"name":"amlCheckId","in":"path","description":"ID of the AML check to tag.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag an AML check","operationId":"PostTagAmlCheck","x-sdk-operation-name":"tagAmlCheck","description":"Tags an AML check.\n\nIf an AML check in the list does not have the specified tag applied, the AML check is ignored.","responses":{"204":{"description":"AML check tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag an AML check","operationId":"DeleteTagAmlCheck","x-sdk-operation-name":"untagAmlCheck","description":"Untags an AML check.\n\nIf an AML check in the list does not have the specified tag applied, the AML check is ignored.","responses":{"204":{"description":"AML check untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tokens":{"post":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Create a payment token","operationId":"PostToken","x-sdk-operation-name":"create","x-sdk-resource":"PaymentTokens","description":"Creates a payment token which can be exchanged into a payment instrument.\n[FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) is the recommended way to create a payment token because it minimizes PCI DSS compliance.\nOnce a payment token is created, it can only be used once.\n\nA payment token expires upon first use or within 30 minutes of the token creation, whichever comes first.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}},"description":"Payment token resource.","required":true},"security":[{"PublishableApiKey":[]},{"SecretApiKey":[]},{"JWT":[]}],"responses":{"201":{"description":"Token created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardTokenForm = new Rebilly\\Entities\\PaymentCardToken();\n$paymentCardTokenForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\n$paymentInstrumentForm = new Entities\\PaymentInstruments\\PaymentCardPaymentInstrument();\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setCvv(123);\n\n$paymentCardTokenForm->setPaymentInstrument($paymentInstrumentForm);\n\ntry {\n    $paymentCardToken = $client->paymentCardTokens()->create($paymentCardTokenForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new payment token\nconst data = {\n    method: 'payment-card',\n    paymentInstrument: {\n        pan: '4111111111111111',\n        expYear: 2022,\n        expMonth: 12,\n        cvv: '123'\n    },\n    billingAddress: {\n      firstName: 'Johnny',\n      lastName: 'Brown',\n      emails: [{\n          label: 'main',\n          value: 'johnny+test@grr.la',\n          primary: true\n      }]\n    }\n};\n\nconst token = await api.paymentTokens.create({data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentCardTokenForm = new \\Rebilly\\Sdk\\Model\\PaymentCardToken();\n$paymentCardTokenForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardTokenPaymentInstrument();\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setCvv('123');\n\n$paymentCardTokenForm->setPaymentInstrument($paymentInstrumentForm);\n\ntry {\n    $paymentCardToken = $service->paymentTokens()->create($paymentCardTokenForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"get":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Retrieve tokens","operationId":"GetTokenCollection","x-sdk-operation-name":"getAll","x-sdk-resource":"PaymentTokens","description":"Retrieve a list of tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of tokens retrieved.","headers":{"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/CompositeToken"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardTokens = $client->paymentCardTokens()->search([\n    'filter' => 'token:string',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.paymentTokens.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.paymentTokens.getAll(params);\n\n// access the collection items, each item is a Token\nsecondCollection.items.forEach(paymentToken => console.log(paymentToken.fields.id));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentCardTokensPaginator = $service->paymentTokens()->getAllPaginator(limit: 5);\nforeach ($paymentCardTokensPaginator as $paymentCardTokensPage) {\n    printf(\"Payment card tokens page %d/%d\\n\", $paymentCardTokensPaginator->key() + 1, $paymentCardTokensPaginator->count());\n    foreach ($paymentCardTokensPage as $paymentCardToken) {\n        printf(\"Payment card token #%s\\n\", $paymentCardToken->getId());\n    }\n}\n\n// OR\n\n$paymentCardTokens = $service->paymentTokens()->getAll();\nforeach ($paymentCardTokens as $paymentCardToken) {\n    printf(\"Payment card token #%s\\n\", $paymentCardToken->getId());\n}"}]}},"/tokens/{token}":{"parameters":[{"name":"token","in":"path","description":"ID of the token.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Retrieve a token","operationId":"GetToken","x-sdk-operation-name":"get","x-sdk-resource":"PaymentTokens","description":"Retrieves a token with a specified ID.","security":[{"PublishableApiKey":[]}],"responses":{"200":{"description":"Token retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardToken = $client->paymentCardTokens()->load('tokenId');\n"},{"lang":"JavaScript","source":"const paymentToken = await api.paymentTokens.get({id: 'foobar-001'});\nconsole.log(paymentToken.fields.method);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$paymentCardToken = $service->paymentTokens()->get('tokenId');"}]}},"/digital-wallets/validation":{"post":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Validate a digital wallet session","operationId":"PostDigitalWalletValidation","x-sdk-operation-name":"validate","description":"Validates a digital wallet session.\n\nWe recommend using [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) to validate a digital wallet session.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletValidation"}}},"description":"Digital wallet validation request.","required":true},"security":[{"PublishableApiKey":[]},{"SecretApiKey":[]},{"JWT":[]}],"responses":{"201":{"description":"Digital wallet validation complete.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletValidation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Create a transaction","operationId":"PostTransaction","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a transaction of type `sale`, `authorize` or `setup`.\n\nUse this operation for the following transactions.\n\n#### Real-time decision and response\n\nIn this transaction, you send a request and inspect the `result` of the response for `approved` or `declined`.\n\n#### User approval/interaction required\n\nIn this transaction, user approval is required to complete the transaction.\nUser approval generally requires the user to interact with a third party,\nand is common in many transactions for alternative methods.\nFor example, PayPal requires user permission to complete a payment or to accept a billing agreement.\nPayment cards may also require user approval for 3D secure authentication.\n\nIf approval is required, you receive a response with a `result` value of `unknown` and a `status` value of `waiting-approval`.\nThe `_links` property of the response has a link for the `approvalUrl`.\nOpen the `approvalUrl` in an iframe or in a pop. A pop is a better workflow for mobile devices.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/TransactionRequest"},"responses":{"201":{"description":"Transaction created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transactionForm = new Rebilly\\Entities\\Transaction();\n$transactionForm->setType('sale');\n$transactionForm->setCustomerId('customerId');\n$transactionForm->setWebsiteId('websiteId');\n$transactionForm->setCurrency('USD');\n$transactionForm->setAmount(1);\n\n$paymentInstruction = new Rebilly\\Entities\\Transactions\\PaymentInstructions\\PaymentTokenInstruction();\n$paymentInstruction->setToken('payment-token');\n$transactionForm->setPaymentInstruction($paymentInstruction);\n\n$transactionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n    'dob' => '2000-06-01',\n]);\n\ntry {\n    $transaction = $client->transactions()->create($transactionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new transaction\nconst data = {\n    customerId: 'foobar-0001',\n    type: 'sale',\n    websiteId: 'my-main-website',\n    paymentInstrument: {\n        method: 'payment-card',\n        paymentCardId: 'my-payment-card-id',\n        gatewayAccountId: 'my-gateway-account-id'\n    },\n    currency: 'USD',\n    amount: 12.99,\n    description: 'manual transaction',\n};\n\nconst transaction = await api.transactions.create({data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionForm = new \\Rebilly\\Sdk\\Model\\PostTransactionRequest([\n    'type' => 'sale',\n    'amount' => 1,\n]);\n$transactionForm->setCustomerId('customerId');\n$transactionForm->setWebsiteId('websiteId');\n$transactionForm->setCurrency('USD');\n\n$paymentInstruction = new \\Rebilly\\Sdk\\Model\\PaymentInstructionToken();\n$paymentInstruction->setToken('payment-token');\n$transactionForm->setPaymentInstruction($paymentInstruction);\n\n$transactionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n    'dob' => '2000-06-01',\n]);\n\ntry {\n    $transaction = $service->transactions()->create($transactionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"get":{"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve transactions","operationId":"GetTransactionCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves 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"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of transactions retrieved.","headers":{"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/Transaction"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transactions = $client->transactions()->search([\n    'filter' => 'result:approved',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.transactions.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.transactions.getAll(params);\n\n// access the collection items, each item is a Transaction\nsecondCollection.items.forEach(transaction => console.log(transaction.fields.type));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionsPaginator = $service->transactions()->getAllPaginator(limit: 5, filter: 'result:approved');\nforeach ($transactionsPaginator as $transactionsPage) {\n    printf(\"Transactions page %d/%d\\n\", $transactionsPaginator->key() + 1, $transactionsPaginator->count());\n    foreach ($transactionsPage as $transaction) {\n        printf(\"Transaction #%s (%s): %s\\n\", $transaction->getId(), $transaction->getStatus(), $transaction->getDescription());\n    }\n}\n\n// OR\n\n$transactions = $service->transactions()->getAll(filter: 'result:approved');\nforeach ($transactions as $transaction) {\n    printf(\"Transaction #%s (%s): %s\\n\", $transaction->getId(), $transaction->getStatus(), $transaction->getDescription());\n}"}]}},"/transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve a transaction","operationId":"GetTransaction","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a transaction with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/mediaTypeJsonPdf"}],"responses":{"200":{"description":"Transaction retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transaction = $client->transactions()->load('transactionId');\n"},{"lang":"JavaScript","source":"const transaction = await api.transactions.get({id: 'foobar-001'});\nconsole.log(transaction.fields.billingAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$transaction = $service->transactions()->get('transactionId');"}]},"patch":{"x-products":["Core"],"tags":["Transactions"],"summary":"Update a transaction","operationId":"PatchTransaction","x-sdk-operation-name":"patch","description":"Updates the custom fields of a transaction with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchTransactionRequest"},"responses":{"200":{"description":"Transaction updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"try {\n    $transaction = $client->transactions()->patch($transactionId, $data);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the custom fields to update for the transaction\nconst data = {\n    customFields: {\n        'myCustomField': 'myCustomData',\n        'myOtherField': 'myOtherData',        \n    }\n};\n\nconst transaction = await api.transactions.patch({id: 'my-transaction-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionForm = new \\Rebilly\\Sdk\\Model\\PatchTransactionRequest();\n$transactionForm->setCustomFields([\n    [\n        'name' => 'customField',\n        'value' => 'customValue',\n    ],\n]);\n\ntry {\n    $transaction = $service->transactions()->patch('transactionId', $transactionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payouts":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Create a credit transaction","operationId":"PostPayout","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a transaction of type `credit`.","requestBody":{"$ref":"#/components/requestBodies/CreditTransactionRequest"},"responses":{"201":{"description":"Transaction created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/query":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Query a transaction","operationId":"PostTransactionQuery","x-sdk-operation-name":"query","description":"Queries a transaction with a specified ID.\n\nThe query interacts with the related gateway account to obtain the result, amount, and currency.\nIf after analysis, the transaction must be updated, see [Update a transaction status](https://www.rebilly.com/catalog/all/transactions/posttransactionupdate).","responses":{"201":{"description":"Transaction queried.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionQuery"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/update":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Update a transaction status","operationId":"PostTransactionUpdate","x-sdk-operation-name":"update","description":"Updates the status of a transaction with a specified ID to `completed`,\nwith a specified `result` and optional currency and amount values.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionUpdate"}}},"required":true},"responses":{"200":{"description":"Transaction updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/refund":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Refund a transaction","operationId":"PostTransactionRefund","x-sdk-operation-name":"refund","description":"Refunds a transaction with a specified ID.\n\nThe refund is in the same currency as the original transaction.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionRefund"}}},"description":"Transaction resource.","required":true},"responses":{"201":{"description":"Transaction refunded.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transaction = $client->transactions()->refund('transactionId', 1.99);\n"},{"lang":"JavaScript","source":"// define the refund amount\nconst data = {\n    amount: 12.99\n};\n\nconst refund = await api.transactions.switch({id: 'my-transaction-id', data});\nconsole.log(refund.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionRefund = new \\Rebilly\\Sdk\\Model\\TransactionRefund();\n$transactionRefund->setAmount(1.99);\n\n$transaction = $service->transactions()->refund('transactionId', $transactionRefund);"}]}},"/transactions/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve transaction timeline messages","operationId":"GetTransactionTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of transaction timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of transaction timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.transactions\n    .getAllTimelineMessages({id: 'my-transaction'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-transaction', limit: 20, offset: 100};\nconst secondCollection = await api.transactions.getAllTimelineMessages(params);\n\n// access the collection items, each item is a TransactionTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Create a transaction timeline comment","operationId":"PostTransactionTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .transactions.createTimelineComment({id: 'my-transaction-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #transactions-transaction-id`;\nconst params = {\n    id: 'my-transaction-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.transactions.createTimelineComment(params);"}]}},"/transactions/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the transaction timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve a transaction Timeline message","operationId":"GetTransactionTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a timeline message with a specified ID.","responses":{"200":{"description":"Timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.transactions\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]},"delete":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Delete a transaction timeline message","operationId":"DeleteTransactionTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes a transaction timeline message with a specified ID.","responses":{"204":{"description":"Transaction timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.transactions\n    .deleteTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/fees/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/api-keys":{"get":{"x-products":["Users"],"tags":["API keys"],"summary":"Retrieve API keys","operationId":"GetApiKeyCollection","x-sdk-operation-name":"getAll","description":"Retrieve a list of API keys.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of API keys retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeys = $client->apiKeys()->search([\n    'filter' => 'description:Test',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.apiKeys.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.apiKeys.getAll(params);\n\n// access the collection items, each item is an ApiKey\nsecondCollection.items.forEach(apiKey => console.log(apiKey.fields.description));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeysPaginator = $service->apiKeys()->getAllPaginator(limit: 5);\nforeach ($apiKeysPaginator as $apiKeysPage) {\n    printf(\"ApiKeys page %d/%d\\n\", $apiKeysPaginator->key() + 1, $apiKeysPaginator->count());\n    foreach ($apiKeysPage as $apiKey) {\n        printf(\"ApiKey #%s: %s\\n\", $apiKey->getId(), $apiKey->getDescription());\n    }\n}\n\n// OR\n\n$apiKeys = $service->apiKeys()->getAll();\nforeach ($apiKeys as $apiKey) {\n    printf(\"ApiKey #%s: %s\\n\", $apiKey->getId(), $apiKey->getDescription());\n}"}]},"post":{"x-products":["Users"],"tags":["API keys"],"summary":"Create an API key","operationId":"PostApiKey","x-sdk-operation-name":"create","description":"Create an API key.","requestBody":{"$ref":"#/components/requestBodies/ApiKey"},"responses":{"201":{"description":"API key created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeyForm = new Rebilly\\Entities\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $client->apiKeys()->create($apiKeyForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new API key\nconst data = {\n    description: 'My new API key',\n    type: 'secret'\n};\n\n// the ID is optional\nconst firstKey = await api.apiKeys.create({data});\n\n// or you can provide one\nconst secondKey = await api.apiKeys.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeyForm = new \\Rebilly\\Sdk\\Model\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $service->apiKeys()->create($apiKeyForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/api-keys/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["API keys"],"summary":"Retrieve API key","operationId":"GetApiKey","x-sdk-operation-name":"get","description":"Retrieve API key with a specified ID.","responses":{"200":{"description":"API key retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeys = $client->apiKeys()->load('apiKeyID');\n"},{"lang":"JavaScript","source":"const apiKey = await api.apiKeys.get({id: 'foobar-001'});\nconsole.log(apiKey.fields.description);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$apiKeys = $service->apiKeys()->get('apiKeyID');"}]},"put":{"x-products":["Users"],"tags":["API keys"],"summary":"Upsert an API key","operationId":"PutApiKey","x-sdk-operation-name":"update","description":"Create or update (upsert) API key with a specified ID.","responses":{"200":{"description":"API key updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"201":{"description":"API key created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/ApiKey"},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeyForm = new Rebilly\\Entities\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $client->apiKeys()->update('apiKeyID', $apiKeyForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// define values to update\nconst data = {\n    description: 'A better description'\n};\n\nconst apiKey = await api.apiKeys.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeyForm = new \\Rebilly\\Sdk\\Model\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $service->apiKeys()->update('apiKeyID', $apiKeyForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Users"],"tags":["API keys"],"summary":"Delete API key","operationId":"DeleteApiKey","x-sdk-operation-name":"delete","description":"Deletes an API key with a specified ID.","responses":{"204":{"description":"API key deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->apiKeys()->delete('apiKeyID');\n"},{"lang":"JavaScript","source":"const request = await api.apiKeys.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->apiKeys()->delete('apiKeyID');"}]}},"/balance-transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Balance transactions"],"summary":"Retrieve balance transactions","description":"Retrieves a list of balance transactions.\n\n> **Important:** This operation is experimental and may change.","operationId":"GetBalanceTransactionCollection","x-sdk-operation-name":"getAll","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of balance transactions retrieved.","headers":{"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/BalanceTransaction"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/balance-transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Balance transactions"],"summary":"Retrieve a balance transaction","description":"Retrieves a balance transaction with a specified identifier.\n\n> **Important:** This operation is experimental and may change.","operationId":"GetBalanceTransaction","x-sdk-operation-name":"get","responses":{"200":{"description":"Balance transaction retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceTransaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/billing-portals":{"get":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Retrieve billing portals","operationId":"GetBillingPortalCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of billing portals.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of billing portals retrieved.","headers":{"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/BillingPortal"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Create a billing portal","operationId":"PostBillingPortal","x-sdk-operation-name":"create","description":"Creates a billing portal.","responses":{"201":{"description":"Billing portal created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}}}},"/billing-portals/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Retrieve a billing portal","operationId":"GetBillingPortal","x-sdk-operation-name":"get","description":"Retrieves a billing portal with a specified ID.","responses":{"200":{"description":"Billing portal retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Upsert a billing portal","operationId":"PutBillingPortal","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a billing portal with a specified ID.","responses":{"200":{"description":"Billing portal updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"201":{"description":"Billing portal created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}}},"delete":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Delete a billing portal","operationId":"DeleteBillingPortal","x-sdk-operation-name":"delete","description":"Deletes a billing portal with a specified ID.","responses":{"204":{"description":"Billing portal deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/broadcast-messages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/deposit-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/cashiers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/deposit-strategies/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/checkout-forms/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/service-credentials/{type}":{"parameters":[{"$ref":"#/components/parameters/credentialType"}],"get":{"x-products":["Users"],"parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"tags":["Service credentials"],"summary":"Retrieve service credentials","operationId":"GetServiceCredentialCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of service credentials.","responses":{"200":{"description":"List of service credentials retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCredential"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// type is required, other parameters are optional\nconst firstCollection = await api.serviceCredentials.getAll({type: 'webhook'});\n\n// alternatively you can specify one or more of them\nconst params = {type: 'webhook', limit: 20, offset: 100};\nconst secondCollection = await api.serviceCredentials.getAll(params);\n\n// access the collection items, each item is a ServiceCredential\nsecondCollection.items.forEach(serviceCredential => console.log(serviceCredential.fields.status));\n"}]},"post":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Create a service credential","operationId":"PostServiceCredential","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a service credential.","responses":{"201":{"description":"Service credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"303":{"description":"Existing service credential retrieved.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/PostCredential"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for the new service credential\nconst data = {\n    type: 'webhook',\n    host: 'foobar.test.com',\n    auth: {\n        type: 'none'\n    }\n};\n\nconst credential = await api.serviceCredentials.create({type: 'webhook', data});\n// use the ID to authenticate your webhook in Rebilly\nconsole.log(credential.fields.id);\n"}]}},"/service-credentials/{type}/{id}":{"parameters":[{"$ref":"#/components/parameters/credentialType"},{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Retrieve a service credential","operationId":"GetServiceCredential","x-sdk-operation-name":"get","description":"Retrieves a service credential with a specified ID.","responses":{"200":{"description":"Service credential retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const credential = await api.serviceCredentials.get({type: 'webhook', id: 'service-credential-1'});\nconsole.log(credential.fields.status);\n"}]},"patch":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Update a service credential","operationId":"PatchServiceCredential","x-sdk-operation-name":"update","description":"Updates a service credential with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchCredential"},"responses":{"200":{"description":"Service credential updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the status to update for the service credential\nconst data = {\n    type: 'webhook',\n    status: 'deactivated'\n};\n\nconst credential = await api.serviceCredentials.update({type: 'webhook', id: 'service-credential-1', data});\n"}]}},"/service-credentials/{type}/{id}/items":{"parameters":[{"$ref":"#/components/parameters/credentialType"},{"$ref":"#/components/parameters/resourceId"}]},"/custom-domains":{"get":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Retrieve custom domains","operationId":"GetCustomDomainCollection","x-sdk-operation-name":"getAll","description":"Retrieve a list of custom domains.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of custom domains retrieved.","headers":{"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/CustomDomain"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Create a custom domain","operationId":"PostCustomDomain","x-sdk-operation-name":"create","description":"Create a custom domain.","responses":{"201":{"description":"Custom domain created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}}}},"/custom-domains/{domain}":{"parameters":[{"name":"domain","in":"path","description":"Resource domain.","required":true,"schema":{"type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w]+$"}}],"delete":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Delete a custom domain","operationId":"DeleteCustomDomain","x-sdk-operation-name":"delete","description":"Delete a custom domain with a specified ID.","responses":{"204":{"description":"Custom domains deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-setting-verifications/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}],"put":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Verify an email delivery setting","operationId":"PutEmailDeliverySettingsVerification","x-sdk-operation-name":"verify","x-sdk-resource":"EmailDeliverySettings","description":"Verifies an email delivery setting.","responses":{"200":{"description":"Email delivery setting verified.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-settings":{"get":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Retrieve email delivery settings","operationId":"GetEmailDeliverySettingCollection","x-sdk-operation-name":"getAll","description":"Retrieves email delivery settings.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of email delivery settings retrieved.","headers":{"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":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Create an email delivery setting","operationId":"PostEmailDeliverySetting","x-sdk-operation-name":"create","description":"Creates an email delivery setting.\nEmail delivery settings are used together with email messages,\nor templates, to send emails.","responses":{"201":{"description":"Email delivery setting created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}},"description":"Email delivery setting resource.","required":true}}},"/email-delivery-settings/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Retrieve an email delivery setting","operationId":"GetEmailDeliverySetting","x-sdk-operation-name":"get","description":"Retrieves an email delivery setting with a specified ID.","responses":{"200":{"description":"Email delivery setting retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Delete an email delivery setting","operationId":"DeleteEmailDeliverySetting","x-sdk-operation-name":"delete","description":"Deletes an email delivery setting with a specified ID.","responses":{"204":{"description":"Email delivery setting deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"patch":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Update an email delivery setting","operationId":"PatchEmailDeliverySetting","x-sdk-operation-name":"update","description":"Updates an email delivery setting with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}},"description":"Email delivery setting resource.","required":true},"responses":{"200":{"description":"Email delivery setting updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-settings/{id}/resend-email-verification":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Resend email delivery setting verification email","operationId":"PostResendEmailDeliverySettingVerification","x-sdk-operation-name":"resendVerification","description":"Resends a verification email for an email delivery setting with a specified ID.","responses":{"200":{"description":"Verification email sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-messages":{"get":{"x-products":["Users"],"tags":["Email messages"],"summary":"Retrieve email messages","operationId":"GetEmailMessageCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of email messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of email messages retrieved.","headers":{"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":{"x-products":["Users"],"tags":["Email messages"],"summary":"Create an email message","operationId":"PostEmailMessage","x-sdk-operation-name":"create","description":"Creates an email message.","responses":{"201":{"description":"Email message created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}},"description":"Email message resource.","required":true}}},"/email-messages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Email messages"],"summary":"Retrieve an email message","operationId":"GetEmailMessage","x-sdk-operation-name":"get","description":"Retrieves an email message with a specified ID.","responses":{"200":{"description":"Email message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"x-products":["Users"],"tags":["Email messages"],"summary":"Send an email message","operationId":"PatchEmailMessage","x-sdk-operation-name":"send","description":"Sends an email message.","responses":{"200":{"description":"Email message accepted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"PatchEmailMessageRequest","required":["status"],"properties":{"status":{"description":"Status of the email message.","type":"string","enum":["outbox"]}}}}},"description":"Email message status.","required":true}}},"/email-notifications":{"get":{"x-products":["Users"],"tags":["Email notifications"],"summary":"Retrieve email notification events","operationId":"GetEmailNotificationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list email notification events.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of email notification events retrieved.","headers":{"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":{"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve system events","operationId":"GetEventCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of system events.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of system events retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.events.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.events.getAll(params);\n\n// access the collection items, each item is a SystemEvent\nsecondCollection.items.forEach(event => console.log(event.fields.eventType));\n"}]}},"/events/{eventType}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve event information","operationId":"GetEvent","x-sdk-operation-name":"get","description":"Retrieves event information for a specified event type.","responses":{"200":{"description":"Rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemEvent"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const eventDetails = await api.events.get({eventType: 'gateway-account-created'});\nconsole.log(eventDetails.fields.rulesCount);"}]}},"/events/{eventType}/rules":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve event rules","operationId":"GetEventRuleCollection","x-sdk-operation-name":"getRules","description":"Retrieves rules associated with a specified event type.","responses":{"200":{"description":"Rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const event = await api.events.getRules({eventType: 'transaction-processed'});\nconsole.log(event.fields.rules);"}]},"put":{"x-products":["Users"],"tags":["Rules"],"summary":"Update event rules","operationId":"PutEventRule","x-sdk-operation-name":"createRules","description":"Updates rules associated with a specified event type.","responses":{"200":{"description":"Rules updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/RuleSet"},"x-codeSamples":[{"lang":"JavaScript","source":"// define at least one rule\nconst data = {\n    rules: [\n        {\n            name: 'The One Rule',\n            status: 'active',\n            final: true,\n            criteria: {},\n            actions: [\n                {\n                     name: 'blocklist',\n                     status: 'active',\n                     type: 'email',\n                     ttl: 789\n                },\n                {\n                     name: 'stop-subscriptions',\n                     status: 'active'\n                }\n            ]\n        }\n\n    ]\n};\n\nconst ruleset = await api.events.createRules({eventType: 'risk-score-changed', data});\nconsole.log(ruleset.fields.version);\n\n\n\n// updating rules\n\n// define the ruleset to override the current values within\n// the event\nconst data = {\n    rules: [\n        {\n            name: 'The One Rule',\n            status: 'active',\n            final: true,\n            criteria: {},\n            actions: [\n                {\n                     name: 'blocklist',\n                     status: 'active',\n                     type: 'email',\n                     ttl: 789\n                },\n                {\n                     name: 'stop-subscriptions',\n                     status: 'active'\n                }\n            ]\n        }\n\n    ]\n};\n\nconst ruleset = await api.events.updateRules({eventType: 'risk-score-changed', data});\n// each time the event's ruleset is modified\n// the version number is incremented\nconsole.log(ruleset.fields.version);\n"}]}},"/events/{eventType}/timeline":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}]},"/events/{eventType}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"name":"messageId","in":"path","description":"ID of the rules engine timeline message.","required":true,"schema":{"type":"string"}}]},"/events/{eventType}/rules/history":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve change history of a ruleset","operationId":"GetEventRuleHistoryCollection","x-sdk-operation-name":"getRulesHistory","description":"Retrieves the change history of a ruleset with a specified event type.\nAll ruleset changes are recorded in the change history.","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"}],"responses":{"200":{"description":"Ruleset history retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// get the latest 20 versions for this event ID\nconst history = await api.events.getRulesVersionNumber({eventType: 'risk-score-changed', limit: 20});\n// each item exposes the version and `createdTime`\nhistory.items.forEach(edit => console.log(edit.fields.version));"}]}},"/events/{eventType}/rules/history/{version}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/rulesVersion"}]},"/events/{eventType}/rules/versions/{version}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/rulesVersion"}]},"/events/{eventType}/rules/drafts":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}]},"/events/{eventType}/rules/drafts/{id}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/resourceId"}]},"/forgot-password":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}]},"/gateway-accounts":{"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve gateway accounts","operationId":"GetGatewayAccountCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of gateway accounts.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"}],"responses":{"200":{"description":"List of gateway accounts retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccounts = $client->$gatewayAccounts()->search([\n    'filter' => 'currency:USD',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.gatewayAccounts.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.gatewayAccounts.getAll(params);\n\n// access the collection items, each item is a GatewayAccount\nsecondCollection.items.forEach(gatewayAccount => console.log(gatewayAccount.fields.gatewayName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountsPaginator = $service->gatewayAccounts()->getAllPaginator(limit: 5, filter: 'currency:USD');\nforeach ($gatewayAccountsPaginator as $gatewayAccountsPage) {\n    printf(\"Gateway accounts page %d/%d\\n\", $gatewayAccountsPaginator->key() + 1, $gatewayAccountsPaginator->count());\n    foreach ($gatewayAccountsPage as $gatewayAccount) {\n        printf(\"Gateway account #%s: %s\\n\", $gatewayAccount->getId(), $gatewayAccount->getGatewayName());\n    }\n}\n\n// OR\n\n$gatewayAccounts = $service->gatewayAccounts()->getAll(filter: 'currency:USD');\nforeach ($gatewayAccounts as $gatewayAccount) {\n    printf(\"Gateway account #%s: %s\\n\", $gatewayAccount->getId(), $gatewayAccount->getGatewayName());\n}"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Create a gateway account","operationId":"PostGatewayAccount","x-sdk-operation-name":"create","description":"Creates a gateway account.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"201":{"description":"Gateway account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccountForm = new Rebilly\\Entities\\GatewayAccount();\n\n$gatewayAccountForm->setGatewayName('A1Gateway');\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setOrganizationId('organizationId');\n$gatewayAccountForm->setMerchantCategoryCode(5734);\n$gatewayAccountForm->setWebsites([\n    'websiteId1',\n    'websiteId2',\n]);\n$gatewayAccountForm->setPaymentCardSchemes([\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_VISA,\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_MASTERCARD,\n]);\n$gatewayAccountForm->setMethod(Rebilly\\Entities\\PaymentMethod::METHOD_CASH);\n\n$gatewayConfig = [\n    'accountId' => 'test',\n    'password' => '123',\n];\n\n$gatewayAccountForm->setGatewayConfig($gatewayConfig);\n\ntry {\n    $gatewayAccount = $client->gatewayAccounts()->create($gatewayAccountForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new gateway account\nconst data = {\n    gatewayName: 'RebillyProcessor',\n    acquirerName: 'RebillyProcessor',\n    merchantCategoryCode: 0,\n    acceptedCurrencies: ['USD'],\n    method: 'payment-card',\n    paymentCardSchemes: [\n        'Visa', 'MasterCard', 'American Express', \n        'Discover', 'Diners Club', 'JCB'\n    ],\n    // the gatewayConfig varies for each gateway name, \n    // see the API spec for details\n    gatewayConfig: {},\n};\n\n// the ID is optional\nconst firstKey = await api.gatewayAccounts.create({data});\n\n// or you can provide one\nconst secondKey = await api.gatewayAccounts.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountForm = new \\Rebilly\\Sdk\\Model\\Stripe();\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setMerchantCategoryCode('5734');\n$gatewayAccountForm->setPaymentCardSchemes([\n    'Visa',\n    'MasterCard',\n]);\n$gatewayAccountForm->setMethod('payment-card');\n\ntry {\n    $gatewayAccount = $service->gatewayAccounts()->create($gatewayAccountForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/gateway-accounts/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieves a gateway account","operationId":"GetGatewayAccount","x-sdk-operation-name":"get","description":"Retrieves a gateway account with a specified ID.","responses":{"200":{"description":"Gateway account retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccount = $client->gatewayAccounts()->load('gatewayAccountId');\n"},{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.get({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.gatewayName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$gatewayAccount = $service->gatewayAccounts()->get('gatewayAccountId');"}]},"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Upsert a gateway account","operationId":"PutGatewayAccount","x-sdk-operation-name":"upsert","description":"Creates or updates (upserts) a gateway account with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"200":{"description":"Gateway account updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"201":{"description":"Gateway account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccountForm = new Rebilly\\Entities\\GatewayAccount();\n\n$gatewayAccountForm->setGatewayName('A1Gateway');\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setOrganizationId('organizationId');\n$gatewayAccountForm->setMerchantCategoryCode(5734);\n$gatewayAccountForm->setWebsites([\n    'websiteId1',\n    'websiteId2',\n]);\n$gatewayAccountForm->setPaymentCardSchemes([\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_VISA,\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_MASTERCARD,\n]);\n$gatewayAccountForm->setMethod(Rebilly\\Entities\\PaymentMethod::METHOD_CASH);\n\n$gatewayConfig = [\n    'accountId' => 'test',\n    'password' => '123',\n];\n\n$gatewayAccountForm->setGatewayConfig($gatewayConfig);\n\ntry {\n    $gatewayAccount = $client->gatewayAccounts()->update('gatewayAccountId', $gatewayAccountForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new gateway account\nconst data = {\n    gatewayName: 'RebillyProcessor',\n    acquirerName: 'RebillyProcessor',\n    merchantCategoryCode: 0,\n    acceptedCurrencies: ['USD'],\n    method: 'payment-card',\n    paymentCardSchemes: [\n        'Visa', 'MasterCard', 'American Express', \n        'Discover', 'Diners Club', 'JCB'\n    ],\n    // the gatewayConfig varies for each gateway name, \n    // see the API spec for details\n    gatewayConfig: {},\n};\n\n// the ID is optional\nconst firstKey = await api.gatewayAccounts.create({data});\n\n// or you can provide one\nconst secondKey = await api.gatewayAccounts.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountForm = new \\Rebilly\\Sdk\\Model\\Stripe();\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setMerchantCategoryCode('5734');\n$gatewayAccountForm->setPaymentCardSchemes([\n    'Visa',\n    'MasterCard',\n]);\n$gatewayAccountForm->setMethod('payment-card');\n\ntry {\n    $gatewayAccount = $service->gatewayAccounts()->update('gatewayAccountId', $gatewayAccountForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"patch":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account","operationId":"PatchGatewayAccount","x-sdk-operation-name":"update","description":"Updates a gateway account with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"200":{"description":"Gateway account updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// build data with only the fields you wish to update\nconst data = {\n    paymentCardSchemes: [\n            'Visa', 'MasterCard', 'American Express'\n    ]\n};\n\nconst secondKey = await api.gatewayAccounts.update({id: 'my-second-id', data});"}]}},"/gateway-accounts/{id}/close":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Close a gateway account","operationId":"PostGatewayAccountClosure","x-sdk-operation-name":"close","description":"Closes a gateway account with a specified ID.\nThis process is also known as archiving.\n\nWhen a gateway account is closed,\nthe gateway cannot process transactions and the `status` attribute is set to `closed`.\n\n>**Important:** Closing a gateway account cannot be undone. Do so with caution.","responses":{"201":{"description":"Gateway account closed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.close({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/disable":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Disable a gateway account","operationId":"PostGatewayAccountDisablement","x-sdk-operation-name":"disable","description":"Disables a gateway account with a specified ID.\n\nWhen a gateway account is disabled,\nthe gateway cannot process transactions and the `status` attribute is set to `inactive`.","responses":{"201":{"description":"Gateway account disabled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.disable({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/downtime-schedules":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"List gateway account downtime schedules","operationId":"GetGatewayAccountDowntimeScheduleCollection","x-sdk-operation-name":"getAllDowntimeSchedules","description":"Retrieves a list of downtime schedules for a gateway account with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of gateway account downtime schedules retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.gatewayAccounts.getAllDowntimeSchedules({id: 'my-gateway'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-gateway', limit: 20, offset: 100};\nconst secondCollection = await api.gatewayAccounts.getAllDowntimeSchedules(params);\n\n// access the collection items, each item is a GatewayAccountDowntimeSchedule\nsecondCollection.items\n    .forEach(gatewayAccount => console.log(gatewayAccount.fields.reason));\n"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Create a gateway account downtime schedule","operationId":"PostGatewayAccountDowntimeSchedule","x-sdk-operation-name":"createDowntimeSchedule","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a downtime schedule for a gateway account with a specified ID.","responses":{"201":{"description":"Gateway account downtime schedule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountDowntimeSchedule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountDowntimeSchedule"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for\n// the new gateway account downtime schedule\nconst data = {\n    startTime: '2018-08-02T15:13:23Z',\n    endTime: '2018-08-02T15:13:23Z'\n};\n\n// the gateway ID is required\nconst secondKey = await api.gatewayAccounts.createDowntimeSchedule({id: 'my-second-id', data});"}]}},"/gateway-accounts/{id}/downtime-schedules/{downtimeId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"downtimeId","in":"path","description":"ID of the gateway account downtime.","required":true,"schema":{"type":"string"}}],"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account downtime schedule","operationId":"PutGatewayAccountDowntimeSchedule","x-sdk-operation-name":"updateDowntimeSchedule","description":"Updates a gateway account downtime schedule with a specified ID.","responses":{"200":{"description":"Gateway account downtime schedule updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountDowntimeSchedule"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for\n// the update gateway account downtime schedule\nconst data = {\n    startTime: '2018-08-02T15:13:23Z',\n    endTime: '2018-08-02T15:13:23Z'\n};\n\n// the gateway ID is required\nconst secondKey = await api.gatewayAccounts\n    .updateDowntimeSchedule({id: 'my-second-id', downtimeScheduleId: 'schedule-id', data});"}]},"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Delete a gateway account downtime schedule","operationId":"DeleteGatewayAccountDowntimeSchedule","x-sdk-operation-name":"deleteDowntimeSchedule","description":"Deletes a gateway account downtime schedule with a specified ID.","responses":{"204":{"description":"Gateway account downtime schedule deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.gatewayAccounts\n    .deleteDowntimeSchedule({id: 'my-second-key', downtimeScheduleId: 'schedule-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/gateway-accounts/{id}/enable":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Enable a gateway account","operationId":"PostGatewayAccountEnablement","x-sdk-operation-name":"enable","description":"Enables a gateway account with a specified ID.\n\nWhen a gateway account is enabled,\nthe gateway can process transactions and the `status` attribute is set to `active`.","responses":{"201":{"description":"Gateway account enabled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.enable({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/limits":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve gateway account limits","operationId":"GetGatewayAccountLimitCollection","x-sdk-operation-name":"getAllVolumeLimits","description":"Retrieves a list of limits for a gateway account with a specified ID.","responses":{"200":{"description":"List of gateway account limits retrieved.","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/resourceId"},{"name":"limitId","in":"path","description":"ID of the gateway account limit.","required":true,"schema":{"type":"string","enum":["daily-money","monthly-money","daily-count","monthly-count"]}}],"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account limit","operationId":"PutGatewayAccountLimit","x-sdk-operation-name":"updateVolumeLimit","description":"Updates a gateway account limit with a specified ID.","responses":{"200":{"description":"Gateway account limit updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountLimit"}}}},"201":{"description":"Gateway account limit created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountLimit"}}}}},"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Delete a gateway account limit","operationId":"DeleteGatewayAccountLimit","x-sdk-operation-name":"deleteVolumeLimit","description":"Deletes a gateway account limit with a specified ID.","responses":{"204":{"description":"Gateway account limit deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/gateway-accounts/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts timeline"],"summary":"Retrieve gateway account timeline messages","operationId":"GetGatewayAccountTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of timeline messages associated with a specified gateway account ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of gateway account timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.gatewayAccounts\n    .getAllTimelineMessages({id: 'my-gateway'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-gateway', limit: 20, offset: 100};\nconst secondCollection = await api.gatewayAccounts.getAllTimelineMessages(params);\n\n// access the collection items, each item is a GatewayAccountTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts timeline"],"summary":"Create a gateway account timeline comment","operationId":"PostGatewayAccountTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a timeline comment on gateway account with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountTimeline"}}},"description":"Gateway account timeline resource.","required":true},"responses":{"201":{"description":"Gateway account timeline comment created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .gatewayAccounts.createTimelineComment({id: 'my-gateway-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #customers-customer-id`;\nconst params = {\n    id: 'my-gateway-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.gatewayAccounts.createTimelineComment(params);"}]}},"/gateway-accounts/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the gateway account timeline message.","required":true,"schema":{"type":"string"}}]},"/gateway-accounts/{id}/check-credentials":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Verify gateway account credentials","operationId":"PostGatewayAccountCheckCredentials","x-sdk-operation-name":"checkCredentials","description":"Verifies that supplied credentials are valid for a specified gateway account ID.","responses":{"204":{"description":"Supplied credentials are valid.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"description":"Supplied credentials are not valid."},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/gateway-accounts/{id}/financial-settings":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve financial settings of a gateway account","operationId":"GetGatewayAccountFinancialSettings","x-sdk-operation-name":"getFinancialSettings","description":"Retrieves the financial settings of a gateway account with a specified ID.\n\n> **Important:** This operation is experimental and may not be backward compatible.","responses":{"200":{"description":"Financial settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Set financial settings","operationId":"PutGatewayAccountFinancialSettings","x-sdk-operation-name":"setFinancialSettings","description":"Sets financial settings for a gateway account with a specified ID.\n\n> **Important:** This operation is experimental and may not be backward compatible.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"responses":{"200":{"description":"Gateway account financial settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"201":{"description":"Gateway account financial settings created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/digital-wallets/onboarding/apple-pay":{"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve Apple Pay domains","operationId":"GetDigitalWalletOnboardingApplePay","x-sdk-operation-name":"getApplePayDomains","description":"Retrieves the domains that Apple Pay has registered for the organization.\nApple Pay registers domains for the whole organization, not for one gateway account.","responses":{"200":{"description":"Apple Pay domains retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePayDomains"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"}}},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Register a domain for Apple Pay","operationId":"PostDigitalWalletOnboardingApplePay","x-sdk-operation-name":"create","description":"Registers a domain for Apple Pay.\n\nUse this operation to register the domain with Apple Pay,\nor to check if it is already registered.\nWhen the domain is registered, you can use Apple Pay with your embedded integrations.\n\nFor more information, see [Set up Apple Pay](/docs/dev-docs/digital-wallets#set-up-apple-pay).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}},"description":"Apple pay domain registration request.","required":true},"security":[{"SecretApiKey":[]},{"JWT":[]}],"responses":{"200":{"description":"Action executed without error.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}}},"201":{"description":"Domain registered with Apple Pay.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/digital-wallets/onboarding/apple-pay/{domain}":{"parameters":[{"name":"domain","in":"path","description":"Domain to remove from Apple Pay.","required":true,"schema":{"type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w]+$"}}],"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Remove an Apple Pay domain","operationId":"DeleteDigitalWalletOnboardingApplePayDomain","x-sdk-operation-name":"deleteApplePayDomain","description":"Removes a domain from Apple Pay for the organization.\nApple Pay stops working on the domain.","responses":{"204":{"description":"Apple Pay domain removed.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/grid-segments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/integrations":{"get":{"x-products":["Users"],"tags":["Integrations"],"summary":"Retrieve integrations","operationId":"GetIntegrationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of integrations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of integrations retrieved.","headers":{"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/integrationLabel"}],"get":{"x-products":["Users"],"tags":["Integrations"],"summary":"Retrieve an integration for specific label","operationId":"GetIntegration","x-sdk-operation-name":"get","description":"Retrieves an integration with a specified label.","responses":{"200":{"description":"Integration retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/lists":{"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve lists","operationId":"GetListCollection","x-sdk-operation-name":"getAll","description":"Retrieves a collection of lists.\nThis operation returns the most recent version of each list.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Collection of lists retrieved.","headers":{"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/ValueList"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.lists.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.lists.getAll(params);\n\n// access the collection items, each item is a ValueList\nsecondCollection.items.forEach(list => console.log(list.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$listsPaginator = $service->lists()->getAllPaginator(limit: 5, filter: 'description:testDescription');\nforeach ($listsPaginator as $listPage) {\n    printf(\"Lists page %d/%d\\n\", $listsPaginator->key() + 1, $listsPaginator->count());\n    foreach ($listPage as $list) {\n        printf(\"List #%s (%s): %s\\n\", $list->getId(), $list->getDescription(), $list->getVersion());\n    }\n}\n\n// OR\n\n$lists = $service->lists()->getAll(filter: 'description:testDescription');\nforeach ($lists as $list) {\n    printf(\"List #%s (%s): %s\\n\", $list->getId(), $list->getDescription(), $list->getVersion());\n}"}]}},"/lists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve latest list version","operationId":"GetList","x-sdk-operation-name":"getLatestVersion","description":"Retrieves the latest version of a list with a specified ID.","responses":{"200":{"description":"List retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"// get the latest version\nconst latest = await api.lists.get({id: 'foobar-001'});\n\n// get an older version\nconst older = await api.lists.get({id: 'foobar-001', version: 12});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$list = $service->lists()->getLatestVersion('listId');"}]},"put":{"x-products":["Users"],"tags":["Lists"],"summary":"Upsert a list","operationId":"PutList","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a list with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}},"description":"List resource.","required":true},"responses":{"200":{"description":"List updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"201":{"description":"List created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a list\nconst data = {\n    name: 'My value list',\n    values: [\n        'foobar-0001', 'foobar-0002',  'foobar-0003',\n        'foobar-0004', 'foobar-0005', 'foobar-0006'  \n    ]\n};\n\n// the ID is optional\nconst firstList = await api.lists.create({data});\n\n// or you can provide one\nconst secondList = await api.lists.create({id: 'my-second-key', data});\n\n\n\n// updating a list\nconst data = {\n    name: 'My better list',\n    values: [\n        'foobar-0004', 'foobar-0005', 'foobar-0006'  \n    ]\n};\n\nconst list = await api.lists.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$list = \\Rebilly\\Sdk\\Model\\ValueList::from()\n    ->setDescription('testDescription')\n    ->setValues(['value1', 'value2', 'value3']);\n\ntry {\n    $list = $service->lists()->update('listId', $list);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Users"],"tags":["Lists"],"summary":"Delete a list","operationId":"DeleteList","x-sdk-operation-name":"delete","description":"Deletes a list with a specified ID.","responses":{"204":{"description":"List deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Specified list is in use in a rule and cannot be deleted."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.lists.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->lists()->delete('listId');"}]}},"/lists/{id}/{version}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"version","in":"path","required":true,"description":"Version of the list.","schema":{"type":"integer","minimum":1}}],"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve specific list version","operationId":"GetListVersion","x-sdk-operation-name":"getByVersion","description":"Retrieves a specified version of a list with a specified ID.","responses":{"200":{"description":"List version retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$list = $service->lists()->getByVersion('listId', 1);"}]}},"/memberships/{organizationId}/{userId}":{"parameters":[{"name":"organizationId","in":"path","required":true,"description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","schema":{"$ref":"#/components/schemas/ResourceId"}},{"name":"userId","in":"path","required":true,"description":"ID of the user.","schema":{"$ref":"#/components/schemas/ResourceId"}}],"delete":{"x-products":["Users"],"tags":["Users"],"summary":"Delete a user membership","operationId":"DeleteUserMembership","x-sdk-operation-name":"deleteUserMembership","description":"Deletes a membership with a specified organization ID and user ID.","responses":{"204":{"description":"Membership deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/organizations":{"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve organizations","operationId":"GetOrganizationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of organizations.\nIf an organization requires multi-factor authentication (MFA) and your session has not passed MFA,\nthe response includes only `id`, `name`, `country`, `features`, `settings.security`, and `_links` for that organization,\nand omits all other fields.\nIn that case, only `id`, `name`, and `features` are available as filter fields,\nand only `id` and `name` are available as sort fields.\nTo require MFA, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of organizations retrieved.","headers":{"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"}}},"post":{"x-products":["Users"],"tags":["Organizations"],"summary":"Create an organization","operationId":"PostOrganization","x-sdk-operation-name":"create","description":"Creates an organization.","requestBody":{"$ref":"#/components/requestBodies/PostOrganization"},"responses":{"201":{"description":"Organization created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organizationForm = new Rebilly\\Entities\\Organization();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $client->organizations()->create($organizationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$organizationForm = new \\Rebilly\\Sdk\\Model\\PostOrganizationRequest();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $service->organizations()->create($organizationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/organizations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve an organization","operationId":"GetOrganization","x-sdk-operation-name":"get","description":"Retrieves an organization with a specified ID.\nIf the organization requires multi-factor authentication (MFA) and your session has not passed MFA,\nthe response includes only `id`, `name`, `country`, `features`, `settings.security`, and `_links`,\nand omits all other fields.\nTo require MFA, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.","responses":{"200":{"description":"Organization retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organization = $client->organizations()->load('organizationId');\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$organization = $service->organizations()->get('organizationId');"}]},"patch":{"x-products":["Users"],"tags":["Organizations"],"summary":"Update an organization","operationId":"PatchOrganization","x-sdk-operation-name":"update","description":"Updates an organization with a specified organization ID.","requestBody":{"$ref":"#/components/requestBodies/PatchOrganization"},"responses":{"200":{"description":"Organization updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organizationForm = new Rebilly\\Entities\\Organization();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $client->organizations()->update('organizationId', $organizationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$organizationForm = new \\Rebilly\\Sdk\\Model\\PatchOrganizationRequest();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $service->organizations()->update('organizationId', $organizationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-cards-bank-names":{"get":{"x-products":["Users"],"tags":["Payment instruments"],"summary":"Retrieve payment card issuing bank names","operationId":"GetPaymentCardBankNameCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payment card issuing bank names.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of payment card issuing bank names retrieved.","headers":{"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","title":"GetPaymentCardsBankNamesResponse","items":{"type":"object","properties":{"name":{"description":"Name of the bank.","type":"string"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/payment-methods":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment method metadata","operationId":"GetPaymentMethodCollection","x-sdk-operation-name":"getAll","description":"Retrieves payment method metadata.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"security":[],"responses":{"200":{"description":"Payment methods metadata received.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodMetadata"}}}}}}}},"/payment-methods/{apiName}":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"parameters":[{"name":"apiName","in":"path","description":"Name of the payment method API.","required":true,"schema":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"}}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve metadata of a payment method","operationId":"GetPaymentMethod","x-sdk-operation-name":"get","description":"Retrieves the metadata of a payment method with a specified `apiName`.","security":[],"responses":{"200":{"description":"Payment method metadata received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodMetadata"}}}}}}},"/payment-gateways-metadata":{"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment gateway metadata","operationId":"GetPaymentGatewayMetadataCollection","x-sdk-operation-name":"getAll","x-sdk-skip":true,"description":"Retrieves payment gateway metadata.","security":[],"responses":{"200":{"description":"Payment gateway metadata received.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentGatewayMetadata"}}}}}}}},"/payment-gateways-metadata/{apiName}":{"parameters":[{"name":"apiName","in":"path","description":"Payment gateway metadata API name.","required":true,"schema":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"}}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment gateway metadata","operationId":"GetPaymentGatewayMetadata","x-sdk-operation-name":"get","x-sdk-skip":true,"description":"Retrieves metadata for a gateway with a specified ID.","security":[],"responses":{"200":{"description":"Payment gateway metadata received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentGatewayMetadata"}}}}}}},"/payout-requests":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout requests","operationId":"GetPayoutRequestCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout requests.\n\nFilter by: `id`, `customerId`, `websiteId`, `batchId`, `status`, `blocked`, `blockReason`, `splitReason`, `createdTime`, `updatedTime`, `currency`, `amount`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout requests retrieved.","headers":{"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/PayoutRequest"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create a payout request","operationId":"PostPayoutRequest","x-sdk-operation-name":"create","description":"Creates a payout request.\nIn the response, the `selectPaymentInstrumentUrl` field is used to redirect the customer to select a preferred payment instrument.\nAfter a payment instrument is selected, the customer is redirected to the `selectedPaymentInstrumentRedirectUrl` value.\n\n> **Important:** The selected payment gateway must be configured to support payout requests.\n> For more information, see the [readyToPayoutInstruction](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountcollection#gateway-accounts/getgatewayaccountcollection/t=response&c=200&path=&d=0/readytopayoutinstruction) field.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}},"description":"Payout request resource.","required":true},"responses":{"201":{"description":"Payout request created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve a payout request","operationId":"GetPayoutRequest","x-sdk-operation-name":"get","description":"Retrieves a payout request with a specified ID.","responses":{"200":{"description":"Payout request retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Update a payout request","operationId":"PatchPayoutRequest","x-sdk-operation-name":"patch","description":"Updates a payout request with a specified ID. \nUse this operation to update the status, description, and blocked state.","requestBody":{"$ref":"#/components/requestBodies/PatchPayoutRequest"},"responses":{"200":{"description":"Payout request updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}/payment-instruments":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve associated payment instruments","operationId":"GetPayoutRequestPaymentInstruments","x-sdk-operation-name":"getPaymentInstruments","description":"Retrieves the payment gateway and a list of payment instruments that are associated with a payout request with a specified ID.","responses":{"200":{"description":"Payout request associated payment instruments retrieved.","content":{"application/json":{"schema":{"type":"array","description":"List of available payment instruments per an associated gateway to offer for the payout.","items":{"type":"object","properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"description":"Name of the payment gateway and payment instrument to use for the payout.\nThis field is empty if the requested payment instrument has not been used yet.","x-label":"Gateway account","x-basic":true,"type":["string","null"],"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"gatewayAccountId":{"description":"ID of the gateway account to use for processing this allocation.","type":"string","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayPayoutInstruction":{"description":"Payout configuration for the gateway account.","type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"example":"covered-payout"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts, for the specified gateway account and payment instrument in the last 180 days.\nAllocations on the same gateway account and payment instrument that are pending, queued, processing, or waiting-completion are also subtracted.\nThe resulting amount is the usable exposure for ranking during auto-allocation.","type":"number","format":"double"},"previousAllocatedAmount":{"description":"Total amount of allocated credit for the payout request for the specified gateway and instrument.","type":"number","format":"double"},"lastPaymentTime":{"description":"Date and time when the last payment is created for the gateway and the payment instrument.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time"},"lastPayoutTime":{"description":"Date and time when the last payout is created for the gateway and the payment instrument.","type":["string","null"],"format":"date-time"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/payout-requests/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve payout request timeline messages","operationId":"GetPayoutRequestTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of payout request timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of payout request timeline messages retrieved.","headers":{"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/PayoutRequestTimelineMessage"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"},"description":"ID of the timeline message."}]},"/payout-request-auto-allocations":{"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create automatic payout request allocations","operationId":"PostPayoutRequestAutoAllocations","x-sdk-operation-name":"create","description":"Creates allocations for a payout request using automatically selected payment instruments and gateway accounts.\nOnly the payout request ID is required.\n\nWhen an allocation is created, the payout request transitions to the `in-progress` status,\nand the allocation starts in the `pending` status.\nThe allocation transitions to the `processing` status when payment processing begins.\nThis operation returns the created allocations.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"payoutRequestId":{"type":"string","description":"ID of the payout request to allocate automatically.\nA payout request is a customer request to withdraw funds.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"}},"required":["payoutRequestId"]}}},"description":"Payout request auto-allocation resource.","required":true},"responses":{"201":{"description":"Allocations created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-allocations":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout request allocations","operationId":"GetPayoutRequestAllocationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout request allocations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout request allocations retrieved.","headers":{"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/PayoutRequestAllocation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create a payout request allocation","operationId":"PostPayoutRequestAllocation","x-sdk-operation-name":"create","description":"Creates an allocation for a payout request.\n\nWhen an allocation is created, the payout request transitions to the `in-progress` status,\nand the allocation starts in the `pending` status.\n\nThe allocation transitions to the `processing` status when payment processing begins.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"payoutRequestId":{"type":"string","description":"ID of the payout request to allocate.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument to allocate.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"amount":{"type":"number","format":"double","description":"Amount to allocate to this payment instrument.","x-type":"Money"}},"required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount"]}}},"description":"Payout request allocation resource.","required":true},"responses":{"201":{"description":"Payout request allocation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-allocations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"patch":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Update allocation status","operationId":"PatchPayoutRequestAllocation","x-sdk-operation-name":"update","description":"Updates the status of a payout request allocation with a specified ID.\n\nOnly the `processing` and `canceled` statuses can be set with this operation.\nThe `processing` status transitions an allocation from `pending` when payment processing begins.\nThe `canceled` status stops the allocation before it is processed.\n\nThe `completed`, `waiting-completion` and `failed` statuses are set automatically during transaction processing.\nAllocations are always created in the `pending` status.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"New status for the allocation.\nUse `processing` to move an allocation from `pending` to `processing`,\nwhich begins payment processing.\nUse `canceled` to stop the allocation before it is processed.","enum":["processing","canceled"],"example":"processing"}},"required":["status"]}}}},"responses":{"200":{"description":"Payout request allocation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-batches":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout request batches","operationId":"GetPayoutRequestBatchCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout request batches.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout request batches retrieved.","headers":{"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/PayoutRequestBatch"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-batches/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/previews/orders":{"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Preview an order","operationId":"PostPreviewOrder","x-sdk-operation-name":"order","description":"Previews an order.\nUse this operation to preview a draft order before making an order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPreview"}}}},"responses":{"200":{"description":"Order preview retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPreview"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/previews/rule-actions/send-email":{"post":{"x-products":["Users"],"tags":["Rules"],"summary":"Send a test email","operationId":"PostPreviewRuleActionEmailSending","x-sdk-operation-name":"sendEmailRuleAction","description":"Sends a test email.","requestBody":{"content":{"application/json":{"schema":{"description":"Send a test email.","$ref":"#/components/schemas/RulesEmailNotification"}}},"description":"Test email resource.","required":true},"responses":{"200":{"description":"Test email sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"description":"Send a test email.","$ref":"#/components/schemas/RulesEmailNotification"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first build the email data including\n// the credential hash\nconst data = {\n    bodyText: 'hello world',\n    bodyHTML: `<strong>hello world</strong>`,\n    sender: 'john.doe+test@grr.la',\n    recipients: ['john.doe+test@grr.la'],\n    subject: 'testing email preview',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\nconst email = await api.previews.sendEmailRuleAction({data});"}]}},"/previews/webhooks":{"post":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Send a test webhook","operationId":"PostPreviewWebhook","x-sdk-operation-name":"webhook","description":"Sends a test webhook.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"204":{"description":"Test webhook sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first build the webhook data including\n// the credential hash\nconst data = {\n    eventsFilter: [],\n    status: 'active',\n    method: 'POST',\n    headers: {},\n    // hookb.in is a great tool for\n    // previewing webhooks\n    url: 'https://hookb.in/Oe90ZRmdeWUGWg1MGKQV',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\nconst request = await api.previews.webhooks({data});\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/profile":{"get":{"x-products":["Users"],"tags":["Profile"],"summary":"Retrieve user's own profile","operationId":"GetProfile","x-sdk-operation-name":"get","description":"Retrieves the user's own profile as requested by the user.","responses":{"200":{"description":"Profile retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const profile = await api.profile.get();\nconsole.log(profile.fields.email);"}]},"put":{"x-products":["Users"],"tags":["Profile"],"summary":"Update a user profile","operationId":"PutProfile","x-sdk-operation-name":"update","description":"Updates user profile.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"}}},"description":"Profile resource.","required":true},"responses":{"200":{"description":"Profile updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// define values to update\nconst data = {\n    preferences: [],\n};\n\nconst profile = await api.profile.update({data});\n"}]}},"/roles":{"get":{"x-products":["Users"],"tags":["Roles"],"summary":"Retrieve roles","operationId":"GetRoleCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of user roles.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of roles retrieved.","headers":{"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/Role"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Roles"],"summary":"Create a role","operationId":"PostRole","x-sdk-operation-name":"create","description":"Creates a role that is used to assign permissions to users.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"Role resource.","required":true},"responses":{"201":{"description":"Role created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/roles/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Roles"],"summary":"Retrieve a role","operationId":"GetRole","x-sdk-operation-name":"get","description":"Retrieves a user role with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Role retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Roles"],"summary":"Create a role with ID","operationId":"PutRole","x-sdk-operation-name":"update","description":"Creates a user role with a specified ID.","responses":{"200":{"description":"Role updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"201":{"description":"Role created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"Role resource.","required":true}}},"/security-settings":{"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve security settings","operationId":"GetSecuritySettings","x-sdk-operation-name":"get","x-sdk-resource":"SecuritySettings","description":"Retrieves the sign-in security settings of the organization,\nand the number of users who have multi-factor authentication (MFA) set up.\nSettings apply to the current environment only: live and sandbox are configured separately.","responses":{"200":{"description":"Security settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Organizations"],"summary":"Update security settings","operationId":"PutSecuritySettings","x-sdk-operation-name":"update","x-sdk-resource":"SecuritySettings","security":[{"JWT":[]}],"description":"Updates the sign-in security settings of the organization.\nIf `requireMfa` is `true`, every user who signs in to the Rebilly UI must pass multi-factor authentication (MFA).\nIf the session of a user has not passed MFA, other operations respond with `403` and `error` is `mfa_required`.\nOnly owners and administrators who are signed in to the Rebilly UI can change this setting.\nThis setting does not apply to API keys, and a request that uses an API key cannot change this setting.\nTo turn on `requireMfa`, the session must have passed MFA.\nIf the session has not passed MFA, the response is `403` and `error` is `mfa_required_for_caller`.\nIf the number of users who have MFA set up is temporarily unavailable, `requireMfa` cannot be turned on and the response is `503`.\nSettings apply to the current environment only: live and sandbox are configured separately.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"responses":{"200":{"description":"Security settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"},"503":{"description":"MFA adoption unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/send-through-attribution/{eventType}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Email notifications"],"summary":"Retrieve email notification attributions","operationId":"GetSendThroughAttributionCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of email notifications, that have been sent through attribution, for a specified event type.","responses":{"200":{"description":"List of email notifications retrieved.","headers":{"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"}}}},"/status":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"get":{"x-products":["Users"],"tags":["Status"],"summary":"Retrieve API current status","operationId":"GetStatus","x-sdk-operation-name":"get","description":"Retrieve API current status.","security":[],"responses":{"200":{"description":"Status received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}},"x-codeSamples":[{"lang":"JavaScript","source":"const status = await api.status.get({id: 'foobar-001'});\nconsole.log(status.fields.status);"}]}},"/tracking/api":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve API tracking logs","operationId":"GetTrackingApiCollection","x-sdk-operation-name":"getAllApiLogs","description":"Retrieves API tracking log records.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Tracking API logs retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiTrackingLog = $client->apiTracking()->search([\n    'filter' => 'status:200',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAll(params);\n\n// access the collection items, each item is a ApiTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.customerId));\n\n\n\n// alternatively, download as a CSV file\n\n// all parameters are optional\nconst firstFile = await api.tracking.downloadApiLogsCSV();\n\n// alternatively you can specify one or more of them\nconst sortedParams = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondFile = await api.tracking.downloadApiLogsCSV(sortedParams);\n\n// access the file data to view the CSV content\nconsole.log(secondFile.data);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiTrackingLogsPaginator = $service->tracking()->getAllApiLogsPaginator(limit: 5, filter: 'status:200');\nforeach ($apiTrackingLogsPaginator as $apiTrackingLogsPage) {\n    printf(\"API tracking logs page %d/%d\\n\", $apiTrackingLogsPaginator->key() + 1, $apiTrackingLogsPaginator->count());\n    foreach ($apiTrackingLogsPage as $apiTrackingLog) {\n        printf(\"API tracking log #%s: %s\\n\", $apiTrackingLog->getId(), $apiTrackingLog->getRequest());\n    }\n}\n\n// OR\n\n$apiTrackingLogs = $service->tracking()->getAllApiLogs(filter: 'status:200');\nforeach ($apiTrackingLogs as $apiTrackingLog) {\n    printf(\"API tracking log #%s: %s\\n\", $apiTrackingLog->getId(), $apiTrackingLog->getRequest());\n}"}]}},"/tracking/api/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve an API tracking log","operationId":"GetTrackingApi","x-sdk-operation-name":"getApiLog","description":"Retrieves an API tracking log record with a specified ID.","responses":{"200":{"description":"Tracking API log retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTracking"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiTrackingLog = $client->apiTracking()->load('apiLogId');\n"},{"lang":"JavaScript","source":"const entry = await api.tracking.getApiLog({id: 'foobar-001'});\nconsole.log(entry.fields.request);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$apiTrackingLog = $service->tracking()->getApiLog('apiLogId');"}]}},"/tracking/taxes":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve tax service tracking logs","operationId":"GetTrackingTaxCollection","x-sdk-operation-name":"getAllTaxTrackingLogs","description":"Retrieves a collection of tax service tracking logs.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Tax logs retrieved.","headers":{"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/TaxTracking"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllTaxTrackingLogs();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllTaxTrackingLogs(params);\n\n// access the collection items, each item is a TaxTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.eventType));\n"}]}},"/tracking/taxes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/tracking/lists":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve value list changes","operationId":"GetTrackingListCollection","x-sdk-operation-name":"getAllListsChangesHistory","description":"Retrieves the change history of value lists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Change history of a value list retrieved.","headers":{"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/ValueList"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllListsChangesHistory();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllListsChangesHistory(params);\n\n// access the collection items, each item is a ValueList\nsecondCollection.items.forEach(entry => console.log(entry.fields.name));\n"}]}},"/tracking/webhooks":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve webhook tracking logs","operationId":"GetTrackingWebhookCollection","x-sdk-operation-name":"getAllWebhookTrackingLogs","description":"Retrieves webhook tracking logs.\nLogs are sorted by creation time in descending order.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Webhook tracking logs retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllWebhookTrackingLogs();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllWebhookTrackingLogs(params);\n\n// access the collection items, each item is a WebhookTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.eventType));\n"}]}},"/tracking/webhooks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve a webhook tracking log","operationId":"GetTrackingWebhook","x-sdk-operation-name":"getWebhookTrackingLog","description":"Retrieves a webhook tracking log record with a specified ID.","responses":{"200":{"description":"Webhook tracking log record retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookTracking"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const entry = await api.tracking.getWebhookTrackingLog({id: 'foobar-001'});\nconsole.log(entry.fields.eventType);"}]}},"/tracking/webhooks/{id}/resend":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/users":{"get":{"x-products":["Users"],"tags":["Users"],"summary":"Retrieve a list of users","operationId":"GetUserCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of users.\nTo retrieve the users of the organization who have multi-factor authentication (MFA) set up,\nuse `filter=mfaEnabled:true`.\nTo retrieve the users who do not have MFA set up, including users who have not accepted their invitation,\nuse `filter=mfaEnabled:false`.\nThe `mfaEnabled` filter applies only to the list of users of an organization\nthat has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings).\nInactive users and Rebilly staff are not part of the `mfaEnabled` filter.\nUser objects of Rebilly staff do not include `mfaEnabled`.\nThe totals are the same as those returned by the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.\nIf the MFA status is temporarily unavailable, the response is `503` and `error` is `mfa_status_unavailable`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of users retrieved.","headers":{"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"},"503":{"description":"MFA status unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$users = $client->users()->search([\n    'filter' => 'firstName:John',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.users.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.users.getAll(params);\n\n// access the collection items, each item is a User\nsecondCollection.items.forEach(user => console.log(user.fields.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$usersPaginator = $service->users()->getAllPaginator(limit: 5, filter: 'firstName:John');\nforeach ($usersPaginator as $usersPage) {\n    printf(\"Users page %d/%d\\n\", $usersPaginator->key() + 1, $usersPaginator->count());\n    foreach ($usersPage as $user) {\n        printf(\"User #%s: %s %s | %s\\n\", $user->getId(), $user->getFirstName(), $user->getLastName(), $user->getEmail());\n    }\n}\n\n// OR\n\n$users = $service->users()->getAll(filter: 'firstName:John');\nforeach ($users as $user) {\n    printf(\"User #%s: %s %s | %s\\n\", $user->getId(), $user->getFirstName(), $user->getLastName(), $user->getEmail());\n}"}]},"post":{"x-products":["Users"],"tags":["Users"],"summary":"Create a user","operationId":"PostUser","x-sdk-operation-name":"create","description":"Creates a user.","requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"201":{"description":"User created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$userForm = new Rebilly\\Entities\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $client->users()->create($userForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    businessPhone: '151412345676',\n    mobilePhone: '151412345676',\n    permissions: [],\n    country: 'US',\n    preferences: {}\n};\n\n// the ID is optional\nconst firstProduct = await api.users.create({data});\n\n// or you can provide one\nconst secondProduct = await api.users.create({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$userForm = new \\Rebilly\\Sdk\\Model\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $service->users()->create($userForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/users/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Users"],"summary":"Retrieve a user","operationId":"GetUser","x-sdk-operation-name":"get","description":"Retrieves a user with a specified ID.","responses":{"200":{"description":"User retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$user = $client->users()->load('userId');\n"},{"lang":"JavaScript","source":"const user = await api.users.get({id: 'foobar-001'});\nconsole.log(user.fields.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$user = $service->users()->get('userId');"}]},"put":{"x-products":["Users"],"tags":["Users"],"summary":"Upsert a user","operationId":"PutUser","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a user with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"200":{"description":"User updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"201":{"description":"User created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$userForm = new Rebilly\\Entities\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $client->users()->update('userId', $userForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    businessPhone: '151412345676',\n    mobilePhone: '151412345676',\n    permissions: [],\n    country: 'US',\n    preferences: {}\n};\n\n// the ID is optional\nconst firstProduct = await api.users.create({data});\n\n// or you can provide one\nconst secondProduct = await api.users.create({id: 'my-second-key', data});\n\n\n\n// updating a user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    country: 'CA',\n};\n\nconst user = await api.users.update({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$userForm = new \\Rebilly\\Sdk\\Model\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $service->users()->update('userId', $userForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/webhooks":{"get":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Retrieve webhooks","operationId":"GetWebhookCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of webhooks.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of webhooks retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.webhooks.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.webhooks.getAll(params);\n\n// access the collection items, each item is a GlobalWebhook\nsecondCollection.items.forEach(webhook => console.log(webhook.fields.name));\n"}]},"post":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Create a webhook","operationId":"PostWebhook","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a webhook.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"201":{"description":"Webhook created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the properties for the new webhook\nconst data = {\n    // leave filter empty to enable \n    // the webhook for all events\n    eventsFilter: [],\n    status: 'active',\n    method: 'POST',\n    headers: {},\n    url: 'https://hookb.in/Oe90ZRmdeWUGWg1MGKQV',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\n// the ID is optional\nconst firstWebhook = await api.webhooks.create({data});\n\n// or you can provide one\nconst secondWebhook = await api.webhooks.create({id: 'my-second-key', data});"}]}},"/webhooks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Retrieve a webhook","operationId":"GetWebhook","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a webhook with a specified ID.","responses":{"200":{"description":"Webhook retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const webhook = await api.webhooks.get({id: 'foobar-001'});\nconsole.log(webhook.fields.id);"}]},"put":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Upsert a webhook","operationId":"PutWebhook","x-sdk-operation-name":"update","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates or updates (upserts) a webhook with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"200":{"description":"Webhook updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"201":{"description":"Webhook created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Users"],"summary":"Delete a webhook","operationId":"DeleteWebhook","x-sdk-operation-name":"delete","description":"Deletes a webhook with a specified ID.","tags":["Webhooks"],"responses":{"204":{"description":"Webhook deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/websites":{"get":{"x-products":["Users"],"tags":["Websites"],"summary":"Retrieve websites","operationId":"GetWebsiteCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of websites.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of websites retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websites = $client->websites()->search([\n    'filter' => 'name:TestWebsite',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.websites.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.websites.getAll(params);\n\n// access the collection items, each item is a Website\nsecondCollection.items.forEach(website => console.log(website.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websitesPaginator = $service->websites()->getAllPaginator(limit: 5, filter: 'name:TestWebsite');\nforeach ($websitesPaginator as $websitesPage) {\n    printf(\"Websites page %d/%d\\n\", $websitesPaginator->key() + 1, $websitesPaginator->count());\n    foreach ($websitesPage as $website) {\n        printf(\"Website #%s: %s\\n\", $website->getId(), $website->getName());\n    }\n}\n\n// OR\n\n$websites = $service->websites()->getAll(filter: 'name:TestWebsite');\nforeach ($websites as $website) {\n    printf(\"Website #%s: %s\\n\", $website->getId(), $website->getName());\n}"}]},"post":{"x-products":["Users"],"tags":["Websites"],"summary":"Create a website","operationId":"PostWebsite","x-sdk-operation-name":"create","description":"Creates a website.","requestBody":{"$ref":"#/components/requestBodies/Website"},"responses":{"201":{"description":"Website created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websiteForm = new Rebilly\\Entities\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $client->websites()->create($websiteForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\n// the ID is optional\nconst firstWebsite = await api.websites.create({data});\n\n// or you can provide one\nconst secondWebsite = await api.websites.create({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websiteForm = new \\Rebilly\\Sdk\\Model\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $service->websites()->create($websiteForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/websites/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Websites"],"summary":"Retrieve a website","operationId":"GetWebsite","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a website with a specified ID.","responses":{"200":{"description":"Website retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$website = $client->websites()->load('websiteId');\n"},{"lang":"JavaScript","source":"const website = await api.websites.get({id: 'foobar-001'});\nconsole.log(website.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$website = $service->websites()->get('websiteId');"}]},"put":{"x-products":["Users"],"tags":["Websites"],"summary":"Upsert a website","operationId":"PutWebsite","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a website with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Website"},"responses":{"200":{"description":"Website updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"201":{"description":"Website created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websiteForm = new Rebilly\\Entities\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $client->websites()->update('websiteId', $websiteForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\n// the ID is optional\nconst firstWebsite = await api.websites.create({data});\n\n// or you can provide one\nconst secondWebsite = await api.websites.create({id: 'my-second-key', data});\n\n\n\n// updating a website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\nconst website = await api.websites.update({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websiteForm = new \\Rebilly\\Sdk\\Model\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $service->websites()->update('websiteId', $websiteForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/experimental/customers/{customerId}/summary-metrics":{"parameters":[{"name":"customerId","in":"path","required":true,"description":"ID of the customer.","schema":{"type":"string"}}]},"/profile/dashboard":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Dashboards"],"summary":"Retrieve profile dashboard","operationId":"GetProfileDashboard","x-sdk-operation-name":"getDashboard","description":"Retrieves the profile dashboard configuration.","responses":{"200":{"description":"Profile dashboard retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileDashboard"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/profile/dashboard/metrics/{metric}":{"parameters":[{"name":"metric","in":"path","required":true,"description":"Name of the dashboard metric.","schema":{"$ref":"#/components/schemas/DashboardMetric"}}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Dashboards"],"summary":"Retrieve dashboard metric data","operationId":"GetProfileDashboardMetricReport","x-sdk-operation-name":"getDashboardMetricReport","description":"Retrieves the report data for a single dashboard metric.","parameters":[{"name":"periodStart","in":"query","required":true,"description":"Start date and time of the metric range.\nThe interval between `periodStart` and `periodEnd` must not exceed 100 days.","schema":{"type":"string","format":"date-time"},"example":"2024-01-01T00:00:00Z"},{"name":"periodEnd","in":"query","required":true,"description":"End date and time of the metric range.\nThe interval between `periodStart` and `periodEnd` must not exceed 100 days.","schema":{"type":"string","format":"date-time"},"example":"2024-01-31T23:59:59Z"}],"responses":{"200":{"description":"Metric report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardTileReport"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/experimental/data-exports":{"post":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Request the data export of a resource","operationId":"PostDataExport","x-sdk-operation-name":"queue","description":"Requests the export of a specific data resource.\nRequires permission to retrieve the collection of the exported resource, such as `GetTransactionCollection` for transactions.\nInvoice items require `GetInvoiceCollection`.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/DataExport"},"responses":{"201":{"description":"Data export request received.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/DataExportValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first prepare the details of the export\nconst data = {\n    name: 'my-first-export',\n    // only CSV is currently supported\n    format: 'csv',\n    // define filters, criteria, etc. \n    // to reduce the amount of values exported\n    arguments: {},\n    dateRange: {\n        range: 'all'\n    },\n    // list email addresses that will receive\n    //  a notification once the download is ready\n    emailNotification: ['']\n};\n\nconst queuedExport = await api.exports.queue({resource: 'transaction', data});\nconsole.log(queuedExport.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExport = new \\Rebilly\\Sdk\\Model\\CustomersDataExport([\n    'name' => 'Daily customer export',\n    'format' => 'csv',\n    'fields' => [\n        'firstName',\n        'lastName',\n        'email',\n        'lifetimeRevenue/amount',\n        'lastPaymentTime',\n        'createdTime',\n    ],\n    'recurring' => [\n        'instruction' => 'RRULE:FREQ=DAILY',\n    ],\n    'dateRange' => [\n        'start' => 'yesterday',\n        'end' => 'today',\n    ],\n    'emailNotification' => [\n        'user@example.com',\n    ],\n]);\n\n$service->dataExports()->queue($dataExport);"}]},"get":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Retrieve data export requests","operationId":"GetDataExportCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of data export requests.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"List of data export requests retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.exports.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.exports.getAll(params);\n\n// access the collection items, each item is a DataExport\nsecondCollection.items.forEach(export => console.log(export.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExportsPaginator = $service->dataExports()->getAllPaginator(limit: 5);\nforeach ($dataExportsPaginator as $dataExportPage) {\n    printf(\"dataExports page %d/%d\\n\", $dataExportsPaginator->key() + 1, $dataExportsPaginator->count());\n    foreach ($dataExportPage as $dataExport) {\n        printf(\"DataExport #%s: %s\\n\", $dataExport->getId(), $dataExport->getName());\n    }\n}\n\n// OR\n\n$dataExports = $service->dataExports()->getAll(limit: 100);\nforeach ($dataExports as $dataExport) {\n    printf(\"DataExport #%s: %s\\n\", $dataExport->getId(), $dataExport->getName());\n}"}]}},"/experimental/data-exports/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Retrieve a data export request","operationId":"GetDataExport","x-sdk-operation-name":"get","description":"Retrieves a data export request.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Data export request.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"const queuedExport = await api.exports.get({resource: 'transaction', id: 'foobar-001'});\nconsole.log(queuedExport.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExport = $service->dataExports()->get('dataExportId');"}]},"delete":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Delete a data export","operationId":"DeleteDataExport","x-sdk-operation-name":"delete","description":"Deletes a data export.\nRequires permission to retrieve the collection of the exported resource, such as `GetTransactionCollection` for transactions.\nInvoice items require `GetInvoiceCollection`.","responses":{"204":{"$ref":"#/components/responses/NoContent"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$service->dataExports()->delete('dataExportId');"}]}},"/organization-exports":{"get":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Retrieve organization data exports","operationId":"GetOrganizationExportCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of organization data exports.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of organization data exports retrieved.","headers":{"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/OrganizationExport"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Request an organization data export","operationId":"PostOrganizationExport","x-sdk-operation-name":"create","description":"Request an organization data export.\nThe data export is asynchronously processed.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"includeFiles":{"description":"Sets the export to include organization files.","type":"boolean","default":false,"example":true}}}}}},"responses":{"201":{"description":"Organization data export request received.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/organization-exports/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Retrieve an organization data export request","operationId":"GetOrganizationExport","x-sdk-operation-name":"get","description":"Retrieve an organization data export request with a specified organization ID.","responses":{"200":{"description":"Organization data export request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/experimental/histograms/transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Histograms"],"summary":"Retrieve transaction histogram report data","operationId":"GetHistogramTransactionReport","x-sdk-operation-name":"getTransactionHistogramReport","description":"Retrieves transaction histogram report data.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nThe default value depends on the aggregation period:\n- 24 hours ago for `minute` aggregation.\n- First day of the current month for other aggregation periods.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nThe default value depends on the aggregation period:\n- Current time for `minute` aggregation.\n- Last day of the current month for other aggregation periods.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationPeriod","in":"query","description":"Aggregation period of the report.","schema":{"default":"day","type":"string","enum":["minute","hour","day","month"]}},{"name":"metric","in":"query","description":"Metric on which the report is based.","schema":{"default":"sales_count","type":"string","enum":["approval","auth_approval","avg_sales","refunds","refunds_count","sales","sales_count","all_sales_count","auth_approval_count","disputes_count","disputes_rate","credits","credits_count","unapproved_count"]}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Transaction report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistogramData"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    // seven day period\n    periodEnd: '2017-09-28T23:59:59Z',\n    aggregationField: 'website',\n    aggregationPeriod: 'day',\n    metric: 'approval'\n};\nconst report = await api.histograms.getTransactionHistogramReport(params);\nconsole.log(report.fields.data);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$histogram = $service->histograms()->getTransactionHistogramReport(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'website',\n    'day',\n    'sales',\n);"}]}},"/experimental/reports/api-log-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an API log summary report","operationId":"GetApiLogSummaryReport","x-sdk-operation-name":"getApiLogSummary","description":"Retrieves an API log summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiLogSummary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getApiLogSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getApiLogSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/aml-checks":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an AML checks report","operationId":"GetAmlCheckReport","x-sdk-operation-name":"getAmlChecks","description":"Retrieves an AML checks report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided or null, the report starts from the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided or null, the report ends at the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"metric","in":"query","description":"Metric on which the report is based.","schema":{"default":"aml_checks","type":"string","enum":["aml_checks","aml_check_hits"]}},{"name":"includePropagatedResults","in":"query","description":"Specifies if propagated AML checks are included.","schema":{"type":"boolean"}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlChecks"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/aml-checks-inherited-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve AML inherited-match report","operationId":"GetAmlInheritedMatchSummaryReport","x-sdk-operation-name":"getAmlChecksInheritedSummary","description":"Retrieves a summary of AML checks that inherit status from another check,\ngrouped by provenance reason, for the selected period.\n\nEach category row contains the number of checks. This value is used to calculate the percentage of all inherited checks in the period.\nPropagated checks, which are reviewed without a human reviewer, are included in the total.\n\nUse the collection filter to filter results by AML check fields from the AML checks report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf this value is not provided or is `null`, the report starts on the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf this value is not provided or is `null`, the report ends on the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlChecksInheritedSummary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/aml-audit-reports":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an AML audit report","operationId":"GetAmlAuditReport","x-sdk-operation-name":"getAmlAuditReport","description":"Retrieves an Anti-Money Laundering (AML) audit report for a person with a specified ID.\nThe maximum reporting period is 180 days.\n\nThe report includes linked customers, screening summary metrics, screening history, and related transactions for the selected period.\n\nUse the `Accept` header to select the response format: `application/json` (default), `application/pdf`, or `text/csv`.\n\nEach section of the report includes at most 10,000 records, and the `truncated` property is `true` when a section reaches that limit.","parameters":[{"name":"personId","in":"query","required":true,"description":"ID of the person for the report.","schema":{"type":"string","maxLength":50}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf this value is not provided or is `null`, the report starts 90 days before the current date and time at midnight utc.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf this value is not provided or is `null`, the report ends at the current date and time.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/mediaTypeJsonPdfCsv"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlAuditReport"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"text/csv":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/experimental/reports/cumulative-subscriptions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a cumulative subscriptions report","operationId":"GetCumulativeSubscriptionReport","x-sdk-operation-name":"getCumulativeSubscriptions","description":"Retrieves a cumulative subscriptions report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"day","enum":["day","month","affiliate_month"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CumulativeSubscriptions"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getCumulativeSubscriptions(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getCumulativeSubscriptions(\n    'day',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/dashboard":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve dashboard data","operationId":"GetDashboardReport","x-sdk-operation-name":"getDashboardMetrics","description":"Retrieves dashboard data.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"metrics","in":"query","description":"Comma-separated list of metrics.","schema":{"type":"string"}},{"name":"segments","in":"query","description":"Dashboard report segments as a JSON array.","schema":{"type":"string"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dashboard = $service->reports()->getDashboardMetrics(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    metrics: 'approvalRate,salesCount,salesValue,refundsValue',\n);"}]}},"/experimental/reports/dcc-markup":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a DCC markup report","operationId":"GetDccMarkupReport","x-sdk-operation-name":"getDccMarkup","description":"Retrieves a Dynamic Currency Conversion (DCC) markup report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","bin","country","baseCurrency","quoteCurrency"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    filter: `gatewayAccounts:f9b4fa10-df1d-48a3-85b3-ff6bd7ce0ed2; \\\n            transactionResult:approved,canceled,declined,unknown`,\n    tz: 0\n};\nconst report = await api.reports.getDccMarkup(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getDccMarkup(\n    'day',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/declined-transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a declined transactions report","operationId":"GetDeclinedTransactionReport","x-sdk-operation-name":"getDeclinedTransactions","description":"Retrieves a report on declined transactions.","parameters":[{"name":"aggregationField","in":"query","description":"Aggregation field of the report.\nIf a value is not provided, `gatewayResponseMessage` is used.","schema":{"type":"string","enum":["gatewayResponseMessage","gatewayResponseOriginalMessage"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided, the start date of the previous month is used.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided, the end date of current month is used.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportDeclinedTransactions"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/deferred-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a deferred revenue report","operationId":"GetDeferredRevenueReport","x-sdk-operation-name":"getDeferredRevenue","description":"Retrieves a deferred revenue report which displays monthly total liability and liability changes over months.\n\nThis deferred revenue report provides a month-by-month overview of deferred revenue recognized revenue and liabilities as of a given report date.\nIt presents the total deferred revenue for each month,\nthe amount recognized as revenue both cumulatively and within the specific month,\nas well as the remaining deferred revenue liability up to that month.","parameters":[{"name":"currency","in":"query","description":"Currency of the revenue.\nIf no value is provided, the reporting currency of the organization is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"asOfDate","in":"query","description":"Date and time up to which revenue is recognized for the report.\nIf no value is provided, the end of the current month is used.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportDeferredRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getDeferredRevenue({\n    currency: 'USD',\n    asOfDate: '2025-10-31T00:00:00Z',\n});\n"}]}},"/experimental/reports/disputes":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a disputes report","operationId":"GetDisputeReport","x-sdk-operation-name":"getDisputes","description":"Retrieves a disputes report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"website","enum":["website","gatewayAcquirer","currency","bin","country","rebillNumber","retryNumber","gatewayAccount"]}},{"name":"periodMonth","in":"query","description":"Report month in `YYYY-MM` format.\nIf no value is provided, current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodMonth: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getDisputes(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getDisputes(\n    'website',\n    '2022-01',\n    limit: 5,\n);"}]}},"/experimental/reports/events-triggered":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve events triggered summary report","operationId":"GetTriggeredEventReport","x-sdk-operation-name":"getEventsTriggeredSummary","description":"Retrieves an events triggered summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getEventsTriggeredSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getEventsTriggeredSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/events-triggered/{eventType}/rules":{"parameters":[{"name":"eventType","in":"path","required":true,"description":"Type of system event.","schema":{"$ref":"#/components/schemas/EventType"}}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a rules matched summary report","operationId":"GetTriggeredEventRuleReport","x-sdk-operation-name":"getTriggeredEventRuleReport","description":"Retrieves a rules matched summary report that is based on triggered events.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRulesMatchedSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTriggeredEventRuleReport(\n    'account-password-reset-requested',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/future-renewals":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a future renewals report","operationId":"GetFutureRenewalReport","x-sdk-operation-name":"getFutureRenewals","description":"Retrieves a future renewals report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nThis date must be in the future.\nIf no value is provided, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2032-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nThis date must be in the future.\nIf no value is provided, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2032-02"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getFutureRenewals(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getFutureRenewals(\n    '2022-10',\n    '2022-11',\n    limit: 5,\n);"}]}},"/experimental/reports/journal":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a journal report","operationId":"GetJournalReport","x-sdk-operation-name":"getJournal","description":"Retrieves a journal report which displays revenue for each account.\n\nA revenue journal is a detailed revenue waterfall report that describes revenue recognized in a specific month,\naggregated by product ID, product accounting code, or plan ID.\nIt contains information on booked revenue,\nrecognized revenue for each aggregation field in the booked period,\nand the remaining revenue up to the selected month.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"bookedFrom","in":"query","description":"Year and month from which revenue is booked.\nIf this value is omitted, booked revenue is recorded from the first booked amount.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"bookedTo","in":"query","description":"Year and month in which revenue is booked until.\nIf this value is omitted, booked revenue is recorded until the most recently booked amount.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"recognizedAt","in":"query","description":"Year and month when revenue is recognized.\nIf this value is omitted, current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.\nIf no value is provided, the report aggregates by `product.id`.","schema":{"type":"string","enum":["product.accountingCode","product.id","plan.id"]}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportJournal"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    currency: 'USD',\n    bookedFrom: '2022-01',\n    bookedTo: '2022-06',\n    recognizedAt: '2022-06',\n    aggregationField: 'product.accountingCode',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getJournal(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getJournal(\n    'USD',\n    '2022-04',\n    'product.id',\n    limit: 5,\n);"}]}},"/experimental/reports/journal-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a journal summary report","operationId":"GetJournalSummaryReport","x-sdk-operation-name":"getJournalSummary","description":"Retrieves a journal summary report which displays recognized revenue by journal account name for each calendar month.\nIt includes both monthly and annual journal entries, and sums the revenue per account for each month.\n\n- Rows: Represent individual journal account names, corresponding to product or revenue categories.\n- Columns: Represent monthly periods, showing the total recognized revenue in each journal account for that month.","parameters":[{"name":"periodStart","in":"query","description":"Year and month from which the report is generated.\nIf no value is provided or is `null`,\nthe report starts from one year ago.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2025-06"}},{"name":"periodEnd","in":"query","description":"Year and month up to which the report is generated.\nIf no value is provided or is `null`,\nthe report ends at the current month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2025-09"}},{"name":"currency","in":"query","description":"Currency for the journal entries in the report.\nIf no value is provided, the organization reporting currency is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.\nIf no value is provided,\nthe report aggregates by `journalRecord.creditAccountId`.","schema":{"type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]}},{"name":"amountField","in":"query","description":"Report amount field.\nIf no value is provided, the report uses `journalRecord.recognizedAmount`.","schema":{"type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]}},{"name":"journalAccountIds","in":"query","description":"Comma-separated list of journal account IDs to filter the report.\nIf no value is provided, all journal accounts are included.","schema":{"type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/JournalSummaryReport"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/kyc-acceptance-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC acceptance summary report","operationId":"GetKycAcceptanceSummaryReport","x-sdk-operation-name":"getKycAcceptanceSummary","description":"Retrieves a Know Your Customer (KYC) acceptance summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"type":"object","title":"GetKycAcceptanceSummaryResponse","properties":{"data":{"description":"KYC acceptance data.","type":"array","items":{"type":"object","description":"Amount of accepted KYC documents.","readOnly":true,"properties":{"documentType":{"allOf":[{"description":"Type of KYC document.","example":"address-proof"},{"$ref":"#/components/schemas/KycDocumentTypes"}]},"statusStatistics":{"type":"object","description":"Statistics for each status.","properties":{"accepted":{"type":"object","description":"Statistics for the `accepted` status.","properties":{"total":{"type":"integer","description":"Total amount of accepted documents.","example":6},"automatically":{"type":"integer","description":"Amount of documents that have been accepted automatically.","example":4},"manually":{"type":"integer","description":"Amount of documents that have been accepted by reviewer.","example":2},"afterAutoRejected":{"type":"integer","description":"Amount of documents that have been rejected automatically and then accepted by reviewer.","example":2}}},"rejected":{"type":"object","description":"Statistics for the `rejected` status.","properties":{"total":{"type":"integer","description":"Total amount of rejected documents.","example":2},"automatically":{"type":"integer","description":"Amount of documents that have been rejected automatically.","example":1},"manually":{"type":"integer","description":"Amount of documents that have been rejected by reviewer.","example":1},"afterAutoAccepted":{"type":"integer","description":"Amount of documents that have been accepted automatically and then rejected by reviewer.","example":1}}},"pending":{"type":"object","description":"Statistics for the `pending` status.","properties":{"total":{"type":"integer","description":"Total amount of pending documents.","example":0}}},"archived":{"type":"object","description":"Statistics for the `archived` status.","properties":{"total":{"type":"integer","description":"Total amount of archived documents.","example":0}}}}},"total":{"type":"integer","description":"Total amount of documents.","example":8},"accuracyRate":{"type":"number","description":"Percentage of automatically accepted and rejected documents that remain in the same status after review.\nCalculated based on the following: `(non-archived total - accepted auto rejected - rejected auto accepted)/non-archived total`.","example":62.5},"acceptanceRate":{"type":"number","description":"Percentage of accepted documents from the total number of KYC documents.\nCalculated based on the following: `accepted total / total of non-archived documents`.","example":75},"manualReviewTime":{"type":"number","description":"Median duration in minutes between review and created time for manually reviewed documents."}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycAcceptanceSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/kyc-rejection-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC rejections report","operationId":"GetKycRejectionSummaryReport","x-sdk-operation-name":"getKycRejectionSummary","description":"Retrieves a Know Your Customer (KYC) rejection report by type and by rejection reasons.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportKycRejections"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycRejectionSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/kyc-request-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC requests report","operationId":"GetKycRequestSummaryReport","x-sdk-operation-name":"getKycRequestSummary","description":"Retrieves a Know Your Customer (KYC) request report by type and by rejection reasons.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportKycRequests"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycRequestSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/monthly-recurring-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a MRR report","operationId":"GetMonthlyRecurringRevenueReport","x-sdk-operation-name":"getMonthlyRecurringRevenue","description":"Retrieves a Monthly Recurring Revenue (MRR) report.\n\nUse MRR reports to view information on the predictable recurring revenue for your business over a period of months.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided or is `null`,\nthe report starts at the beginning of the previous month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided or `null`,\nthe report ends at the current month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-06"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportMonthlyRecurringRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getMonthlyRecurringRevenue({\n    periodStart: '2016-09',\n    periodEnd: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getMonthlyRecurringRevenue(\n    'USD',\n    '2022-01',\n    '2022-03',\n    limit: 5,\n);"}]}},"/experimental/reports/annual-recurring-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an ARR report","operationId":"GetAnnualRecurringRevenueReport","x-sdk-operation-name":"getAnnualRecurringRevenue","description":"Retrieves an Annual Recurring Revenue (ARR) report.\n\nUse ARR reports to view information on the predictable recurring revenue for your business over a period of months.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided or is `null`,\nthe report starts at the beginning of the previous month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided or is `null`,\nthe report ends at the current month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-06"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportAnnualRecurringRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getAnnualRecurringRevenue({\n    periodStart: '2016-09',\n    periodEnd: '2018-09',\n    currency: 'USD',\n});\n"}]}},"/experimental/reports/renewal-sales":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a renewal sales report","operationId":"GetRenewalSaleReport","x-sdk-operation-name":"getRenewalSales","description":"Retrieves a renewal sales report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-02"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09',\n    periodEnd: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRenewalSales(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRenewalSales(\n    '2022-01',\n    '2022-03',\n    limit: 5,\n);"}]}},"/experimental/reports/retention-percentage":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a retention percentage report","operationId":"GetRetentionPercentageReport","x-sdk-operation-name":"getRetentionPercentage","description":"Retrieves a retention percentage report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year"]}},{"name":"aggregationPeriod","in":"query","description":"Report aggregation period.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year","cycle"]}},{"name":"includeSwitchedSubscriptions","in":"query","description":"Specifies whether to include switched subscriptions.","schema":{"type":"string","enum":["true","false"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided, defaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided, defaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'month',\n    aggregationPeriod: 'month',\n    periodStart: '2016-09-01T00:00:00Z',\n    periodEnd: '2017-09-01T00:00:00Z',\n    includeSwitchedSubscriptions: false,\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRetentionPercentage(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRetentionPercentage(\n    'day',\n    'month',\n    periodStart: new \\DateTimeImmutable('2022-01-01'),\n    periodEnd: new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/retention-value":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a retention value report","operationId":"GetRetentionValueReport","x-sdk-operation-name":"getRetentionValue","description":"Retrieves the total number of new customers for each aggregation period and the corresponding value for each customer over time.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year","leadsSource","leadsMedium","leadsCampaign","leadsContent","leadsTerm","leadsAffiliate","leadsSubAffiliate","leadsSalesAgent","bin"]}},{"name":"aggregationPeriod","in":"query","description":"Report aggregation period.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year"]}},{"name":"includeRefunds","in":"query","description":"Specifies whether to include refunds.","schema":{"type":"string","default":false,"enum":["true","false"]}},{"name":"includeDisputes","in":"query","description":"Specifies whether to include disputes.","schema":{"type":"string","default":false,"enum":["true","false"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided, defaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided, defaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'month',\n    aggregationPeriod: 'month',\n    periodStart: '2016-09-01T00:00:00Z',\n    periodEnd: '2017-09-01T00:00:00Z',\n    includeRefunds: true,\n    includeDisputes: false,\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRetentionValue(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRetentionValue(\n    'month',\n    'day',\n    periodStart: new \\DateTimeImmutable('2022-01-01'),\n    periodEnd: new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/revenue-waterfall":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a revenue waterfall report","operationId":"GetRevenueWaterfallReport","x-sdk-operation-name":"getRevenueWaterfall","description":"Retrieves a revenue waterfall report.\n\nUse revenue waterfall reports to view revenue that is recognized up to a given month.\nRevenue waterfall reports contain information on booked revenue,\nrecognized revenue for the months in the issued period,\nand the remaining revenue up to the specified month.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"issuedFrom","in":"query","description":"Date from which revenue invoice is issued.\nIf not provided or null, the report starts from the previous month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"issuedTo","in":"query","description":"Date to which revenue invoice is issued.\nIf not provided or null, the report ends at the current month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}},{"name":"recognizedTo","in":"query","description":"Month up to which revenue is recognized.\nIf not provided or null, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportRevenueWaterfall"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getRevenueWaterfall({\n    issuedFrom: '2016-09',\n    issuedTo: '2017-09',\n    recognizedTo: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRevenueWaterfall(\n    'USD',\n    '2022-01',\n    '2022-02',\n    '2022-02',\n);"}]}},"/experimental/reports/subscription-cancellation":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a subscription cancellation report","operationId":"GetSubscriptionCancellationReport","x-sdk-operation-name":"getSubscriptionCancellation","description":"Retrieves a subscription cancellation report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"planId","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"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getSubscriptionCancellation(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getSubscriptionCancellation(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'leadSource.source',\n    limit: 5,\n);"}]}},"/experimental/reports/subscription-renewal":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a subscription renewal report","operationId":"GetSubscriptionRenewalReport","x-sdk-operation-name":"getSubscriptionRenewal","description":"Retrieves a subscription renewal report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getSubscriptionRenewal(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getSubscriptionRenewal(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/tax":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a tax report","operationId":"GetTaxReport","x-sdk-operation-name":"getTax","description":"Retrieves a tax report, which displays taxes collected on sales.\nTax amounts are aggregated by state and municipality.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided,\nthe report starts from the beginning of the previous month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided,\nthe report ends at the end of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"accountingMethod","in":"query","description":"Accounting method to use when generating the report.\nIf no value is provided, cash is used.","schema":{"type":"string","enum":["cash","accrual"]}},{"$ref":"#/components/parameters/collectionLimit"},{"name":"offset","in":"query","description":"Starting point within the collection of items to return.","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportTax"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2023-01-01 00:00-00',\n    periodEnd: '2023-03-31 23:59:59',\n    accountingMethod: 'cash',\n    limit: 20,\n    offset: 0,\n};\nconst report = await api.reports.getTax(params);\n"}]}},"/experimental/reports/time-series-transaction":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a time series transactions report","operationId":"GetTimeSeriesTransactionReport","x-sdk-operation-name":"getTimeSeriesTransaction","description":"Retrieves a report of sale and capture transactions, with one row for each day of the period.\nEach row holds an aggregation of every transaction of the day,\nand a breakdown of that day by the `subaggregate` field.\nTransactions occur on the day of the `processedTime` value.","parameters":[{"name":"type","in":"query","description":"Aggregate the transactions of each day by count, sum of amounts, approval rate, or incomplete rate.","schema":{"type":"string","default":"count","enum":["count","amount","approval-rate","incomplete-rate"]}},{"name":"subaggregate","in":"query","description":"Group the transactions of each day by this field, one subaggregate for each value.","schema":{"type":"string","default":"gateway-account","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":"Date and time when the report starts.\nIf no value is provided, the report begins on the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided, the report ends on the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-08-29T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    type: 'count',\n    subaggregate: 'gateway-account',\n    limit: 20,\n    offset: 0\n};\nconst report = await api.reports.getTimeSeriesTransaction(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTimeSeriesTransaction(\n    'approval-rate',\n    'leads.sales-agent',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/transactions-time-dispute":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a transaction time dispute report","operationId":"GetTransactionTimeDisputeReport","x-sdk-operation-name":"getTransactionsTimeDispute","description":"Retrieves a dispute delay in days report.\nThis report describes the amount of time between a transaction and a dispute.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"gatewayAccount","enum":["website","processor","currency","bin","country","rebillNumber","retryNumber","gatewayAccount","transactionAmount"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getTransactionsTimeDispute(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTransactionsTimeDispute(\n    'rebillNumber',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a transactions report","operationId":"GetTransactionReport","x-sdk-operation-name":"getTransactions","description":"Retrieves a transactions report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided or null, the report starts from the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided or null, the report ends at the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"website","enum":["website","country","currency","bin","rebillNumber","transactionResult","transactionType","gatewayAccount","gateway","retryNumber","plan","cardBrand","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 retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getTransactions(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTransactions(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'leadSource.subAffiliate',\n    limit: 5,\n);"}]}},"/experimental/subscriptions/{subscriptionId}/summary-metrics":{"parameters":[{"name":"subscriptionId","in":"path","required":true,"description":"ID of the subscription order.","schema":{"type":"string"}}]},"/storefront/account/reset-password/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}]},"/storefront/account/verification/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}]},"/storefront/billing-portals/{slug}":{"parameters":[{"name":"slug","in":"path","description":"Resource slug.","required":true,"schema":{"type":"string","maxLength":100,"pattern":"^[@~\\-\\.\\w]+$"}}]},"/storefront/deposit-strategies/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/deposit-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/cashiers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/checkout-forms/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/custom-fields/{resource}":{"parameters":[{"$ref":"#/components/parameters/storefrontCustomFieldResource"}]},"/storefront/invoices/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-documents/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-liveness-sessions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-liveness-sessions/{id}/finish":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/cancellation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/pause":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/subscriptions/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/order-changes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}/deactivation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}/setup":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payout-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/plans/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/products/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}/accept":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}/reject":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}/dcc":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}/{token}/continue":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/token"}]},"/storefront/transactions/{id}/{token}/bypass":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/token"}]},"/storefront/websites/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/risk-score-rules":{"get":{"x-products":["Core"],"tags":["Risk score"],"summary":"Retrieve risk score rules","operationId":"GetRiskScoreRules","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves risk score rules.","responses":{"200":{"description":"Risk score rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskScoreRules"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/risk-score-rules/blocklists":{"get":{"x-products":["Core"],"tags":["Risk score"],"summary":"Retrieve risk score blocklist rules","operationId":"GetRiskScoreBlocklistRules","x-sdk-operation-name":"getAllBlocklistRules","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves risk score blocklist rules.","responses":{"200":{"description":"Risk score blocklist rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskScoreBlocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/allowlists":{"get":{"x-products":["Core"],"tags":["Allowlists"],"summary":"Retrieve allowlist collection","operationId":"GetAllowlistCollection","x-sdk-operation-name":"getAllowlistCollection","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves allowlist collection.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Allowlist collection retrieved.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Allowlist"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Allowlists"],"summary":"Create allowlist record","operationId":"PostAllowlist","x-sdk-operation-name":"storeAllowlist","security":[{"PublishableApiKey":[]}],"description":"Creates allowlist record.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Allowlist"}}},"description":"Allowlist record.","required":true},"responses":{"201":{"description":"Allowlist record created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Allowlist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/allowlists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/tags-rules":{"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve tags rules list","operationId":"GetTagRuleCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of tags rules.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of tags rules retrieved.","headers":{"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/TagUntagRule"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Create tags rule","operationId":"PostTagRule","x-sdk-operation-name":"create","description":"Creates a tags rule.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}},"description":"Tags rule resource.","required":true},"responses":{"201":{"description":"Tags rule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags-rules/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve a tags rule","operationId":"GetTagRule","x-sdk-operation-name":"get","description":"Retrieves a tags rule with a specified ID.","responses":{"200":{"description":"Tags rule retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Tags"],"summary":"Create a tags rule with specified ID","operationId":"PutTagRule","x-sdk-operation-name":"update","description":"Creates a tags rule with a specified ID.","responses":{"200":{"description":"Tags rule updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"201":{"description":"Tags rule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}},"description":"Tags rule resource.","required":true}}}},"webhooks":{"application-instance-disabled":{"post":{"summary":"Application instance disabled","operationId":"application-instance-disabled","deprecated":true,"x-products":["Users"],"tags":["Application owners"],"requestBody":{"$ref":"#/components/requestBodies/ApplicationInstanceDisabled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"application-instance-enabled":{"post":{"summary":"Application instance enabled","operationId":"application-instance-enabled","deprecated":true,"x-products":["Users"],"tags":["Application owners"],"requestBody":{"$ref":"#/components/requestBodies/ApplicationInstanceEnabled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"aml-list-possibly-matched":{"post":{"summary":"AML list possibly matched","operationId":"aml-list-possibly-matched","x-products":["Core"],"tags":["AML"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"balance-transaction-settled":{"post":{"summary":"Balance transaction settled","operationId":"balance-transaction-settled","tags":["Balance transactions"],"x-products":["Users"],"requestBody":{"$ref":"#/components/requestBodies/BalanceTransactionSettled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-application-removed":{"post":{"summary":"Coupon application removed","operationId":"coupon-application-removed","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-applied":{"post":{"summary":"Coupon applied","operationId":"coupon-applied","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-expiration-modified":{"post":{"summary":"Coupon expiration modified","operationId":"coupon-expiration-modified","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-expired":{"post":{"summary":"Coupon expired","operationId":"coupon-expired","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-issued":{"post":{"summary":"Coupon issued","operationId":"coupon-issued","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-modified":{"post":{"summary":"Coupon modified","operationId":"coupon-modified","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-redeemed":{"post":{"summary":"Coupon redeemed","operationId":"coupon-redeemed","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-redemption-canceled":{"post":{"summary":"Coupon redemption canceled","operationId":"coupon-redemption-canceled","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-applied":{"post":{"summary":"Credit memo applied","operationId":"credit-memo-applied","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-created":{"post":{"summary":"Credit memo created","operationId":"credit-memo-created","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-modified":{"post":{"summary":"Credit memo modified","operationId":"credit-memo-modified","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-partially-applied":{"post":{"summary":"Credit memo partially applied","operationId":"credit-memo-partially-applied","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-voided":{"post":{"summary":"Credit memo voided","operationId":"credit-memo-voided","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-created":{"post":{"summary":"Customer created","operationId":"customer-created","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-merged":{"post":{"summary":"Customer merged","operationId":"customer-merged","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/MergedCustomer"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-one-time-password-requested":{"post":{"summary":"Customer one-time-password requested","operationId":"customer-one-time-password-requested","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-redirected-offsite":{"post":{"summary":"Customer redirected offsite","operationId":"customer-redirected-offsite","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/CustomerRedirect"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-returned":{"post":{"summary":"Customer returned","operationId":"customer-returned","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/CustomerRedirect"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-tax-number-validated":{"post":{"summary":"Customer tax number validated","operationId":"customer-tax-number-validated","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerTaxNumberValidated"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-updated":{"post":{"summary":"Customer updated","operationId":"customer-updated","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"dispute-created":{"post":{"summary":"Dispute created","operationId":"dispute-created","x-products":["Core"],"tags":["Disputes"],"requestBody":{"$ref":"#/components/requestBodies/DisputeWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"dispute-modified":{"post":{"summary":"Dispute modified","operationId":"dispute-modified","x-products":["Core"],"tags":["Disputes"],"requestBody":{"$ref":"#/components/requestBodies/DisputeWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"experian-check-performed":{"post":{"summary":"Experian check performed","operationId":"experian-check-performed","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/ExperianCheckPerformed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"hard-usage-limit-reached":{"post":{"summary":"Hard usage limit reached","operationId":"hard-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-hard-usage-limit-reached":{"post":{"summary":"Hard usage limit reached","operationId":"orders-experimental-hard-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-tax-calculation-failed":{"post":{"summary":"Invoice tax calculation failed","operationId":"invoice-tax-calculation-failed","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceTaxCalculationFailed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-downtime-ended":{"post":{"summary":"Gateway account downtime ended","operationId":"gateway-account-downtime-ended","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-downtime-started":{"post":{"summary":"Gateway account downtime started","operationId":"gateway-account-downtime-started","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-limit-reached":{"post":{"summary":"Gateway account limit reached","operationId":"gateway-account-limit-reached","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountAndGatewayAccountLimit"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-onboarding-completed":{"post":{"summary":"Gateway account onboarding completed","operationId":"gateway-account-onboarding-completed","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-onboarding-failed":{"post":{"summary":"Gateway account onboarding failed","operationId":"gateway-account-onboarding-failed","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-requested":{"post":{"summary":"Gateway account requested","operationId":"gateway-account-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-abandoned":{"post":{"summary":"Invoice abandoned","operationId":"invoice-abandoned","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-created":{"post":{"summary":"Invoice created","operationId":"invoice-created","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-issued":{"post":{"summary":"Invoice issued","operationId":"invoice-issued","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-modified":{"post":{"summary":"Invoice modified","operationId":"invoice-modified","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-paid":{"post":{"summary":"Invoice paid","operationId":"invoice-paid","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-partially-paid":{"post":{"summary":"Invoice partially paid","operationId":"invoice-partially-paid","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-refunded":{"post":{"summary":"Invoice refunded","operationId":"invoice-refunded","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-partially-refunded":{"post":{"summary":"Invoice partially refunded","operationId":"invoice-partially-refunded","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due":{"post":{"summary":"Invoice past due","operationId":"invoice-past-due","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder":{"post":{"summary":"Invoice past due reminder","operationId":"invoice-past-due-reminder","deprecated":true,"x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-15-days":{"post":{"summary":"Renewal invoice reminder, 15 days past due","description":"Sends a reminder when an unpaid renewal invoice is 15 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 30 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-15-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-30-days":{"post":{"summary":"Renewal invoice reminder, 30 days past due","description":"Sends a reminder when an unpaid renewal invoice is 30 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 60 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-30-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-60-days":{"post":{"summary":"Renewal invoice reminder, 60 days past due","description":"Sends a reminder when an unpaid renewal invoice is 60 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 90 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-60-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-90-days":{"post":{"summary":"Renewal invoice reminder, 90 days past due","description":"Sends a reminder when an unpaid renewal invoice is 90 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 120 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-90-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-reissued":{"post":{"summary":"Invoice reissued","operationId":"invoice-reissued","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-voided":{"post":{"summary":"Invoice voided","operationId":"invoice-voided","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-accepted":{"post":{"summary":"KYC document accepted","operationId":"kyc-document-accepted","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-created":{"post":{"summary":"KYC document created","operationId":"kyc-document-created","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-modified":{"post":{"summary":"KYC document modified","operationId":"kyc-document-modified","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-rejected":{"post":{"summary":"KYC document rejected","operationId":"kyc-document-rejected","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-reviewed":{"post":{"summary":"KYC document reviewed","operationId":"kyc-document-reviewed","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-archived":{"post":{"summary":"KYC document archived","operationId":"kyc-document-archived","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-attempted":{"post":{"summary":"KYC request attempted","operationId":"kyc-request-attempted","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-failed":{"post":{"summary":"KYC request failed","operationId":"kyc-request-failed","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-fulfilled":{"post":{"summary":"KYC request fulfilled","operationId":"kyc-request-fulfilled","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-partially-fulfilled":{"post":{"summary":"KYC request partially fulfilled","operationId":"kyc-request-partially-fulfilled","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"lead-source-changed":{"post":{"summary":"Lead source changed","operationId":"lead-source-changed","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"offsite-payment-completed":{"post":{"summary":"Offsite payment completed","operationId":"offsite-payment-completed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-abandon-reminder":{"post":{"summary":"Order abandoned reminder","operationId":"order-abandon-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/OrderAbandonReminderSent"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-abandon-reminder":{"post":{"summary":"Order abandoned reminder","operationId":"orders-experimental-order-abandon-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAbandonReminderSent"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-abandoned":{"post":{"summary":"Order abandoned","operationId":"order-abandoned","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-abandoned":{"post":{"summary":"Order abandoned","operationId":"orders-experimental-order-abandoned","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-completed":{"post":{"summary":"Order completed","operationId":"order-completed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-completed":{"post":{"summary":"Order completed","operationId":"orders-experimental-order-completed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"organization-tax-number-validated":{"post":{"summary":"Organization tax number validated","operationId":"organization-tax-number-validated","x-products":["Core"],"tags":["Organizations"],"requestBody":{"$ref":"#/components/requestBodies/OrganizationTaxNumberValidated"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-created":{"post":{"summary":"Payment card created","operationId":"payment-card-created","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder":{"post":{"summary":"Payment card expiration reminder","operationId":"payment-card-expiration-reminder","deprecated":true,"x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-14-days":{"post":{"summary":"Payment card expiration reminder, 14 days before expiration","description":"Sends a reminder when the active default payment card of a customer is 14 days from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration,\nand remains available until 7 days before the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-14-days","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-7-days":{"post":{"summary":"Payment card expiration reminder, 7 days before expiration","description":"Sends a reminder when the active default payment card of a customer is 7 days from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration,\nand remains available until 1 day before the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-7-days","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-1-day":{"post":{"summary":"Payment card expiration reminder, 1 day before expiration","description":"Sends a reminder when the active default payment card of a customer is 1 day from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration, and remains available until the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-1-day","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expired":{"post":{"summary":"Payment card expired","operationId":"payment-card-expired","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-instrument-modified":{"post":{"summary":"Payment instrument modified","operationId":"payment-instrument-modified","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentInstrumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-created":{"post":{"summary":"Payout request batch created","operationId":"payout-request-batch-created","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-deleted":{"post":{"summary":"Payout request batch deleted","operationId":"payout-request-batch-deleted","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchDeletedWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-modified":{"post":{"summary":"Payout request batch modified","operationId":"payout-request-batch-modified","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-canceled":{"post":{"summary":"Payout request canceled","operationId":"payout-request-canceled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-changed":{"post":{"summary":"Payout request changed","operationId":"payout-request-changed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestChangedWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-created":{"post":{"summary":"Payout request created","operationId":"payout-request-created","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-fulfilled":{"post":{"summary":"Payout request fulfilled","operationId":"payout-request-fulfilled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-modified":{"post":{"summary":"Payout request modified","operationId":"payout-request-modified","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-accepted":{"post":{"summary":"Quote accepted","operationId":"quote-accepted","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-canceled":{"post":{"summary":"Quote canceled","operationId":"quote-canceled","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-created":{"post":{"summary":"Quote created","operationId":"quote-created","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-expired":{"post":{"summary":"Quote expired","operationId":"quote-expired","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-issued":{"post":{"summary":"Quote issued","operationId":"quote-issued","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-recalled":{"post":{"summary":"Quote recalled","operationId":"quote-recalled","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-rejected":{"post":{"summary":"Quote rejected","operationId":"quote-rejected","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-updated":{"post":{"summary":"Quote updated","operationId":"quote-updated","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"ready-to-pay-requested":{"post":{"summary":"Ready to pay requested","operationId":"ready-to-pay-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/ReadyToPayRequested"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-issued":{"post":{"summary":"Renewal invoice issued","operationId":"renewal-invoice-issued","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/RenewalInvoiceIssued"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-renewal-invoice-issued":{"post":{"summary":"Renewal invoice issued","operationId":"orders-experimental-renewal-invoice-issued","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/RenewalInvoiceIssued"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-payment-canceled":{"post":{"summary":"Renewal invoice payment canceled","operationId":"renewal-invoice-payment-canceled","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceAndTransaction"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-payment-declined":{"post":{"summary":"Renewal invoice payment declined","operationId":"renewal-invoice-payment-declined","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceAndTransaction"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"risk-score-changed":{"post":{"summary":"Risk score changed","operationId":"risk-score-changed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"soft-usage-limit-reached":{"post":{"summary":"Soft usage limit reached","operationId":"soft-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-soft-usage-limit-reached":{"post":{"summary":"Soft usage limit reached","operationId":"orders-experimental-soft-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-activated":{"post":{"summary":"Subscription order activated","operationId":"subscription-activated","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-activated":{"post":{"summary":"Subscription order activated","operationId":"orders-experimental-subscription-activated","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-canceled":{"post":{"summary":"Subscription order canceled","operationId":"subscription-canceled","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-canceled":{"post":{"summary":"Subscription order canceled","operationId":"orders-experimental-subscription-canceled","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-churned":{"post":{"summary":"Subscription order churned","operationId":"subscription-churned","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-churned":{"post":{"summary":"Subscription order churned","operationId":"orders-experimental-subscription-churned","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-created":{"post":{"summary":"Subscription order created","operationId":"subscription-created","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-created":{"post":{"summary":"Subscription order created","operationId":"orders-experimental-subscription-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-downgraded":{"post":{"summary":"Subscription order downgraded","operationId":"subscription-downgraded","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-downgraded":{"post":{"summary":"Subscription order downgraded","operationId":"orders-experimental-subscription-downgraded","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-items-changed":{"post":{"summary":"Subscription items changed","operationId":"subscription-items-changed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-items-changed":{"post":{"summary":"Subscription items changed","operationId":"orders-experimental-subscription-items-changed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-modified":{"post":{"summary":"Order modified","operationId":"subscription-modified","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-modified":{"post":{"summary":"Order modified","operationId":"orders-experimental-subscription-modified","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-quantity-filled-limit-reached":{"post":{"summary":"Subscription quantity filled limit reached","operationId":"subscription-quantity-filled-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionQuantityFilledLimitReached"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-quantity-filled-limit-reached":{"post":{"summary":"Subscription quantity filled limit reached","operationId":"orders-experimental-subscription-quantity-filled-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionQuantityFilledLimitReached"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-reactivated":{"post":{"summary":"Subscription order reactivated","operationId":"subscription-reactivated","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-reactivated":{"post":{"summary":"Subscription order reactivated","operationId":"orders-experimental-subscription-reactivated","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder":{"post":{"summary":"Subscription renewal reminder","operationId":"subscription-renewal-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-30-days":{"post":{"summary":"Subscription renewal reminder, 30 days before renewal","description":"Sends a reminder when an active order that contains subscription items is 30 days from renewal.\nThe reminder is sent only when the recurring interval of the order is 90 days or more.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal,\nand remains available until 7 days before the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-30-days","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-7-days":{"post":{"summary":"Subscription renewal reminder, 7 days before renewal","description":"Sends a reminder when an active order that contains subscription items is 7 days from renewal.\nThe reminder is sent only when the recurring interval of the order is 14 days or more.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal,\nand remains available until 1 day before the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-7-days","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-1-day":{"post":{"summary":"Subscription renewal reminder, 1 day before renewal","description":"Sends a reminder when an active order that contains subscription items is 1 day from renewal.\nThe reminder is sent only when the recurring interval of the order is longer than 1 day.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal, and remains available until the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-1-day","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewed":{"post":{"summary":"Subscription order renewed","operationId":"subscription-renewed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-renewed":{"post":{"summary":"Subscription order renewed","operationId":"orders-experimental-subscription-renewed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-converted":{"post":{"summary":"Subscription order trial converted","operationId":"subscription-trial-converted","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-converted":{"post":{"summary":"Subscription order trial converted","operationId":"orders-experimental-subscription-trial-converted","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-end-reminder":{"post":{"summary":"Subscription order trial end reminder","operationId":"subscription-trial-end-reminder","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-end-reminder":{"post":{"summary":"Subscription order trial end reminder","operationId":"orders-experimental-subscription-trial-end-reminder","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-ended":{"post":{"summary":"Subscription order trial ended","operationId":"subscription-trial-ended","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-ended":{"post":{"summary":"Subscription order trial ended","operationId":"orders-experimental-subscription-trial-ended","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-upgraded":{"post":{"summary":"Subscription order upgraded","operationId":"subscription-upgraded","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-upgraded":{"post":{"summary":"Subscription order upgraded","operationId":"orders-experimental-subscription-upgraded","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-paused":{"post":{"summary":"Subscription order paused","operationId":"subscription-paused","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-paused":{"post":{"summary":"Subscription order paused","operationId":"orders-experimental-subscription-paused","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-created":{"post":{"summary":"Subscription order pause created","operationId":"subscription-pause-created","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-created":{"post":{"summary":"Subscription order pause created","operationId":"orders-experimental-subscription-pause-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-modified":{"post":{"summary":"Subscription order pause modified","operationId":"subscription-pause-modified","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-modified":{"post":{"summary":"Subscription order pause modified","operationId":"orders-experimental-subscription-pause-modified","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-revoked":{"post":{"summary":"Subscription order pause revoked","operationId":"subscription-pause-revoked","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-revoked":{"post":{"summary":"Subscription order pause revoked","operationId":"orders-experimental-subscription-pause-revoked","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-created":{"post":{"summary":"Order change created","operationId":"orders-experimental-order-change-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-canceled":{"post":{"summary":"Order change canceled","operationId":"orders-experimental-order-change-canceled","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-applied":{"post":{"summary":"Order change applied","operationId":"orders-experimental-order-change-applied","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-resumed":{"post":{"summary":"Subscription order resumed","operationId":"subscription-resumed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-resumed":{"post":{"summary":"Subscription order resumed","operationId":"orders-experimental-subscription-resumed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-amount-discrepancy-found":{"post":{"summary":"Transaction amount discrepancy found","operationId":"transaction-amount-discrepancy-found","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-declined":{"post":{"summary":"Transaction declined","operationId":"transaction-declined","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-discrepancy-found":{"post":{"summary":"Transaction discrepancy found","operationId":"transaction-discrepancy-found","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-process-requested":{"post":{"summary":"Transaction process requested","operationId":"transaction-process-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-processed":{"post":{"summary":"Transaction processed","operationId":"transaction-processed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-reconciled":{"post":{"summary":"Transaction reconciled","operationId":"transaction-reconciled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-partially-refunded":{"post":{"summary":"Transaction partially refunded","operationId":"transaction-partially-refunded","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-refunded":{"post":{"summary":"Transaction refunded","operationId":"transaction-refunded","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-voided":{"post":{"summary":"Transaction voided","operationId":"transaction-voided","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-timeout-resolved":{"post":{"summary":"Transaction timeout resolved","operationId":"transaction-timeout-resolved","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"trial-usage-limit-reached":{"post":{"summary":"Trial usage limit reached","operationId":"trial-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-trial-usage-limit-reached":{"post":{"summary":"Trial usage limit reached","operationId":"orders-experimental-trial-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"waiting-gateway-transaction-completed":{"post":{"summary":"Waiting gateway transaction completed","operationId":"waiting-gateway-transaction-completed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"data-export-completed":{"post":{"summary":"Data export completed","operationId":"data-export-completed","x-products":["Reports"],"tags":["Data exports"],"requestBody":{"$ref":"#/components/requestBodies/DataExportWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"data-export-failed":{"post":{"summary":"Data export failed","operationId":"data-export-failed","x-products":["Reports"],"tags":["Data exports"],"requestBody":{"$ref":"#/components/requestBodies/DataExportWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-delinquency-reached":{"post":{"summary":"Order delinquency time reached","operationId":"order-delinquency-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-delinquency-reached":{"post":{"summary":"Order delinquency time reached","operationId":"orders-experimental-order-delinquency-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"autodeposit-lookup-performed":{"post":{"summary":"Autodeposit lookup performed","operationId":"autodeposit-lookup-performed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/AutodepositLookupPerformed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}}}},"operationId":"PostServiceCredential","operationSource":{"kind":"code-sample","operationType":"http","method":"POST","path":"/service-credentials/{type}","servers":[{"url":"/_mock/catalog/all","description":"Mock server","isMockServer":true},{"url":"https://api-sandbox.rebilly.com/organizations/{organizationId}","description":"Sandbox server","variables":{"organizationId":{"default":"{organizationId}"}}},{"url":"https://api.rebilly.com/organizations/{organizationId}","description":"Live server","variables":{"organizationId":{"default":"{organizationId}"}}}],"parameters":{"path":[{"name":"type","in":"path","required":true,"schemaId":"schema_0"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"SecretApiKey","type":"apiKey","name":"REB-APIKEY","in":"header"}],"scopes":[]},{"schemes":[{"id":"JWT","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]},{"schemes":[{"id":"ApplicationJWT","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_1"}},"responseCodes":["201","303","401","403","422","429"],"pointer":"/service-credentials/{type}","openApiOperationId":"PostServiceCredential","summary":"Create a service credential","securityGroups":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"definitionSamples":[{"lang":"JavaScript","source":"// first set the required properties for the new service credential\nconst data = {\n    type: 'webhook',\n    host: 'foobar.test.com',\n    auth: {\n        type: 'none'\n    }\n};\n\nconst credential = await api.serviceCredentials.create({type: 'webhook', data});\n// use the ID to authenticate your webhook in Rebilly\nconsole.log(credential.fields.id);\n"}]},"options":{"feedback":{"type":"mood","settings":{"comment":{"satisfiedLabel":"What did you like about this page?"},"optionalEmail":{"hide":false}}},"metadata":{"description":"All Rebilly APIs.","redocly_category":"API Reference"},"excludeFromSearch":true,"mockServer":{"url":"/_mock/catalog/all","position":"first","description":"Mock server"}},"pointer":"/paths/~1service-credentials~1{type}/post"}},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"Trigger a webhook","expanded":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This step describes uses an interactive component to trigger a test webhook in the sandbox environment."," ","For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/catalog/all/webhooks/postpreviewwebhook"},"children":["Trigger a test webhook"]},"."]},{"$$mdtype":"Tag","name":"Accordion","attributes":{"title":"How to use the interactive example","expanded":false},"children":[{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your organization ID:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Locate and press ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["server /"]},", then in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Server variables"]}," section, press ",{"$$mdtype":"Tag","name":"UiIcon","attributes":{"type":"edit"},"children":[]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Value"]}," field, enter your organization ID and press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your secret API key:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API key"]}," field, enter your secret Rebilly sandbox API key. ",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"For more information, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/set-up-environment#obtain-ids-and-api-keys"},"children":["Obtain IDs and API keys"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter your webhook credentials hash:",{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Body"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["credentialHash"]}," field, enter the hash value you obtained when you created webhook credentials, as described in ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/webhooks-configuration#create-webhook-credentials"},"children":["Step 2"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Press ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Send"]},"."]}]}]},{"$$mdtype":"Tag","name":"ReplayOpenApi","attributes":{"descriptionFile":"../../catalog/all.yaml","operationId":"PostPreviewWebhook","parameters":{},"requestBody":{"eventsFilter":[],"status":"active","method":"GET","url":"https://example.com","headers":[{"name":"test","status":"active","value":"value1"}],"credentialHash":"string","body":"string","filter":"string"},"options":{},"environments":{},"environment":"Sandbox server","replayResolved":{"apiStore":{"schemaStore":{"components/schemas/CreatedTime":{"id":"components/schemas/CreatedTime","kind":"json-schema","title":"CreatedTime","data":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Creation Time"}},"components/schemas/UpdatedTime":{"id":"components/schemas/UpdatedTime","kind":"json-schema","title":"UpdatedTime","data":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Update Time"}},"components/schemas/ResourceId":{"id":"components/schemas/ResourceId","kind":"json-schema","title":"ResourceId","data":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"}},"components/schemas/SelfLink":{"id":"components/schemas/SelfLink","kind":"json-schema","title":"SelfLink","data":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}},"components/schemas/AML":{"id":"components/schemas/AML","kind":"json-schema","title":"AML","data":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the individual, or name of entity.","readOnly":true,"example":"Benjamin"},"lastName":{"type":["string","null"],"description":"Last name of the individual.\nThis field returns a `null` value for single-named entities.","readOnly":true,"example":"Franklin"},"source":{"type":"string","readOnly":true,"description":"Describes which list the result is from."},"sourceType":{"readOnly":true,"description":"Describes the categories of the individual or entity.","type":"array","example":["sanctions","enforcements"],"items":{"type":"string","enum":["pep","sanctions","adverse-media","enforcements","state-owned-enterprise"]}},"gender":{"type":["string","null"],"readOnly":true,"description":"If `type`=`individual`, this field describes the gender of the individual."},"title":{"type":["array","null"],"readOnly":true,"description":"Individual's job title.","example":["Postmaster General","Ambassador to France","Ambassador to Sweden","Supreme Executive Council of Commonwealth of Pennsylvania"],"items":{"type":"string"}},"type":{"type":"string","readOnly":true,"description":"Describes whether the source is an individual or an entity.","enum":["individual","entity"]},"legalBasis":{"type":"array","readOnly":true,"description":"List of references to legal documents, if they exist.","items":{"type":"string"}},"regime":{"type":["string","null"],"readOnly":true,"description":"Describes the government, administration, or political entity.","example":"United States Government"},"confidence":{"type":"string","description":"Degree of confidence in the source list information.","readOnly":true,"enum":["weak","medium","strong","very-strong"]},"nationality":{"type":"string","readOnly":true,"description":"Nationality of the individual or entity."},"address":{"type":"array","readOnly":true,"description":"Addresses associated with the individual or entity.","items":{"type":"object","properties":{"address":{"type":["string","null"],"readOnly":true,"description":"Street address line 1."},"address2":{"type":["string","null"],"readOnly":true,"description":"Street address line 2."},"city":{"type":["string","null"],"readOnly":true,"description":"City."},"region":{"type":["string","null"],"readOnly":true,"description":"State, province, or region."},"country":{"type":["string","null"],"readOnly":true,"description":"Country."},"birthplace":{"type":"boolean","default":false,"readOnly":true,"description":"Individual's place of birth."}}}},"dob":{"type":"array","readOnly":true,"description":"One or more possible dates of birth.","items":{"type":"string","readOnly":true,"description":"Date of birth.","format":"date","example":"1706-01-17"}},"aliases":{"type":"array","readOnly":true,"description":"List of aliases, if any.","items":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of alias.","readOnly":true},"lastName":{"type":"string","description":"Last name of alias.","readOnly":true},"authenticity":{"type":"string","description":"Degree of confidence in the alias.","readOnly":true,"enum":["strong","weak","unknown"]}}}},"passport":{"type":"array","readOnly":true,"description":"Individual's passport information.","items":{"type":"object","properties":{"number":{"type":"string","readOnly":true,"description":"Passport number."},"registrationDate":{"type":"string","format":"date","readOnly":true,"description":"Passport registration date."}}}},"comments":{"type":["string","null"],"readOnly":true,"description":"Additional information.\nThis content varies per list."},"metadata":{"type":["object","null"],"readOnly":true,"description":"Additional metadata on AML sources, when available.","properties":{"lookupId":{"type":"string","readOnly":true,"description":"Direct lookup identifier for the LexisNexis WorldCompliance Online Search Tool.","example":"1E66DAD6-A2E2-4DCB-BCAF-8CC92CD1DDEC"}}},"matchDetails":{"type":["object","null"],"description":"Details of the matching logic and confidence scoring.","properties":{"confidenceFactors":{"type":"array","readOnly":true,"description":"List of factors that contributed to the confidence score calculation.","items":{"type":"string","enum":["confidence_exact_country","confidence_mismatch_country","confidence_missing_country","confidence_exact_dob","confidence_mismatch_dob","confidence_missing_dob","confidence_exact_yob","confidence_inexact_yob","confidence_strong_hit_relevance","confidence_weak_hit_relevance","confidence_exact_full_name","confidence_fuzzy_full_name"]}},"matchCriteria":{"type":"array","readOnly":true,"description":"List of specific criteria that matched against the watchlist.","items":{"type":"string","enum":["match_exact_name","match_phonetic_first_name","match_phonetic_last_name","match_exact_full_name","match_aka_exact_name","match_aka_phonetic_first_name","match_aka_phonetic_last_name","match_aka_exact_full_name","match_fuzzy_nationality","match_exact_address","match_exact_city","match_exact_region","match_exact_country","match_exact_post_code"]}}}},"decision":{"type":["string","null"],"readOnly":true,"description":"Reviewer decision for this hit.\nThis value is `null` if the hit has not been decided yet.","enum":["confirmed-match","false-positive",null],"example":"false-positive"},"decisionInherited":{"type":"boolean","readOnly":true,"default":false,"description":"Specifies if the decision is copied from an earlier AML check instead of recorded by a reviewer.\nThe decision is copied from a matching hit on the previous AML check of the same customer or of a related customer,\nor from the `false-positive` status of an earlier AML check of the same customer or a related customer.","example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Tag":{"id":"components/schemas/Tag","kind":"json-schema","title":"Tag","data":{"type":"object","description":"Use tags to organise and categorize customers or KYC documents based on keywords.\nFor more information, see [Tags](https://www.rebilly.com/docs/dev-docs/api/tags/).","required":["name","type"],"properties":{"id":{"description":"ID of the tag.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"name":{"description":"Unique name for the tag.\nTag names are not case-sensitive.","type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w\\s+]+$","example":"New"},"type":{"description":"Type of tag.\nTags of a specific type can only be assigned to corresponding entity types.\nFor example, you can only use customer tags on customers.","type":"string","enum":["customer","kyc-document","aml-check"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AmlCheck":{"id":"components/schemas/AmlCheck","kind":"json-schema","title":"AmlCheck","data":{"type":"object","readOnly":true,"description":"AML check result.","properties":{"id":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"websiteId":{"type":"string","description":"Website ID associated with the customer.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"reviewerId":{"type":["string","null"],"maxLength":50,"description":"User ID of the person who reviewed the AML check.","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerType":{"type":["string","null"],"readOnly":true,"description":"Type of reviewer for the current review outcome.","enum":["human","bot"],"example":"bot"},"reviewerName":{"type":["string","null"],"description":"First and last name of the person who reviewed the AML check.\nIf the result is inherited, this field is set to \"bot\"."},"reviewStartTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is started."},"reviewTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is completed."},"priority":{"type":["string","null"],"default":null,"description":"Highest matched priority of all hits within an AML check."},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"status":{"type":"string","description":"Status of the AML check.","readOnly":true,"enum":["pending-review","in-review","no-match","confirmed-match","false-positive"],"x-enumDescriptions":{"pending-review":"Possible AML match detected and waiting to be manually reviewed.","in-review":"A manual AML match review is in progress, or at least one hit has no decision yet.","no-match":"No possible AML match detected.","confirmed-match":"Possible AML match manually reviewed and marked as confirmed.","false-positive":"Possible AML match manually reviewed and marked as false positive."}},"customer":{"type":"object","properties":{"id":{"description":"ID of the customer.","$ref":"#/components/schemas/ResourceId"},"primaryAddress":{"type":"object","description":"Customer's data at the time of the AML check.","properties":{"firstName":{"type":"string","maxLength":45,"description":"Customer's first name at the time of the AML check."},"lastName":{"type":"string","maxLength":45,"description":"Customer's last name at the time of the AML check."},"dob":{"type":["string","null"],"format":"date","description":"Customer's date of birth.","example":"1971-02-14"},"address":{"description":"First line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Customer's city of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Customer's region of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"type":["string","null"],"description":"Customer's country of residence at the time of the AML check."},"postalCode":{"description":"Customer's postal code at the time of the AML check.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"}}},"organizationId":{"type":"string","description":"ID of the customer's organization.","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}}},"hits":{"description":"List of hits returned during the AML check.","type":"array","items":{"$ref":"#/components/schemas/AML"}},"tags":{"description":"List of AML check tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"provenance":{"type":["object","null"],"readOnly":true,"description":"Origin of the AML check result.","properties":{"inherited":{"type":"boolean","description":"Specifies if the result is inherited from a previous AML check.","example":true},"inheritedFromAmlCheckId":{"type":"string","description":"ID of the AML check from which the check inherits its result.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"scope":{"type":"array","description":"Scope of what is inherited from the source AML check.","items":{"type":"string","enum":["status-only"]},"example":["status-only"]},"reasons":{"type":"array","description":"Reasons that triggered the inheritance of the result.","items":{"type":"string","enum":["customer_duplicated_by_person_exact_match","customer_duplicated_by_primary_phone_number_exact_match","customer_previous_check_exact_match"],"x-enumDescriptions":{"customer_duplicated_by_person_exact_match":"Customer identity exactly matched a check on another customer","customer_duplicated_by_primary_phone_number_exact_match":"Customer primary phone number exactly matched a check on another customer","customer_previous_check_exact_match":"Customer data exactly matched a previous check on the same customer"}},"example":["customer_duplicated_by_person_exact_match"]}}},"noMatchReason":{"readOnly":true,"description":"Reason for the no-match result.","type":["string","null"],"enum":["no_hits_found","mismatched_hits","hits_are_below_relevance_score_threshold","internal_system_error"],"example":"no_hits_found"},"noMatchDetails":{"readOnly":true,"description":"List of codes that explain the no-match result.","type":"array","items":{"type":"string"},"example":["top_hit_not_eligible_for_matching","search_shard_failures"]},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/BaseProblem":{"id":"components/schemas/BaseProblem","kind":"json-schema","title":"BaseProblem","data":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem."},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem."},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}}},"components/schemas/Unauthorized":{"id":"components/schemas/Unauthorized","kind":"json-schema","title":"Unauthorized","data":{"allOf":[{"title":"Unauthorized"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":401,"maximum":401}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/Forbidden":{"id":"components/schemas/Forbidden","kind":"json-schema","title":"Forbidden","data":{"allOf":[{"title":"Forbidden"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":403,"maximum":403},"error":{"type":"string","description":"Message that describes why the request is forbidden.\nMost responses use a descriptive message, such as `Not allowed to change security settings`.\nIf the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.\nIf the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`."}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/NotFound":{"id":"components/schemas/NotFound","kind":"json-schema","title":"NotFound","data":{"allOf":[{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":404,"maximum":404}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/InvalidFields":{"id":"components/schemas/InvalidFields","kind":"json-schema","title":"InvalidFields","data":{"type":"array","description":"Invalid field details.","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}},"components/schemas/ValidationError":{"id":"components/schemas/ValidationError","kind":"json-schema","title":"ValidationError","data":{"allOf":[{"title":"Validation error"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/BaseProblem"},{"type":"object","properties":{"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}}]}},"components/schemas/TooManyRequests":{"id":"components/schemas/TooManyRequests","kind":"json-schema","title":"TooManyRequests","data":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"about:blank"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem.","example":"Rate Limit Exceeded"},"status":{"type":"integer","description":"HTTP status code.","minimum":429,"maximum":429},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem.","example":"A request cannot be executed because the user has sent too many requests within a certain period of time"},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}}},"components/schemas/AmlHitDecision":{"id":"components/schemas/AmlHitDecision","kind":"json-schema","title":"AmlHitDecision","data":{"type":"object","description":"Decision for one hit of an AML check.","required":["index","decision"],"properties":{"index":{"type":"integer","minimum":0,"description":"Zero-based position of the hit in the `hits` array of the AML check.","example":0},"decision":{"type":"string","description":"Outcome of the review of the hit.","enum":["confirmed-match","false-positive"],"x-enumDescriptions":{"confirmed-match":"The hit is the customer.","false-positive":"The hit is not the customer."},"example":"false-positive"}}}},"components/schemas/AmlCheckReview":{"id":"components/schemas/AmlCheckReview","kind":"json-schema","title":"AmlCheckReview","data":{"type":"object","description":"AML check review.\nProvide a status, a list of hit decisions, or both.\nThe status of the AML check is calculated from the hit decisions.","anyOf":[{"required":["status"]},{"required":["hits"]}],"properties":{"status":{"type":"string","description":"Decision applied to every hit that has no decision yet.\nIf `hits` is also provided, those decisions apply first.\nIf every hit already has a decision and this value differs from the status those decisions give, it replaces the decision on every hit that is not listed in `hits`.\nIf it equals that status, the decided hits are left as they are.\nIf the AML check has no hits, this value becomes the status of the AML check.","enum":["confirmed-match","false-positive"]},"hits":{"type":"array","description":"Decisions for individual hits.","minItems":1,"items":{"$ref":"#/components/schemas/AmlHitDecision"}}}}},"components/schemas/AmlConfidence":{"id":"components/schemas/AmlConfidence","kind":"json-schema","title":"AmlConfidence","data":{"type":["string","null"],"description":"Degree of confidence to assign.","enum":["weak","medium","strong","very-strong"]}},"components/schemas/AmlCompoundConfidence":{"id":"components/schemas/AmlCompoundConfidence","kind":"json-schema","title":"AmlCompoundConfidence","data":{"type":"object","properties":{"addressMatch":{"type":"object","description":"Match for the customer's city or region, or both, is found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"addressMismatch":{"type":"object","description":"Match for the customer's city or region, or both, is not found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"noAddress":{"type":"object","description":"No city and no region is available to match against.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}}}}},"components/schemas/AmlPriority":{"id":"components/schemas/AmlPriority","kind":"json-schema","title":"AmlPriority","data":{"type":["string","null"],"description":"Priority level of matched AML customer information.","default":null,"enum":["p0","p1","p2","p3"]}},"components/schemas/AmlSettings":{"id":"components/schemas/AmlSettings","kind":"json-schema","title":"AmlSettings","data":{"type":"object","description":"Settings for AML checking.","properties":{"confidence":{"type":"object","description":"Confidence level settings for AML matches.","properties":{"dob":{"type":"object","description":"Confidence level settings for AML matches based on date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's date of birth and name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's date of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"noDob":{"type":"object","description":"Confidence level settings for AML matches based on a missing date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Fuzzy, or inexact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"weakMatch":{"description":"Weak match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"yob":{"type":"object","description":"Confidence level settings for AML matches based on year of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's year of birth and exact name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"inexactYob":{"type":"object","description":"Confidence level settings for AML matches based on a near match of year of birth.","properties":{"exactMatch":{"description":"Near match of the customer's year of birth and an exact name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Near match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}}}},"priority":{"type":"object","description":"Priority level settings for AML source matches. \\\n`p0` is critical priority level, and `p3` is low priority level.","properties":{"pep":{"type":"object","description":"Priorities for the `pep` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"enforcements":{"type":"object","description":"Priorities for the `enforcement` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"stateOwnedEnterprise":{"type":"object","description":"Priorities for the `state-owned-enterprise` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"sanctions":{"type":"object","description":"Priorities for the `sanctions` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"adverseMedia":{"type":"object","description":"Priorities for the `adverse-media` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}}}}}}},"components/schemas/Attachment":{"id":"components/schemas/Attachment","kind":"json-schema","title":"Attachment","data":{"type":"object","required":["fileId","relatedId","relatedType"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the attachment.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"},"fileId":{"type":"string","description":"ID of the linked file object.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"relatedType":{"description":"Linked object type.","type":"string","enum":["credit-memo-timeline-comment","customer","customer-timeline-comment","dispute","gateway-timeline-comment","invoice","invoice-timeline-comment","order-timeline-comment","organization","payment","payout-request-timeline-comment","plan","product","quote-timeline-comment","subscription","transaction","transaction-timeline-comment"]},"relatedId":{"description":"ID of the linked object.","type":"string"},"name":{"description":"Name of original attachment.","type":"string"},"description":{"description":"Description of the attachment.","type":"string"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","file"]}}}}}}},"components/schemas/Conflict":{"id":"components/schemas/Conflict","kind":"json-schema","title":"Conflict","data":{"allOf":[{"title":"Conflict"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":409,"maximum":409}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/AuthenticationOptions":{"id":"components/schemas/AuthenticationOptions","kind":"json-schema","title":"AuthenticationOptions","data":{"type":"object","properties":{"passwordPattern":{"description":"Allowed password pattern.","type":["string","null"],"example":"/^[0-9]+$/"},"credentialTtl":{"description":"Default credential lifetime, in seconds.","type":"integer"},"authTokenTtl":{"description":"Default auth-token lifetime, in seconds.","type":"integer"},"resetTokenTtl":{"description":"Default reset-token lifetime, in seconds.","type":"integer"},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange a token.","type":"boolean"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerId":{"id":"components/schemas/CustomerId","kind":"json-schema","title":"CustomerId","data":{"type":"string","description":"ID of the customer resource.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","x-basic":true}},"components/schemas/AuthenticationTokenResponse":{"id":"components/schemas/AuthenticationTokenResponse","kind":"json-schema","title":"Authentication token","data":{"type":"object","title":"Authentication token","required":["username"],"properties":{"username":{"description":"Username of the customer who is associated with the authentication token.","type":"string"},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationTokenPasswordMode":{"id":"components/schemas/AuthenticationTokenPasswordMode","kind":"json-schema","title":"AuthenticationTokenPasswordMode","data":{"type":"object","required":["username","password"],"properties":{"username":{"description":"Username associated with the authentication token.","type":"string"},"password":{"description":"Password associated with the authentication token.","type":"string","format":"password","writeOnly":true},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["password"]},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationTokenPasswordlessMode":{"id":"components/schemas/AuthenticationTokenPasswordlessMode","kind":"json-schema","title":"AuthenticationTokenPasswordlessMode","data":{"type":"object","required":["customerId"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["passwordless"]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AuthenticationToken":{"id":"components/schemas/AuthenticationToken","kind":"json-schema","title":"AuthenticationToken","data":{"type":"object","discriminator":{"propertyName":"mode","mapping":{"password":"#/components/schemas/AuthenticationTokenPasswordMode","passwordless":"#/components/schemas/AuthenticationTokenPasswordlessMode"}},"oneOf":[{"$ref":"#/components/schemas/AuthenticationTokenPasswordMode"},{"$ref":"#/components/schemas/AuthenticationTokenPasswordlessMode"}]}},"components/schemas/ApiKeyScope":{"id":"components/schemas/ApiKeyScope","kind":"json-schema","title":"ApiKeyScope","data":{"type":"object","properties":{"organizationId":{"description":"Array of account IDs.","type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"productId":{"description":"Array of product IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"planId":{"description":"Array of plan IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}},"customFieldName":{"description":"Array of custom field names.","type":"array","items":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}},"example":{"organizationId":["organizationId-id-1"]}}},"components/schemas/AclPermissions":{"id":"components/schemas/AclPermissions","kind":"json-schema","title":"AclPermissions","data":{"type":"array","items":{"type":"string","format":"operationId"},"example":["PostFile","StorefrontGetAccount","StorefrontGetWebsite","StorefrontGetKycDocument","StorefrontPostKycDocument"]}},"components/schemas/Acl":{"id":"components/schemas/Acl","kind":"json-schema","title":"Acl","data":{"type":"array","description":"Access Control List (ACL) information.","items":{"type":"object","required":["scope","permissions"],"properties":{"scope":{"description":"Scope of the API key.","$ref":"#/components/schemas/ApiKeyScope"},"permissions":{"description":"If you are creating a restricted API key, use this field to specify individual permissions.\nUse the wildcard character `*` to provide full access.","$ref":"#/components/schemas/AclPermissions"}}}}},"components/schemas/CustomerJWT":{"id":"components/schemas/CustomerJWT","kind":"json-schema","title":"CustomerJWT","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the session.","maxLength":50,"example":"jwt_0YV7DEJX80CDRAKVTV478ZNJDR","readOnly":true},"type":{"description":"Type of session.","type":"string","readOnly":true,"enum":["customer"]},"token":{"description":"Token used for authentication.","type":"string","readOnly":true},"invalidate":{"description":"Specifies if the token must be invalidated after the exchange is performed.","type":"boolean","default":true,"example":true,"writeOnly":true},"oneTimePassword":{"description":"One-time password that is sent by email.\nThis value must contain digits only.","type":"string","pattern":"^[0-9]{6}$","example":"123456","writeOnly":true},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"acl":{"$ref":"#/components/schemas/Acl"},"customClaims":{"type":"object","additionalProperties":true,"example":{"documents":["identity-proof","address-proof"],"redirectUrl":"https://mywebsite.com"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"expiredTime":{"description":"Date and time when the session expires.\nThe default value is one hour after the `createdTime` value.","type":"string","format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["customer"]}}}}}}},"components/schemas/Blocklist":{"id":"components/schemas/Blocklist","kind":"json-schema","title":"Blocklist","data":{"type":"object","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the blocklist.","readOnly":true,"maxLength":50,"example":"blkl_0YV8XTSH9MD578386XQDWSEBNF"},"type":{"description":"Type of blocklist.","type":"string","enum":["payment-card","bank-account","customer-id","email","email-domain","ip-address","country","fingerprint","bin","address"]},"value":{"description":"Value of the blocklist.","type":"string"},"expirationTime":{"description":"Date and time when the blocklist expires.","type":["string","null"],"format":"date-time"},"source":{"description":"Source that triggered the creation of the blocklist.","type":["string","null"],"readOnly":true,"enum":["automated-blocklists","manual-blocklists","risk-score-rules"],"example":"manual-blocklists"},"entityId":{"type":["string","null"],"readOnly":true,"description":"ID of the user, transaction or dispute that triggered the creation of the blocklist.","example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CouponRestrictionDiscountPerRedemption":{"id":"components/schemas/CouponRestrictionDiscountPerRedemption","kind":"json-schema","title":"CouponRestrictionDiscountPerRedemption","data":{"type":"object","description":"Restricts the number of times that the coupon can be applied by one\nredemption. For example, use this restriction to configure a coupon\nthat can only be applied to the first subscription renewal of a\nparticular product.","required":["type","quantity"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["discounts-per-redemption"]},"quantity":{"type":"integer","description":"Permitted number of discounts per redemption."}}}},"components/schemas/CurrencyCode":{"id":"components/schemas/CurrencyCode","kind":"json-schema","title":"CurrencyCode","data":{"type":"string","description":"Currency code in ISO 4217 format.","minLength":3,"maxLength":3,"example":"USD","x-label":"Currency"}},"components/schemas/CouponRestrictionMaximumOrderAmount":{"id":"components/schemas/CouponRestrictionMaximumOrderAmount","kind":"json-schema","title":"CouponRestrictionMaximumOrderAmount","data":{"type":"object","description":"Specifies a maximum order amount for a coupon application.\nFor example, if the restriction amount is $20, \nthe coupon is only applied to invoices with a total amount of $20 or less.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["maximum-order-amount"]},"amount":{"type":"number","format":"double","description":"Maximum order amount that is allowed to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/CouponRestrictionMinimumOrderAmount":{"id":"components/schemas/CouponRestrictionMinimumOrderAmount","kind":"json-schema","title":"CouponRestrictionMinimumOrderAmount","data":{"type":"object","description":"Specifies a minimum order amount for a coupon application. For\nexample, if the restriction amount is $20, the coupon is only\napplied to invoices with a total amount of $20 or more.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["minimum-order-amount"]},"amount":{"type":"number","format":"double","description":"Minimum order quantity that is required to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/CouponRestrictionPaidByTime":{"id":"components/schemas/CouponRestrictionPaidByTime","kind":"json-schema","title":"CouponRestrictionPaidByTime","data":{"type":"object","description":"Specifies a date and time at which a coupon redemption expires if the invoice is not paid.","required":["type","time"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["paid-by-time"]},"time":{"type":"string","format":"date-time","description":"Date and time when a coupon redemption is no longer valid, and the coupon is removed from unpaid invoices if applied.\n\n> **Note:** This date-time cannot be changed."}}}},"components/schemas/CouponRestrictionRestrictToInvoices":{"id":"components/schemas/CouponRestrictionRestrictToInvoices","kind":"json-schema","title":"CouponRestrictionRestrictToInvoices","data":{"type":"object","description":"Restricts a coupon to specific invoices.","required":["type","invoiceIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-invoices"]},"invoiceIds":{"type":"array","description":"Invoice IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/CouponRestrictionRestrictToPlans":{"id":"components/schemas/CouponRestrictionRestrictToPlans","kind":"json-schema","title":"CouponRestrictionRestrictToPlans","data":{"type":"object","description":"Restricts a coupon to specific pricing plans.","required":["type","planIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-plans"]},"planIds":{"type":"array","description":"Plan IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}}},"components/schemas/CouponRestrictionRestrictToProducts":{"id":"components/schemas/CouponRestrictionRestrictToProducts","kind":"json-schema","title":"CouponRestrictionRestrictToProducts","data":{"type":"object","description":"Restricts a coupon to specific products.","required":["type","productIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-products"]},"productIds":{"type":"array","description":"Product IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}}},"components/schemas/CouponRestrictionRestrictToSubscriptions":{"id":"components/schemas/CouponRestrictionRestrictToSubscriptions","kind":"json-schema","title":"CouponRestrictionRestrictToSubscriptions","data":{"type":"object","description":"Restricts a coupon to specific order subscriptions.","required":["type","subscriptionIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-subscriptions"]},"subscriptionIds":{"type":"array","description":"Subscription IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/RedemptionRestriction":{"id":"components/schemas/RedemptionRestriction","kind":"json-schema","title":"RedemptionRestriction","data":{"description":"Redemption restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}]}},"components/schemas/CouponRedemption":{"id":"components/schemas/CouponRedemption","kind":"json-schema","title":"CouponRedemption","data":{"type":"object","description":"Coupon redemption log.","properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"cpn_rdm_01HXC82EEPW6YD3MPWJY7151VR"},"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"additionalRestrictions":{"description":"Additional coupon redemption restrictions.","type":"array","items":{"$ref":"#/components/schemas/RedemptionRestriction"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"canceledTime":{"description":"Date and time when the coupon is canceled.","readOnly":true,"x-sortable":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","coupon"]}}}}}}},"components/schemas/DiscountContext":{"id":"components/schemas/DiscountContext","kind":"json-schema","title":"DiscountContext","data":{"type":"string","description":"Context in which the discount applies.","default":"items","x-label":"Context","x-sortable":true,"x-basic":true,"x-enumDescriptions":{"items":"items (less discounts)","shipping":"shipping (less discounts)","items-and-shipping":"items and shipping (less discounts)"},"enum":["items","shipping","items-and-shipping"]}},"components/schemas/DiscountFixed":{"id":"components/schemas/DiscountFixed","kind":"json-schema","title":"DiscountFixed","data":{"type":"object","description":"Coupon fixed amount discount.","required":["amount","currency","type"],"properties":{"amount":{"description":"Amount of discount.","type":"number","format":"double","minimum":0.01},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"type":"string","enum":["fixed"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"components/schemas/DiscountPercent":{"id":"components/schemas/DiscountPercent","kind":"json-schema","title":"DiscountPercent","data":{"type":"object","description":"Coupon percent discount.","required":["value","type"],"properties":{"value":{"description":"Percentage of discount.","type":"number","format":"double","minimum":0.01,"maximum":100},"type":{"type":"string","enum":["percent"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"components/schemas/Discount":{"id":"components/schemas/Discount","kind":"json-schema","title":"Discount","data":{"type":"object","description":"Coupon discount.","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/DiscountFixed","percent":"#/components/schemas/DiscountPercent"}},"oneOf":[{"$ref":"#/components/schemas/DiscountFixed"},{"$ref":"#/components/schemas/DiscountPercent"}]}},"components/schemas/CouponRestrictionRedemptionsPerCustomer":{"id":"components/schemas/CouponRestrictionRedemptionsPerCustomer","kind":"json-schema","title":"CouponRestrictionRedemptionsPerCustomer","data":{"type":"object","description":"Restricts the number of times that a coupon can be redeemed by one\ncustomer. For example, use this restriction to limit the number of\nredemptions to one per customer.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["redemptions-per-customer"]},"quantity":{"type":"integer","description":"Permitted number of redemptions per customer."}}}},"components/schemas/CouponRestrictionRestrictToBxgy":{"id":"components/schemas/CouponRestrictionRestrictToBxgy","kind":"json-schema","title":"CouponRestrictionRestrictToBxgy","data":{"type":"object","description":"Provides \"buy X get Y\" promotions.\nThese promotions incentivize new customers to buy and also reward existing customers.\nThis restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\nFor example, if a customer buys two or more books, they get one free bookmark.","required":["type","buy","get"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-bxgy"]},"buy":{"type":"array","description":"One or more plan and quantity definitions that must be purchased to receive all plans and quantities that are defined in the `get` instruction.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item being purchased.\nThis value must be unique within the `buy.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that must be purchased for this restriction to apply."}}}},"get":{"type":"array","description":"One or more plan and quantity definitions that are added to a purchase if all definitions in the `buy` condition are met.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item that is to be received by the customer.\nThis value must be unique within the `get.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that is to be received by the customer."}}}}}}},"components/schemas/CouponRestrictionRestrictToCountries":{"id":"components/schemas/CouponRestrictionRestrictToCountries","kind":"json-schema","title":"CouponRestrictionRestrictToCountries","data":{"type":"object","description":"Restricts a coupon for use in specific countries.","required":["type","countries"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-countries"]},"countries":{"type":"array","description":"Countries where the coupon can be applied, in ISO Alpha-2 code format.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","items":{"type":"string","pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CouponRestrictionRestrictToCustomerTags":{"id":"components/schemas/CouponRestrictionRestrictToCustomerTags","kind":"json-schema","title":"CouponRestrictionRestrictToCustomerTags","data":{"type":"object","description":"Restricts a coupon to customers with specific tags.","required":["type","tags","requireAllTags"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customer-tags"]},"tags":{"type":"array","description":"Customer tags on which a coupon can be applied.","items":{"type":"string"}},"requireAllTags":{"type":"boolean","description":"Specifies if the customer must have all listed tags,\nor at least one of the listed tags, to redeem a coupon.","enum":[true,false],"x-enumDescriptions":{"true":"Customer must have all listed tags to redeem a coupon.","false":"Customer must have at least one of the listed tags to redeem a coupon."}}}}},"components/schemas/CouponRestrictionRestrictToCustomers":{"id":"components/schemas/CouponRestrictionRestrictToCustomers","kind":"json-schema","title":"CouponRestrictionRestrictToCustomers","data":{"type":"object","description":"Restricts a coupon to specific customers.","required":["type","customerIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customers"]},"customerIds":{"type":"array","description":"Customer IDs on which a coupon can be applied.","items":{"type":"string"}}}}},"components/schemas/CouponRestrictionExclusiveApplication":{"id":"components/schemas/CouponRestrictionExclusiveApplication","kind":"json-schema","title":"CouponRestrictionExclusiveApplication","data":{"type":"object","description":"Restricts a coupon so that it cannot be used in combination with other coupons.\nIf more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined.\nIf a coupon with this restriction is applied, all other coupons are removed.","required":["type"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-exclusive-application"]}}}},"components/schemas/CouponRestrictionTotalRedemptions":{"id":"components/schemas/CouponRestrictionTotalRedemptions","kind":"json-schema","title":"CouponRestrictionTotalRedemptions","data":{"type":"object","description":"Restricts the number of times a coupon can be redeemed by different customers.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["total-redemptions"]},"quantity":{"type":"integer","description":"Permitted total number of redemptions."}}}},"components/schemas/CouponRestriction":{"id":"components/schemas/CouponRestriction","kind":"json-schema","title":"CouponRestriction","data":{"description":"Coupon restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","redemptions-per-customer":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer","restrict-to-bxgy":"#/components/schemas/CouponRestrictionRestrictToBxgy","restrict-to-countries":"#/components/schemas/CouponRestrictionRestrictToCountries","restrict-to-customer-tags":"#/components/schemas/CouponRestrictionRestrictToCustomerTags","restrict-to-customers":"#/components/schemas/CouponRestrictionRestrictToCustomers","restrict-to-exclusive-application":"#/components/schemas/CouponRestrictionExclusiveApplication","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions","total-redemptions":"#/components/schemas/CouponRestrictionTotalRedemptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionExclusiveApplication"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToBxgy"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCountries"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomerTags"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomers"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"},{"$ref":"#/components/schemas/CouponRestrictionTotalRedemptions"}]}},"components/schemas/Coupon":{"id":"components/schemas/Coupon","kind":"json-schema","title":"Coupon","data":{"type":"object","description":"Coupons and discounts.","required":["discount","issuedTime"],"properties":{"id":{"type":"string","description":"ID of the coupon.\nThis value is also known as the coupon redemption code.","readOnly":true,"maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"discount":{"$ref":"#/components/schemas/Discount"},"restrictions":{"description":"Coupon restrictions.\nAll `type` values in this array must be unique.","type":"array","items":{"$ref":"#/components/schemas/CouponRestriction"}},"redemptionsCount":{"type":"integer","description":"Total number of times that a coupon is redeemed.","minimum":0,"readOnly":true},"status":{"type":"string","description":"Specifies the current status of the coupon.","readOnly":true,"enum":["draft","issued","expired"]},"description":{"type":"string","x-basic":true,"description":"Description of the coupon.\nUse this field to provide a description for the invoice discount item.\n\nIf this field is empty,\nthe invoice discount item description uses the related coupon ID,\nin the following format: `Coupon \"COUPON-ID\"`."},"issuedTime":{"description":"Date and time when the coupon is issued.\nThis value may also be described as start time of the coupon.","type":"string","x-label":"Valid from","x-sortable":true,"x-basic":true,"format":"date-time"},"expiredTime":{"description":"Date and time when the coupon expires.","type":["string","null"],"x-label":"Valid until","x-sortable":true,"x-basic":true,"format":"date-time"},"revision":{"description":"Number of times the coupon data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerCredential":{"id":"components/schemas/CustomerCredential","kind":"json-schema","title":"CustomerCredential","data":{"type":"object","required":["username","password","customerId"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":50,"example":"cus_crd_0YV9Y706QGCB39FQD380G1ZHZH"},"username":{"description":"Username associated with the credential.","type":"string"},"password":{"description":"Password associated with the credential.","type":"string","format":"password","writeOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"expiredTime":{"description":"Date and time when the credential expires.","type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/ArrayCustomField":{"id":"components/schemas/ArrayCustomField","kind":"json-schema","title":"ArrayCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nArray of strings with up to 255 characters.\nThe maximum size is 1000 elements.","type":"string","enum":["array"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if the custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"required":{"description":"Specifies if this value is required.\nThis value can be combined with any parameter and is available for custom fields of any type.","type":"boolean"},"default":{"description":"Default value.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BooleanCustomField":{"id":"components/schemas/BooleanCustomField","kind":"json-schema","title":"BooleanCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nSpecifies a `true` or `false` value.","type":"string","enum":["boolean"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"boolean"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DateCustomField":{"id":"components/schemas/DateCustomField","kind":"json-schema","title":"DateCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [full-date](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DD).","type":"string","enum":["date"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DateTimeCustomField":{"id":"components/schemas/DateTimeCustomField","kind":"json-schema","title":"DateTimeCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [date-time](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DDTHH:MM:SSZ).","type":"string","enum":["datetime"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date-time"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/IntegerCustomField":{"id":"components/schemas/IntegerCustomField","kind":"json-schema","title":"IntegerCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nCardinal value of between `-2^31` and `2^31-1`.","type":"string","enum":["integer"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed integer.\nThis value can be combined with the `maximum` parameter.","type":"integer"},"maximum":{"description":"Maximum allowed integer.\nThis value can be combined with the `minimum` parameter.","type":"integer"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"integer"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/NumberCustomField":{"id":"components/schemas/NumberCustomField","kind":"json-schema","title":"NumberCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nFloat value. This field also accepts cardinal values which are interpreted as float.","type":"string","enum":["number"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed number.\nThis value can be combined with the `maximum` parameter.","type":"number","format":"double"},"maximum":{"description":"Maximum allowed number.\nThis value can be combined with the `minimum` parameter.","type":"number","format":"double"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"number","format":"double"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/StringCustomField":{"id":"components/schemas/StringCustomField","kind":"json-schema","title":"StringCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nRegular string of up to 255 characters.","type":"string","enum":["string"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"maxLength":{"description":"Maximum allowed string length .\nA maximum length of 4000 characters can be configured.\nBy default, this value is set to 255.","type":"integer"},"pattern":{"description":"Allowed regular expression of a string.","type":"string","example":"/^[0-9]+$/"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/MonetaryCustomField":{"id":"components/schemas/MonetaryCustomField","kind":"json-schema","title":"MonetaryCustomField","data":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nA map of 3-letter currency, code, and amount.\nExample: `{\"currency\": \"EUR\", \"amount\": 25.30}`.","type":"string","enum":["monetary"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"object","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","format":"double"}}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomField":{"id":"components/schemas/CustomField","kind":"json-schema","title":"CustomField","data":{"description":"Separate custom field schema.","type":"object","discriminator":{"propertyName":"type","mapping":{"array":"#/components/schemas/ArrayCustomField","boolean":"#/components/schemas/BooleanCustomField","date":"#/components/schemas/DateCustomField","datetime":"#/components/schemas/DateTimeCustomField","integer":"#/components/schemas/IntegerCustomField","number":"#/components/schemas/NumberCustomField","string":"#/components/schemas/StringCustomField","monetary":"#/components/schemas/MonetaryCustomField"}},"oneOf":[{"$ref":"#/components/schemas/ArrayCustomField"},{"$ref":"#/components/schemas/BooleanCustomField"},{"$ref":"#/components/schemas/DateCustomField"},{"$ref":"#/components/schemas/DateTimeCustomField"},{"$ref":"#/components/schemas/IntegerCustomField"},{"$ref":"#/components/schemas/NumberCustomField"},{"$ref":"#/components/schemas/StringCustomField"},{"$ref":"#/components/schemas/MonetaryCustomField"}]}},"components/schemas/BlankProblem":{"id":"components/schemas/BlankProblem","kind":"json-schema","title":"BlankProblem","data":{"description":"Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].","type":"object","minProperties":1,"additionalProperties":true,"properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":599},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nIt SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."}}}},"components/schemas/DocumentedProblem":{"id":"components/schemas/DocumentedProblem","kind":"json-schema","title":"DocumentedProblem","data":{"type":"object","allOf":[{"properties":{"type":{"type":"string","description":"URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the problem type.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"https://www.rebilly.com/docs/"}}},{"$ref":"#/components/schemas/BlankProblem"}]}},"components/schemas/DetailedProblem":{"id":"components/schemas/DetailedProblem","kind":"json-schema","title":"DetailedProblem","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/BlankProblem"},{"properties":{"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."}}}]}},"components/schemas/Problem":{"id":"components/schemas/Problem","kind":"json-schema","title":"Problem","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/DocumentedProblem"},{"$ref":"#/components/schemas/DetailedProblem"}]}},"components/schemas/Error":{"id":"components/schemas/Error","kind":"json-schema","title":"Error","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"error":{"deprecated":true,"type":"string"}}}]}},"components/schemas/WebsiteId":{"id":"components/schemas/WebsiteId","kind":"json-schema","title":"WebsiteId","data":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"}},"components/schemas/PaymentMethod":{"id":"components/schemas/PaymentMethod","kind":"json-schema","title":"PaymentMethod","data":{"type":"string","description":"Payment method.","enum":["payment-card","ach","cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Airpay","Alfa-click","Alipay","AmazonPay","Apple Pay","AstroPay Card","AstroPay-GO","BankSEND","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Blik","Boleto","Boleto-2","Boleto-3","cash-deposit","CASHlib","CashToCode","CCAvenue","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Conekta-spei","cryptocurrency","Cupon-de-pagos","CyberSource","Dimoco-pay-smart","Directa24Card","domestic-cards","Efecty","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","EPS","ePay.bg","Ethereum","e-wallet","ezyEFT","eZeeWallet","FasterPay","Flexepin","Giropay","Google Pay","Gpaysafe","iCashOne Voucher","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","InstantPayments","instant-bank-transfer","Interac-online","Interac-eTransfer","Interac-express-connect","Interac","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","Litecoin","loonie","LPG-online","LPG-payment-card","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Mollie","Multibanco","Bancontact","Bancontact-mobile","MTS","MuchBetter","MuchBetterVoucher","MyFatoorah","Neosurf","Netbanking","Neteller","Nordea-Solo","NordikCoin","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-lottery","Pagsmile-deposit-express","PayCash","Payco","Payeer","PaymentAsia-crypto","Paysafecard","PayTabs","Pay4Fun","Paynote","Paymero","Paymero-QR","PayU","PayULatam","Perfect-money","Piastrix","PIX","PIX-Automatico","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","rebilly-hosted-payment-form","Resurs","reverse-withdrawal","Ripple","SafetyPay","Samsung Pay","SEPA","Siirto","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","SPEI","swift-dbt","Tele2","Telr","Terminaly-RF","Tether","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","TWINT","UniCrypt","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]}},"components/schemas/ResourceCustomFields":{"id":"components/schemas/ResourceCustomFields","kind":"json-schema","title":"ResourceCustomFields","data":{"description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nFor more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).","type":"object","default":{},"example":{"foo":"bar"}}},"components/schemas/ContactPhoneNumbers":{"id":"components/schemas/ContactPhoneNumbers","kind":"json-schema","title":"ContactPhoneNumbers","data":{"description":"List of phone numbers associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Phone number label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Phone number value.","type":"string","maxLength":50,"example":"1-512-777-0269"},"primary":{"description":"Specifies if the phone number is the contact's primary phone number.","type":"boolean","example":true}}}}},"components/schemas/ContactEmails":{"id":"components/schemas/ContactEmails","kind":"json-schema","title":"ContactEmails","data":{"description":"List of email addresses associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Email label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Email address value.","type":"string","format":"email","maxLength":255,"example":"rebilly@example.com"},"primary":{"description":"Specifies if the email address is the contact's primary email address.","type":"boolean","example":true}}}}},"components/schemas/ContactObject":{"id":"components/schemas/ContactObject","kind":"json-schema","title":"ContactObject","data":{"type":"object","description":"Contact's information.","properties":{"firstName":{"description":"Contact's first name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Benjamin"},"lastName":{"description":"Contact's last name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Franklin"},"organization":{"description":"Contact's organization.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"Rebilly"},"address":{"description":"First line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Contact's city of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Contact's region of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"description":"Contact's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","maxLength":2,"example":"GB"},"postalCode":{"description":"Contact's postal code.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"dob":{"description":"Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.","type":["string","null"],"format":"date","example":"1980-04-01"},"jobTitle":{"description":"Contact's job title.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"CEO"},"hash":{"description":"Hash value for the contact.\nUse this value to compare contacts for identical attribute values.","type":"string","maxLength":40,"example":"056ae6d97c788b9e98b049ebafd7b229bf852221","readOnly":true}}}},"components/schemas/Company":{"id":"components/schemas/Company","kind":"json-schema","title":"Company","data":{"type":["object","null"],"description":"Company information that is associated with the customer's primary email address domain.\n\nThis is a paid feature, to enable it [contact Rebilly](https://www.rebilly.com/support/).","readOnly":true,"properties":{"name":{"type":["string","null"],"description":"Name of the company."},"domain":{"type":"string","description":"Website domain of the company."},"yearFounded":{"type":["number","null"],"description":"Founding year of the company.","format":"integer"},"industry":{"type":["string","null"],"description":"Industry the company is associated with."},"employeesCount":{"type":["number","null"],"description":"Number of employees in the company.","format":"integer"},"country":{"type":["string","null"],"description":"Country where the company is based."},"locality":{"type":["string","null"],"description":"Locality or region where the company is based."},"_links":{"type":"array","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["linkedin"]}}}}}}},"components/schemas/CustomerAverageValue":{"id":"components/schemas/CustomerAverageValue","kind":"json-schema","title":"CustomerAverageValue","data":{"type":"object","readOnly":true,"description":"Average customer value.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Average Value","x-sortable":true,"x-basic":true,"description":"Average amount of approved payments in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Average approved payment amount in USD.","type":"number","format":"double"}}}},"components/schemas/CustomerLifetimeRevenue":{"id":"components/schemas/CustomerLifetimeRevenue","kind":"json-schema","title":"CustomerLifetimeRevenue","data":{"type":"object","readOnly":true,"description":"Customer's lifetime revenue.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Lifetime Revenue","x-sortable":true,"x-basic":true,"description":"Revenue amount in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Revenue amount in USD.","type":"number","format":"double"}}}},"components/schemas/OrganizationId":{"id":"components/schemas/OrganizationId","kind":"json-schema","title":"OrganizationId","data":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}},"components/schemas/TaxNumber":{"id":"components/schemas/TaxNumber","kind":"json-schema","title":"TaxNumber","data":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"isDefault":{"type":"boolean","description":"Determines if the tax number is selected as default to display on invoices.","example":true},"isValid":{"type":["boolean","null"],"description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation).","example":true,"readOnly":true}}}},"components/schemas/LeadSourceData":{"id":"components/schemas/LeadSourceData","kind":"json-schema","title":"LeadSourceData","data":{"type":"object","description":"Lead source information.","properties":{"medium":{"description":"Category of the lead source traffic.\nFor example, the medium could be organic search, Google ads, Display ads, and so on.","type":["string","null"],"maxLength":512},"source":{"description":"Domain, platform, or channel from which the lead source originates.","type":["string","null"],"maxLength":512},"campaign":{"description":"Campaign name of the lead source.","type":["string","null"],"maxLength":512},"term":{"description":"Term associated with a lead source.","type":["string","null"],"maxLength":512},"content":{"description":"Content contained in the lead source content.\nFor example, content could be graphics, video, and so on.","type":["string","null"],"maxLength":512},"affiliate":{"description":"Individual or entity that is affiliated with the lead source.","type":["string","null"],"maxLength":512},"subAffiliate":{"description":"Individual or entity that is associated with a lead source affiliate.\nIn other products, this field may also be referred to as sub ID or click ID in some.","type":["string","null"],"maxLength":512},"salesAgent":{"description":"Name of the sales agent associated with the lead source.","type":["string","null"],"maxLength":512},"clickId":{"description":"ID of the lead source click.\nThis value is passed in the ad click URL for tracking and campaign attribution.","type":["string","null"],"maxLength":512},"path":{"description":"URL from which the lead source originates.","type":["string","null"],"maxLength":512},"referrer":{"description":"Lead source [`referrer` URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer).","type":["string","null"],"format":"uri","maxLength":2083,"example":"https://www.rebilly.com"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}}},"components/schemas/Customer":{"id":"components/schemas/Customer","kind":"json-schema","title":"Customer","data":{"type":"object","description":"Customer information.","properties":{"id":{"type":"string","description":"ID of the customer.","readOnly":true,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","maxLength":50},"email":{"description":"Customer's email address.","type":["string","null"],"format":"email","readOnly":true,"x-sortable":true,"x-basic":true},"firstName":{"description":"Customer's first name.","type":["string","null"],"x-basic":true,"readOnly":true},"lastName":{"description":"Customer's last name.","type":["string","null"],"x-sortable":true,"x-basic":true,"readOnly":true},"websiteId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"paymentToken":{"type":"string","writeOnly":true,"description":"Write-only payment token.\nIf supplied, the token is converted into a payment instrument, and its ID is assigned to `defaultPaymentInstrumentId` value.\nThe value of this property overrides the `defaultPaymentInstrumentId` if both are supplied.\nThis token may only be used once before it expires."},"defaultPaymentInstrument":{"type":["object","null"],"description":"Default payment instrument of the customer.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","readOnly":true,"required":["method","paymentInstrumentId"],"properties":{"method":{"$ref":"#/components/schemas/PaymentMethod"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"defaultPaymentInstrumentId":{"type":["string","null"],"description":"ID of the customer's default payment instrument.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","writeOnly":true},"preferredPayoutInstrumentId":{"type":["string","null"],"description":"ID of the customer's preferred payment instrument for payouts.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"primaryAddress":{"description":"Customer's primary address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/Company"},"averageValue":{"$ref":"#/components/schemas/CustomerAverageValue"},"paymentCount":{"x-label":"Payments","x-sortable":true,"x-basic":true,"description":"Total number of approved payments made by the customer.\nPayments are the result of `sale` or `capture` transactions.","readOnly":true,"type":"integer"},"lastPaymentTime":{"x-label":"Last Payment","x-sortable":true,"x-basic":true,"description":"Date and time when the customer made their last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true},"lifetimeRevenue":{"$ref":"#/components/schemas/CustomerLifetimeRevenue"},"invoiceCount":{"x-sortable":true,"description":"Total number of invoices issued to the customer.\nThis value is auto-incrementing.\nIf this value is `0`, the record relates to a lead.\nA lead is a customer who has not made a payment yet.\nIf this value is greater than or equal to `1` the record relates to a customer.","readOnly":true,"type":"integer"},"tags":{"description":"List of customer tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"revision":{"description":"Number of times the customer's data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"hasFulfilledKyc":{"description":"Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document.","type":"boolean","readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"locale":{"type":["string","null"],"description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR","default":null},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the customer.","items":{"$ref":"#/components/schemas/TaxNumber"}},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}],"writeOnly":true},"personId":{"type":["string","null"],"description":"ID of the associated person.","maxLength":50,"example":"prs_0YV7DDSDD1C8DA64KHH2W33CPF"},"notificationEmails":{"type":"array","description":"Email addresses for notification delivery in event-based email notifications.\nWhen you configure event-based email notifications, you can send to these addresses, the customer's primary email address, or another email address you specify.\nFor more information, see [Manage notification emails](https://www.rebilly.com/docs/data-tables/manage-customer-information#manage-notification-emails).","items":{"type":"string","format":"email"}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","defaultPaymentInstrument","leadSource","website"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested using the `expand` query string parameter.","readOnly":true,"properties":{"defaultPaymentInstrument":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"}}}}}},"components/schemas/CustomerTimelineCustomEvent":{"id":"components/schemas/CustomerTimelineCustomEvent","kind":"json-schema","title":"CustomerTimelineCustomEvent","data":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"name":{"description":"Name of the customer timeline custom event type.\nThis value must not conflict with any system event name.","type":"string","minLength":1,"maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/LeadSource":{"id":"components/schemas/LeadSource","kind":"json-schema","title":"LeadSource","data":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"},{"type":"object","properties":{"original":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}]}}}]}},"components/schemas/RedemptionCancelTimelineAction":{"id":"components/schemas/RedemptionCancelTimelineAction","kind":"json-schema","title":"RedemptionCancelTimelineAction","data":{"description":"Cancel redemption.","type":"object","readOnly":true,"properties":{"action":{"type":"string","enum":["redemption-cancel"]},"redemptionId":{"$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/ResendEmailTimelineAction":{"id":"components/schemas/ResendEmailTimelineAction","kind":"json-schema","title":"ResendEmailTimelineAction","data":{"type":"object","description":"Resend email action.","readOnly":true,"properties":{"action":{"type":"string","enum":["resend-email"]},"messageId":{"$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/RulesetRestoreTimelineAction":{"id":"components/schemas/RulesetRestoreTimelineAction","kind":"json-schema","title":"RulesetRestoreTimelineAction","data":{"type":"object","description":"Restore ruleset version.","readOnly":true,"properties":{"action":{"type":"string","enum":["ruleset-restore"]},"version":{"type":"integer","description":"Version of the ruleset to restore."}}}},"components/schemas/TimelineAction":{"id":"components/schemas/TimelineAction","kind":"json-schema","title":"TimelineAction","data":{"type":"object","discriminator":{"propertyName":"action","mapping":{"redemption-cancel":"#/components/schemas/RedemptionCancelTimelineAction","resend-email":"#/components/schemas/ResendEmailTimelineAction","ruleset-restore":"#/components/schemas/RulesetRestoreTimelineAction"}},"oneOf":[{"$ref":"#/components/schemas/RedemptionCancelTimelineAction"},{"$ref":"#/components/schemas/ResendEmailTimelineAction"},{"$ref":"#/components/schemas/RulesetRestoreTimelineAction"}]}},"components/schemas/TimelineTable":{"id":"components/schemas/TimelineTable","kind":"json-schema","title":"TimelineTable","data":{"type":"object","description":"Additional timeline message information.","discriminator":{"propertyName":"type","mapping":{"three-columns":"#/components/schemas/ThreeColumnsTimelineTable","two-columns":"#/components/schemas/TwoColumnsTimelineTable","one-column":"#/components/schemas/OneColumnTimelineTable","list":"#/components/schemas/ListTimelineTable"}},"properties":{"type":{"type":"string","enum":["list","one-columns","two-columns","three-columns"]},"title":{"type":"string","description":"Data table title."},"footer":{"type":"string","description":"Data table footer."}}}},"components/schemas/ThreeColumnsTimelineTable":{"id":"components/schemas/ThreeColumnsTimelineTable","kind":"json-schema","title":"ThreeColumnsTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"previousValue":{"type":["string","integer","number","boolean"]},"newValue":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Descriptor","previousValue":"test.com","newValue":"new-test.com"}}}}}]}},"components/schemas/TwoColumnsTimelineTable":{"id":"components/schemas/TwoColumnsTimelineTable","kind":"json-schema","title":"TwoColumnsTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]}},"components/schemas/OneColumnTimelineTable":{"id":"components/schemas/OneColumnTimelineTable","kind":"json-schema","title":"OneColumnTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]}},"components/schemas/ListTimelineTable":{"id":"components/schemas/ListTimelineTable","kind":"json-schema","title":"ListTimelineTable","data":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"string"}}}}]}},"components/schemas/TimelineExtraData":{"id":"components/schemas/TimelineExtraData","kind":"json-schema","title":"TimelineExtraData","data":{"type":"object","description":"Additional data.","readOnly":true,"properties":{"actions":{"description":"Actions available for a timeline message.\nIf no actions are available, this field is empty.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineAction"}},"tables":{"description":"Table data that is attached to the timeline message.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineTable"}},"author":{"type":"object","description":"Author of the timeline message.","properties":{"userFullName":{"description":"Full name of the author.","type":"string"},"userId":{"description":"ID of the author.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"}}},"mentions":{"description":"User mentions, or tags, in a timeline.","type":"object","additionalProperties":{"type":"string"},"example":{"@test@mail.com":"userId-1"}},"links":{"description":"Links that are attached to a timeline message.","type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","enum":["kyc-document","invoice","subscription","transaction","email-message","dispute","coupon","external","payout-request-batch"]},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"placeholder":{"type":"string","example":"KYC document"},"externalUrl":{"type":"string","example":"http://example.com"}}}}}}},"components/schemas/ServerTimestamp":{"id":"components/schemas/ServerTimestamp","kind":"json-schema","title":"ServerTimestamp","data":{"type":"string","description":"Read-only timestamp in ISO 8601 date-time format.","format":"date-time","readOnly":true}},"components/schemas/CustomerTimeline":{"id":"components/schemas/CustomerTimeline","kind":"json-schema","title":"CustomerTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","enum":["account-password-reset-requested","account-verification-requested","aml-list-was-possibly-matched","deposit-request-completed","deposit-request-created","deposit-request-expired","deposit-request-started","coupon-applied","coupon-redeemed","coupon-redemption-canceled","custom-event","custom-event-processed","custom-fields-changed","customer-bank-account-blocked","customer-blocked","customer-comment-created","customer-created","customer-merged","customer-payment-card-blocked","customer-requested-otp","customer-tagged","customer-untagged","default-payment-instrument-changed","email-message-sent","experian-check-performed","invoice-abandoned","invoice-created","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-revenue-recognized","invoice-voided","kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-fulfilled","lead-source-changed","order-activated","order-canceled","order-churned","order-completed","order-created","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-paid-early","order-reactivated","order-renewed","order-trial-ended","order-upgraded","payment-card-expiration-was-modified","payment-card-expired","payment-instrument-created","payment-instrument-deactivated","primary-address-changed","quickbooks-customer-created","quickbooks-customer-task-failed","quote-canceled","quote-created","quote-expired","quote-issued","quote-order-attached","quote-recalled","quote-rejected","quote-updated","refund-was-reflected-in-invoices","subscription-pause-created","subscription-pause-revoked","subscription-paused","subscription-resumed","subscription-trial-end-changed","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-voided","transaction-waiting-gateway","wallet-admin-credited","wallet-admin-debited"]},"customEventType":{"description":"Timeline custom event type.\nUsed with `custom-event` type.\nThis value must be defined using the Create customer timeline custom event type operation.","type":["string","null"],"minLength":1,"maxLength":255},"customData":{"description":"Timeline custom event data.\nUsed with `custom-event` type.\nTransforms to `extraData` two-column table in response.","type":"object","writeOnly":true,"example":{"customAttribute":"customValue","otherAttribute":"otherValue"}},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Detailed message description.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CustomerCreditBalance":{"id":"components/schemas/CustomerCreditBalance","kind":"json-schema","title":"CustomerCreditBalance","data":{"type":"object","required":["balances"],"properties":{"balances":{"description":"Customer credit balances grouped by currency.","readOnly":true,"type":"array","items":{"type":"object","required":["currency","unallocatedAmount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"unallocatedAmount":{"description":"Sum of unallocated credit memo amounts for the currency.","readOnly":true,"type":"number","format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}},"components/schemas/Dispute":{"id":"components/schemas/Dispute","kind":"json-schema","title":"Dispute","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the dispute.","readOnly":true,"maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"customerId":{"description":"ID of the customer who is disputing a transaction.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"transactionId":{"description":"ID of the disputed transaction.","type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"]},"caseId":{"description":"Case ID of the dispute.","type":["string","null"]},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":["string","null"],"maxLength":255},"reasonDescription":{"description":"Description of the reason for the dispute.","type":["string","null"],"maxLength":512,"readOnly":true},"category":{"description":"Category of dispute.","type":"string","readOnly":true,"enum":["fraud","authorization","processing-errors","consumer-disputes","uncategorized","bank-return"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"},"rawResponse":{"description":"Raw response from the payment gateway that processed the disputed transaction.","type":["string","null"],"readOnly":true},"resolvedTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the dispute is resolved.","readOnly":true},"source":{"description":"Source of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"api","manual","sftp","webhook"]},"revision":{"description":"Number of times the dispute data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","customer","attachments"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"transaction":{"type":"object"},"customer":{"type":"object"}}}}}},"components/schemas/TransactionId":{"id":"components/schemas/TransactionId","kind":"json-schema","title":"TransactionId","data":{"type":"string","description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"}},"components/schemas/File":{"id":"components/schemas/File","kind":"json-schema","title":"File","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the file.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"name":{"description":"Original file name.","type":"string","maxLength":255},"extension":{"description":"File extension.","type":"string"},"description":{"description":"Description of the file.","type":"string","maxLength":255},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"}},"mime":{"description":"MIME type of the file.","type":"string","readOnly":true,"enum":["image/png","image/jpeg","image/gif","image/webp","application/pdf","application/json","application/zip","text/csv"]},"size":{"description":"File size, in bytes.","type":"integer","readOnly":true},"width":{"description":"Width of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"height":{"description":"Height of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"sha1":{"description":"Hash sum of the file.","type":"string","readOnly":true},"exifData":{"description":"Collection of EXIF tags contained in the image metadata.\nThis field is applicable to images only.","type":["object","null"],"readOnly":true,"example":{"FileSize":120,"Software":"GIMP 2.4.5"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","download","signedLink","permalink"]}}}}}}},"components/schemas/FileCreateFromInline":{"id":"components/schemas/FileCreateFromInline","kind":"json-schema","title":"FileCreateFromInline","data":{"type":"object","required":["file"],"properties":{"file":{"description":"File in base64 encoded format.","type":"string","example":"R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}}},"components/schemas/FileCreateFromUrl":{"id":"components/schemas/FileCreateFromUrl","kind":"json-schema","title":"FileCreateFromUrl","data":{"type":"object","required":["url"],"properties":{"url":{"description":"URL of the file to upload.","type":"string","example":"https://app.rebilly.com/static/gateways/Stripe.png"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}}},"components/schemas/ManualShipping":{"id":"components/schemas/ManualShipping","kind":"json-schema","title":"ManualShipping","data":{"description":"Manually set shipping amount.","type":"object","required":["amount","calculator"],"properties":{"amount":{"x-type":"Money","type":"number","format":"double","description":"Shipping amount."},"calculator":{"description":"Shipping calculator.","type":"string","enum":["manual"]}}}},"components/schemas/RebillyShipping":{"id":"components/schemas/RebillyShipping","kind":"json-schema","title":"RebillyShipping","data":{"description":"Rebilly-based shipping which is calculated by shipping rates.","type":"object","required":["calculator"],"properties":{"calculator":{"description":"Shipping calculator.","type":"string","enum":["rebilly"]},"rateId":{"description":"ID of the shipping rate.\nIf this value is not set,\nthe cheapest applicable shipping rate is used.","type":["string","null"],"maxLength":50,"example":"shipping-123-456"},"amount":{"type":"number","format":"double","readOnly":true,"description":"Shipping amount which is calculated from [Shipping rates](https://www.rebilly.com/catalog/all/shipping-rates)."}}}},"components/schemas/Shipping":{"id":"components/schemas/Shipping","kind":"json-schema","title":"Shipping","data":{"description":"Shipping settings.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualShipping","rebilly":"#/components/schemas/RebillyShipping"}},"oneOf":[{"$ref":"#/components/schemas/ManualShipping"},{"$ref":"#/components/schemas/RebillyShipping"}]}},"components/schemas/TaxItem":{"id":"components/schemas/TaxItem","kind":"json-schema","title":"TaxItem","data":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double","readOnly":true},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94,"readOnly":true},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04,"readOnly":true},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0,"readOnly":true},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38,"readOnly":true},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"readOnly":true,"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US","readOnly":true},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA","readOnly":true},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true}}}}}},"components/schemas/ManualTax":{"id":"components/schemas/ManualTax","kind":"json-schema","title":"ManualTax","data":{"type":"object","description":"Manual tax calculator.","required":["calculator","items"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["manual"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/RebillyTaxJarTax":{"id":"components/schemas/RebillyTaxJarTax","kind":"json-schema","title":"RebillyTaxJarTax","data":{"type":"object","description":"TaxJar tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-taxjar"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/RebillyAvalaraTax":{"id":"components/schemas/RebillyAvalaraTax","kind":"json-schema","title":"RebillyAvalaraTax","data":{"type":"object","description":"Avalara tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-avalara"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}}},"components/schemas/Taxes":{"id":"components/schemas/Taxes","kind":"json-schema","title":"Taxes","data":{"description":"Taxes.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualTax","rebilly-taxjar":"#/components/schemas/RebillyTaxJarTax","rebilly-avalara":"#/components/schemas/RebillyAvalaraTax"}},"oneOf":[{"$ref":"#/components/schemas/ManualTax"},{"$ref":"#/components/schemas/RebillyTaxJarTax"},{"$ref":"#/components/schemas/RebillyAvalaraTax"}]}},"components/schemas/InvoiceItem":{"id":"components/schemas/InvoiceItem","kind":"json-schema","title":"InvoiceItem","data":{"type":"object","required":["type","unitPrice"],"properties":{"id":{"type":"string","description":"ID of the invoice item.","readOnly":true,"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"description":"Type of invoice item.","type":"string","x-basic":true,"enum":["debit","credit"]},"description":{"description":"Description of the invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"price":{"description":"Total price of the invoice item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"readOnly":true,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":["string","null"],"description":"ID of the order.","maxLength":50,"readOnly":true,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":["string","null"],"format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":["string","null"],"format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":["integer","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/TaxItem"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","subscription","plan"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}}},"components/schemas/CreditMemoInvoiceAllocation":{"id":"components/schemas/CreditMemoInvoiceAllocation","kind":"json-schema","title":"CreditMemoInvoiceAllocation","data":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/GatewayName":{"id":"components/schemas/GatewayName","kind":"json-schema","title":"GatewayName","data":{"description":"Payment gateway name.","type":["string","null"],"enum":["A1Gateway","ACI","Adyen","Aera","Aircash","Airpay","Airwallex","AsiaPay","AmazonPay","AmexVPC","Antom","ApcoPay","AsiaPaymentGateway","AstroPayCard","AuthorizeNet","Awepay","Bambora","BankSEND","BitPay","BlueSnap","BraintreePayments","Buckaroo","BVNK","Cardknox","Cashflows","CASHlib","Cashterminal","CashToCode","CauriPayment","Cayan","CCAvenue","Chase","CheckoutCom","Chillstock","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptomus","Cryptonator","CyberSource","DataCash","Dengi","Dimoco","Directa24","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","ecoPayzTurkey","EcorePay","Elavon","Euteller","eMerchantPay","EMS","ePay","EPG","EPro","Ezeebill","eZeeWallet","ezyEFT","FasterPay","Finrax","Flexepin","FinTecSystems","FundSend","Forte","gate2way","GET","Gigadat","GlobalOnePay","GoCardless","Gooney","Gpaysafe","Greenbox","HiPay","iCashOne","iCanPay","ICEPAY","iCheque","iDebit","Ilixium","IMerchant","Ingenico","INOVAPAY","Inovio","Intuit","InstaDebit","IpayOptions","Isx","JetPay","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","LaCore","Limepay","Loonio","loonie","LPG","MaxiCash","MercadoPago","MiFinity","Mollie","MobilePay","Moneris","Monolo","MonRem","MtaPay","MuchBetter","MuchBetterGateway","MyFatoorah","Naewe","Neosurf","Netbanking","Neteller","NGenius","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Pagadito","Pagsmile","Panamerican","ParamountCommerce","ParamountEft","ParamountInterac","PandaGateway","Pay4Fun","Paybilt","PayCash","Paycly","PayClub","PayCom","PayEcards","Payeezy","Payflow","PayGlocal","Paynote","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","PayPal","Payper","Payr","PayRedeem","PayRetailers","Paysafe","Paysafecard","Paysafecash","PayTabs","PayU","PayULatam","Payvision","PayXpert","PharosPayments","Piastrix","Pin4Pay","Plugnpay","PostFinance","Powertranz","PPRO","Prosa","PSiGate","Quickpay","Rapyd","Realex","Realtime","Redsys","Rotessa","RPN","Safecharge","SaltarPay","Sagepay","SeamlessChex","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","Splitit","StaticGateway","STPMexico","Stripe","Tabby","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","TrustsPay","Trustly","TWINT","Txn","Unlimit","UPayCard","USAePay","VantivLitle","vegaaH","VCreditos","VegaWallet","Viva","Wallet88","Walpay","WesternUnion","Wirecard","WorldlineAtosFrankfurt","Worldpay","XPay","Zimpler","Zotapay"]}},"components/schemas/AcquirerName":{"id":"components/schemas/AcquirerName","kind":"json-schema","title":"AcquirerName","data":{"description":"Acquirer name.","type":["string","null"],"enum":["Adyen","ACI","Aera","Alipay","AIB","Aircash","Airpay","AmazonPay","ApcoPay","AsiaPaymentGateway","AstroPay Card","Awepay","Ipay Options","B+S","Bambora","BitPay","Bank of America","Bank of Moscow","Bank of Rebilly","Bank One","BankSEND","BMO Harris Bank","Borgun","BraintreePayments","Buckaroo","BVNK","Cardknox","CASHlib","Cashterminal","CashToCode","Catalunya Caixa","CCAvenue","Chase","CheckoutCom","Chillstock","ChinaUnionPay","CIM","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptonator","CyberSource","Dimoco","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","EcorePay","Elavon","EMS","ePay","EPG","Euteller","Ezeebill","eZeeWallet","ezyEFT","Fifth Third Bank","Finrax","First Data Buypass","First Data Nashville","First Data North","First Data Omaha","FinTecSystems","Flexepin","Forte","FundSend","gate2way","Gigadat","Global East","Gooney","Gpaysafe","Heartland","HiPay","HSBC","iCashOne","iCanPay","ICEPAY","iCheque","Ilixium","Ingenico","INOVAPAY","Intuit","Isx","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","Limepay","Loonio","loonie","LPG","Masapay","MaxiCash","MercadoPago","Merrick","Mission Valley Bank","MiFinity","MobilePay","Moneris","Monolo","MonRem","MuchBetter","MuchBetterGateway","MyFatoorah","NATWEST","Neosurf","Netbanking","Neteller","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","Nuvei","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Other","Panamerican","Panda Bank","Paramount","ParamountCommerce","ParamountEft","ParamountInterac","Pay4fun","Paybilt","PayCash","PayClub","PayEcards","PayGlocal","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","Paynetics","PayPal","Payper","Payr","PayRedeem","PayRetailers","PayTabs","PayU","PayULatam","Payvision","PharosPayments","Piastrix","Pin4Pay","Peoples Trust Company","PostFinance","PPRO","Privatbank","Prosa","PSiGate","QQPay","Rapyd","RBC","RBS WorldPay","RealTime","Rotessa","Safecharge","SaltarPay","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","State Bank of Mauritius","STPMexico","Stripe","Tabby","TBI","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","Trustly","TrustPay","TrustsPay","TSYS","TWINT","Txn","UPayCard","Vantiv","VCreditos","VegaWallet","VoicePay","Wallet88","WeChat Pay","Wells Fargo","Wing Hang Bank","Wirecard","WorldPay","XPay","Zimpler","Zotapay"]}},"components/schemas/VaultedInstrument":{"id":"components/schemas/VaultedInstrument","kind":"json-schema","title":"Vaulted payment instrument","data":{"title":"Vaulted payment instrument","description":"Vaulted payment instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","required":["method","paymentInstrumentId"],"properties":{"method":{"description":"Payment method supported vault.\nFor more information, see [Payment instrument](https://www.rebilly.com/catalog/all/payment-instruments).","type":"string","enum":["payment-card","ach","paypal"]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}}},"components/schemas/AlternativePaymentInstrument":{"id":"components/schemas/AlternativePaymentInstrument","kind":"json-schema","title":"Alternative instrument","data":{"title":"Alternative instrument","description":"Alternative payment method instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"not":{"enum":["payment-card","ach","paypal","cash","check"]}}]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"reference":{"description":"Reference data.\nThis field is available only for the `bank-transfer` payment method.","type":["string","null"]}}}},"components/schemas/CashInstrument":{"id":"components/schemas/CashInstrument","kind":"json-schema","title":"Cash","data":{"title":"Cash","description":"Cash payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["cash"]},"receivedBy":{"description":"Individual or entity that received the payment.","type":"string"}}}},"components/schemas/CheckInstrument":{"id":"components/schemas/CheckInstrument","kind":"json-schema","title":"Check","data":{"title":"Check","description":"Check payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["check"]},"reference":{"description":"Reference data.","type":"string"}}}},"components/schemas/MoneyAmount":{"id":"components/schemas/MoneyAmount","kind":"json-schema","title":"MoneyAmount","data":{"type":"number","format":"double","example":10,"x-type":"Money"}},"components/schemas/Money":{"id":"components/schemas/Money","kind":"json-schema","title":"Money","data":{"type":"object","required":["amount","currency"],"properties":{"amount":{"$ref":"#/components/schemas/MoneyAmount"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/HttpHeaders":{"id":"components/schemas/HttpHeaders","kind":"json-schema","title":"HttpHeaders","data":{"type":"object","description":"HTTP headers.","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},"x-is-free-form":true}},"components/schemas/RiskMetadata":{"id":"components/schemas/RiskMetadata","kind":"json-schema","title":"Risk metadata","data":{"type":"object","title":"Risk metadata","description":"Risk metadata used for 3D Secure and risk scoring.","properties":{"ipAddress":{"description":"Customer's IP address.","type":["string","null"],"format":"ipv4 or ipv6","example":"93.92.91.90"},"fingerprint":{"description":"Customer's device fingerprint.\nA device fingerprint is a unique token that is used to identify the customer.\nThe device fingerprint is generated based on device attributes, such as: hardware,\nsoftware, IP address, language, browser, and more.","type":["string","null"],"maxLength":50,"example":"pIUt3xbgX3l9g3YDiLbx"},"httpHeaders":{"oneOf":[{"$ref":"#/components/schemas/HttpHeaders"},{"type":"null"}]},"browserData":{"type":["object","null"],"description":"Browser data used for 3D Secure and risk scoring.","required":["colorDepth","isJavaEnabled","language","screenWidth","screenHeight","timeZoneOffset"],"properties":{"colorDepth":{"description":"Browser color depth in bits per pixel.\nThis value is obtained using the `screen.colorDepth` property.","type":"integer","minimum":1,"maximum":48,"example":24},"isJavaEnabled":{"description":"Specifies if Java is enabled in a browser.\nThis value is obtained from the `navigator.javaEnabled` property.","type":"boolean"},"language":{"description":"Browser language settings.\nThis value is obtained from the `navigator.language` property.","type":"string","example":"en-US","maxLength":8},"screenWidth":{"description":"Width of the browser screen.\nThis value is obtained from the `screen.width` property.","type":"integer","minimum":0,"maximum":65535,"example":1920},"screenHeight":{"description":"Height of the browser screen.\nThis value is obtained from the `screen.height` property.","type":"integer","minimum":0,"maximum":65535,"example":1080},"timeZoneOffset":{"description":"Browser time zone offset in minutes from UTC.\nA positive offset indicates that the local time is behind UTC.\nA negative offset indicates that the local time is ahead of UTC.\nYou can find this value using the `(new Date()).getTimezoneOffset()` property.","type":"integer","minimum":-1410,"maximum":1410,"example":300},"isAdBlockEnabled":{"description":"Specifies if the usage of ad block has been detected in the browser.","type":["boolean","null"]}}},"extraData":{"type":["object","null"],"description":"Third-party data used for risk scoring.","properties":{"kountFraudSessionId":{"description":"Alpha-numeric `fraudSessionId` as provided by the Kount SDK.","type":["string","null"],"minLength":10,"maxLength":32,"example":"abcdefg12345abababab123456789012"},"payPalMerchantSessionId":{"description":"PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.","type":["string","null"],"minLength":1,"maxLength":64,"example":"dd65ratxc5qv15iph3vyoq7l6davuowa"},"threatMetrixSessionId":{"description":"Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.","pattern":"[a-zA-Z0-9_-]+","type":["string","null"],"minLength":1,"maxLength":128,"example":"dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa"}}},"isProxy":{"description":"Specifies if the customer's IP address is related to a proxy.","type":"boolean","readOnly":true},"isVpn":{"description":"Specifies if the customer's IP address is related to a VPN.","type":"boolean","readOnly":true},"isTor":{"description":"Specifies if the customer's IP address is related to TOR.","type":"boolean","readOnly":true},"isHosting":{"description":"Specifies if the customer's IP address is related to hosting.","type":"boolean","readOnly":true},"hostingName":{"description":"Name of the data center or hosting provider, if available.","type":["string","null"],"readOnly":true},"isp":{"description":"Internet Service Provider (ISP) name, if available.","type":["string","null"],"readOnly":true},"country":{"description":"Country ISO Alpha-2 code of the specified IP address.","maxLength":2,"type":["string","null"],"readOnly":true,"example":"US"},"region":{"description":"Region of the specified IP address.","type":["string","null"],"readOnly":true,"example":"NY"},"city":{"description":"City of the specified IP address.","type":["string","null"],"readOnly":true,"example":"New York"},"latitude":{"description":"Latitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"longitude":{"description":"Longitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"postalCode":{"description":"Postal code of the specified IP address.","type":["string","null"],"maxLength":10,"readOnly":true},"timeZone":{"description":"Time zone of the specified IP address.","type":["string","null"],"readOnly":true,"example":"America/New_York"},"accuracyRadius":{"description":"Accuracy radius of the specified IP address, in kilometers.","type":["integer","null"],"readOnly":true},"distance":{"description":"Distance between the customer's IP address and the billing address geolocation, in kilometers.","type":["integer","null"],"readOnly":true},"hasMismatchedBillingAddressCountry":{"description":"Specifies if the customer's billing address country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedBankCountry":{"description":"Specifies if the customer's bank country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedTimeZone":{"description":"Specifies if the customer's browser time zone and the IP address associated time zone are not the same.","type":"boolean","readOnly":true},"hasMismatchedHolderName":{"description":"Specifies if the customer's billing address name and primary address name are not the same.","type":"boolean","readOnly":true},"hasFakeName":{"description":"Specifies if the holder name seems fake.","type":"boolean","readOnly":true},"isHighRiskCountry":{"description":"Specifies if the geo-IP country, or the customer's billing country, is considered a high risk country.","type":"boolean","readOnly":true},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","type":"integer","readOnly":true},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","type":"integer","readOnly":true},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","type":"integer","readOnly":true},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","type":"integer","readOnly":true},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","type":"integer","readOnly":true},"score":{"description":"Computed risk score based on IP risk data,\nsuch as: `isVpn`, `isTor`, and `isProxy`.","type":"integer","readOnly":true}}}},"components/schemas/TransactionLimitAmount":{"id":"components/schemas/TransactionLimitAmount","kind":"json-schema","title":"LimitAmount","data":{"type":["object","null"],"title":"LimitAmount","description":"Transaction amount limit information.","properties":{"amount":{"type":"number","format":"double","example":275.35,"description":"Limit amount."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"resetTime":{"type":["string","null"],"format":"date-time","description":"Date and time in which the limit amount resets.\nThis value may be used for user interfaces."}}}},"components/schemas/Transaction":{"id":"components/schemas/Transaction","kind":"json-schema","title":"Transaction","data":{"type":"object","description":"Transaction information.","properties":{"id":{"readOnly":true,"$ref":"#/components/schemas/TransactionId"},"websiteId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"customerId":{"x-basic":true,"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"amount":{"x-type":"Money","x-sortable":true,"x-basic":true,"description":"Total amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"purchaseAmount":{"description":"Amount by which the purchase is completed.\nIf an adjustment occurs, the purchased amount may differ from the requested amount.","type":"number","format":"double","x-type":"Money","x-currency-field":"purchaseCurrency","x-sortable":true,"readOnly":true},"purchaseCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"requestAmount":{"description":"Amount of the payment request.\nIf an adjustment occurs,\nthe purchase amount may differ from the billing amount.","type":"number","x-type":"Money","x-currency-field":"requestCurrency","format":"double","readOnly":true},"requestCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"parentTransactionId":{"description":"ID of the parent transaction.","type":["string","null"],"$ref":"#/components/schemas/TransactionId"},"childTransactions":{"description":"IDs of child transactions.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"invoiceIds":{"description":"Related invoice IDs.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"subscriptionIds":{"description":"Subscription IDs of invoices that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"planIds":{"description":"Plan IDs of orders that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"isRebill":{"description":"Specifies if the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","type":"boolean","readOnly":true},"rebillNumber":{"description":"Rebill number of the transaction.\nA rebill number is the number of recurring payments in a subscription, excluding trials or setup fees.","type":"integer","readOnly":true,"x-sortable":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"has3ds":{"description":"Specifies if the transaction uses 3D Secure.","type":"boolean","readOnly":true},"3ds":{"type":"object","description":"Authentication object.\nFor more information, see [3D Secure (3DS)](https://www.rebilly.com/docs/settings/3ds/).","readOnly":true,"properties":{"server":{"description":"Name of the 3D Secure server.","type":"string"},"version":{"description":"Version of 3D Secure.","type":"string","enum":["1.0.2","2.1.0","2.2.0"]},"enrolled":{"description":"Specifies if the cardholder is enrolled in 3D Secure.","type":"string","enum":["yes","no","invalid card/timeout","unavailable"]},"authenticated":{"description":"Authentication response status for 3D Secure.","type":"string","enum":["yes","no","not applicable","attempted"]},"liability":{"type":"string","enum":["protected","not protected","protected (attempt)"]},"flow":{"description":"Authentication flow for 3D Secure 2.","type":"string","enum":["frictionless","challenge"]},"isDowngraded":{"description":"Specifies if 3D Secure 2 is attempted and downgraded to 3D Secure 1.","type":"boolean","default":false,"deprecated":true}}},"redirectUrl":{"description":"URL where the end-user is redirected to when an offsite transaction is completed.\nThe default value is the website URL.","type":["string","null"],"maxLength":2083,"format":"uri"},"retryNumber":{"type":"integer","readOnly":true,"description":"Position of the transaction in the sequence of retries.","x-sortable":true},"isRetry":{"type":"boolean","readOnly":true,"description":"Specifies if a transaction is a retry."},"billingDescriptor":{"type":["string","null"],"readOnly":true,"description":"Billing descriptor that appears on the periodic billing statement.\nFor a credit card statement, this field commonly contains 12 or fewer characters."},"description":{"type":"string","description":"Description of the payment.","maxLength":255},"requestId":{"description":"Request ID of the transaction.\nThis ID must be unique within a 24-hour period.\nUse this field to prevent duplicate transactions.","type":"string","x-sortable":true},"hasAmountAdjustment":{"description":"Specifies if the transaction has amount adjustment.","type":"boolean","readOnly":true},"gatewayName":{"readOnly":true,"description":"Name of the payment gateway that processed, or is selected to process, the transaction.\nThis value is only available after a gateway is selected for the transaction.","x-label":"Gateway","x-basic":true,"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"processedTime":{"description":"Date and time when the transaction is processed.","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"gatewayAccountId":{"type":["string","null"],"description":"ID of the gateway account that processed the transaction.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34","readOnly":true},"gatewayTransactionId":{"description":"ID of the gateway transaction.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"gateway":{"type":"object","description":"Related gateway information.","readOnly":true,"properties":{"response":{"description":"Gateway response.","type":"object","properties":{"code":{"description":"Gateway response code.","type":["string","null"]},"message":{"description":"Gateway response message.","type":["string","null"]},"type":{"description":"Gateway response type.","type":["string","null"]},"originalCode":{"description":"Raw, unmapped gateway response code.","type":["string","null"]},"originalMessage":{"description":"Raw, unmapped gateway response message.","type":["string","null"]}}},"avsResponse":{"description":"Gateway Address Verification System (AVS) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}},"cvvResponse":{"description":"Gateway Card Verification Value (CVV) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}}}},"acquirerName":{"readOnly":true,"description":"Acquirer name.\nThis value is only available when a transaction uses a payment gateway.\nIf a transaction does not use a payment gateway, this value is `null`.","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"deprecated":true,"description":"Payment method.\n\n>**Note:** Use `paymentInstrument.method` instead.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"velocity":{"description":"Number of transactions by the same customer in the past 24 hours.","type":"integer"},"revision":{"description":"Number of times the transaction data has been modified.\n\nThis revision number is useful when analyzing webhook data to determine if the change takes precedence over the current representation.","type":"integer","readOnly":true},"referenceData":{"description":"Transaction reference data.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"},"readOnly":true},"bin":{"description":"Payment card Bank Identification Number (BIN).","x-label":"BIN","type":["string","null"],"format":"bin","readOnly":true},"paymentInstrumentFingerprint":{"description":"Unique value that is used to identify the payment instrument of the transaction.\nThis value is `null` if the transaction has no payment instrument,\nor the payment instrument has no fingerprint.","type":["string","null"],"readOnly":true},"paymentInstrument":{"type":"object","oneOf":[{"$ref":"#/components/schemas/VaultedInstrument"},{"$ref":"#/components/schemas/AlternativePaymentInstrument"},{"$ref":"#/components/schemas/CashInstrument"},{"$ref":"#/components/schemas/CheckInstrument"}]},"hasDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) applies to the transaction.","type":"boolean","readOnly":true},"dcc":{"description":"Detailed Dynamic currency conversion (DCC).\nIf DCC is not applied to the transaction, this value is `null`.","type":["object","null"],"readOnly":true,"properties":{"base":{"description":"Initial amount and currency to convert from.","$ref":"#/components/schemas/Money"},"quote":{"description":"Suggested amount and currency to convert to.","$ref":"#/components/schemas/Money"},"usdMarkup":{"description":"Markup amount converted to USD.","$ref":"#/components/schemas/MoneyAmount"},"outcome":{"type":"string","description":"Dynamic currency conversion outcome.","enum":["unprocessed","rejected","selected"]},"isForceDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) is forced for the transaction.","type":"boolean"}}},"riskScore":{"description":"Risk score for the transaction.","type":"integer","readOnly":true,"x-sortable":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"notificationUrl":{"description":"URL where a server-to-server POST notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"isDisputed":{"description":"Specifies if a transaction is disputed.","type":"boolean","readOnly":true},"disputeTime":{"description":"Date and time when the dispute is created.\nIf the transaction is not disputed, this value is `null`.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true},"disputeStatus":{"description":"Status of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"response-needed","under-review","forfeited","won","lost","unknown"]},"isReconciled":{"description":"Specifies if the transaction is verified with gateway batch data.","type":"boolean","readOnly":true},"isProcessedOutside":{"description":"Specifies if the transaction is processed outside of Rebilly.","type":"boolean"},"isMerchantInitiated":{"description":"Specifies if the transaction is initiated by the merchant.","type":"boolean"},"hadDiscrepancy":{"description":"Specifies if the transaction is updated due to a discrepancy with its source of truth.","type":"boolean","readOnly":true},"orderId":{"deprecated":true,"description":"Order ID of the transaction.\nThis ID must be unique within a 24 hour period.\n\n> **Note:** Use the `requestId` field instead.","type":"string","x-sortable":true},"arn":{"x-label":"ARN","type":["string","null"],"readOnly":true,"description":"Acquirer reference number.","example":"74836950144358910018150"},"reportAmount":{"description":"Transaction amount converted to the report currency of the organization.","type":"number","x-type":"Money","x-sortable":true,"x-currency-field":"reportCurrency","format":"double","readOnly":true},"reportCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"settlementTime":{"type":["string","null"],"description":"Date and time when the transaction is settled by the banking institution.","format":"date-time","readOnly":true,"x-sortable":true},"discrepancyTime":{"type":["string","null"],"description":"Date and time of the most recent discrepancy on the transaction.","format":"date-time","readOnly":true,"x-sortable":true},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"depositRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the deposit request if applicable.\nThe created transaction is based on the properties of this deposit request.","maxLength":50,"example":"dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7"},"transferId":{"readOnly":true,"type":["string","null"],"description":"ID of the ledger transfer if applicable.\nThe transaction is linked to this transfer when processed in the wallet ledger.","maxLength":50,"example":"tb_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"payoutRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the payout request if applicable.\nThe created transaction is based on the properties of this payout request.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","website","customer","gatewayAccount","paymentCard","parentTransaction","leadSource","approvalUrl","refundUrl","updateUrl","disputes","invoices","queryUrl","redirectUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"parentTransaction":{"type":"object"},"childTransactions":{"type":"array","maxItems":10,"description":"Most recent child transactions."},"gatewayAccount":{"type":"object"},"customer":{"type":"object"},"leadSource":{"type":"object"},"website":{"type":"object"},"invoices":{"type":"array","maxItems":10,"description":"Most recent related invoices."},"organization":{"type":"object"},"dispute":{"type":"object"},"paymentCard":{"type":"object"},"bankAccount":{"type":"object"}}}}}},"components/schemas/TimeUnit":{"id":"components/schemas/TimeUnit","kind":"json-schema","title":"TimeUnit","data":{"type":"string","enum":["second","minute","hour","day","month","year"]}},"components/schemas/TimePluralUnit":{"id":"components/schemas/TimePluralUnit","kind":"json-schema","title":"TimePluralUnit","data":{"type":"string","enum":["seconds","minutes","hours","days","months","years"]}},"components/schemas/TimeIso8601Extended":{"id":"components/schemas/TimeIso8601Extended","kind":"json-schema","title":"TimeIso8601Extended","data":{"description":"Extended ISO-8601 format of time.","type":"string","format":"time","pattern":"^(([01][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?)((?:[+-](?:0[0-9]|1[12])(?::?[0-5][0-9])?)|Z)?$"}},"components/schemas/SchedulingMethodDayOfMonth":{"id":"components/schemas/SchedulingMethodDayOfMonth","kind":"json-schema","title":"SchedulingMethodDayOfMonth","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-month"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","method"]}},"components/schemas/SchedulingMethodDayOfWeek":{"id":"components/schemas/SchedulingMethodDayOfWeek","kind":"json-schema","title":"SchedulingMethodDayOfWeek","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-week"]},"day":{"description":"Day of the week when the event occurs.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"week":{"type":"string","enum":["next","first-in-month","last-in-month"]},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","week","method"]}},"components/schemas/PeriodAnchor":{"id":"components/schemas/PeriodAnchor","kind":"json-schema","title":"PeriodAnchor","data":{"type":"object","description":"Instruction for calculating the period anchor.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]}},"components/schemas/SchedulingMethodDateInterval":{"id":"components/schemas/SchedulingMethodDateInterval","kind":"json-schema","title":"SchedulingMethodDateInterval","data":{"type":"object","properties":{"method":{"type":"string","enum":["date-interval"]},"duration":{"type":"integer","description":"Number of time units.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]},"anchor":{"$ref":"#/components/schemas/PeriodAnchor"}},"required":["duration","unit","method"]}},"components/schemas/SchedulingMethodImmediately":{"id":"components/schemas/SchedulingMethodImmediately","kind":"json-schema","title":"SchedulingMethodImmediately","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["immediately"]}}}},"components/schemas/SchedulingMethodIntelligent":{"id":"components/schemas/SchedulingMethodIntelligent","kind":"json-schema","title":"SchedulingMethodIntelligent","data":{"type":"object","properties":{"method":{"type":"string","enum":["intelligent"]},"duration":{"type":"integer","description":"Latest point in time at which the event should occur.\nThe event occurs at a random time between the initial time and duration time.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}},"required":["duration","unit","method"]}},"components/schemas/InvoiceRetryScheduleInstruction":{"id":"components/schemas/InvoiceRetryScheduleInstruction","kind":"json-schema","title":"InvoiceRetryScheduleInstruction","data":{"type":"object","description":"Specifies when the payment retry instruction is performed.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]}},"components/schemas/AmountAdjustmentPoliciesNone":{"id":"components/schemas/AmountAdjustmentPoliciesNone","kind":"json-schema","title":"None","data":{"title":"None","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"],"description":"No payment amount adjustment."}}}},"components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining":{"id":"components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining","kind":"json-schema","title":"Discount remaining amount","data":{"title":"Discount remaining amount","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["discount-amount-remaining"],"description":"Discount the remaining amount on the invoice."}}}},"components/schemas/AmountAdjustmentInstructionPartial":{"id":"components/schemas/AmountAdjustmentInstructionPartial","kind":"json-schema","title":"AmountAdjustmentInstructionPartial","data":{"type":"object","required":["method","value","type"],"properties":{"method":{"type":"string","enum":["partial"]},"value":{"description":"Amount of the payment.","type":"number","format":"float"},"type":{"description":"Payment amount type.","type":"string","enum":["percent","fixed"]},"afterApprovalPolicy":{"description":"After an approved payment retry for an adjusted amount, this field specifies whether to discount the remaining invoice amount.","discriminator":{"propertyName":"method","mapping":{"none":"#/components/schemas/AmountAdjustmentPoliciesNone","discount-amount-remaining":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentPoliciesNone"},{"$ref":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}]}}}},"components/schemas/AmountAdjustmentInstructionNone":{"id":"components/schemas/AmountAdjustmentInstructionNone","kind":"json-schema","title":"AmountAdjustmentInstructionNone","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"]}}}},"components/schemas/InvoiceRetryAmountAdjustmentInstruction":{"id":"components/schemas/InvoiceRetryAmountAdjustmentInstruction","kind":"json-schema","title":"InvoiceRetryAmountAdjustmentInstruction","data":{"type":"object","description":"Specifies if the payment amount must be adjusted for the retry.","discriminator":{"propertyName":"method","mapping":{"partial":"#/components/schemas/AmountAdjustmentInstructionPartial","none":"#/components/schemas/AmountAdjustmentInstructionNone"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentInstructionPartial"},{"$ref":"#/components/schemas/AmountAdjustmentInstructionNone"}]}},"components/schemas/Invoice":{"id":"components/schemas/Invoice","kind":"json-schema","title":"Invoice","data":{"required":["customerId","currency","websiteId"],"properties":{"id":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"invoiceNumber":{"description":"Auto-incrementing number based on the sequence of invoices for any particular customer.","readOnly":true,"type":"integer","x-basic":true},"orderId":{"description":"ID of the order (experimental).","readOnly":true,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC","type":["string","null"]},"subscriptionId":{"type":"string","description":"ID of the related subscription order, if available.\nThis field is `null` if there are no related subscription orders.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"quoteId":{"type":["string","null"],"description":"ID of the related quote, if available.\nThis field is `null` if there are no related quotes.","readOnly":true,"maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"organizationTaxIdNumber":{"description":"Organization tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"customerTaxIdNumber":{"description":"Customer tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"billingAddress":{"description":"Billing address of the invoice.\nAfter the first payment is made for an invoice, this value cannot be changed.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456","maxLength":50},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string","maxLength":65535},"items":{"type":"array","description":"Invoice items array.","readOnly":true,"items":{"$ref":"#/components/schemas/InvoiceItem"}},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"autopayScheduledTime":{"description":"Date and time when an automatic payment (autopay) is scheduled.","type":["string","null"],"x-sortable":true,"format":"date-time"},"autopayRetryNumber":{"description":"Number of times that an automatic payment (autopay) has been attempted on an invoice.","readOnly":true,"type":"integer","x-sortable":true,"minimum":0,"default":0},"status":{"type":"string","description":"Status of the invoice.","x-basic":true,"readOnly":true,"enum":["draft","quotation","unpaid","paid","partially-paid","past-due","abandoned","voided","partially-refunded","refunded","disputed"]},"delinquentCollectionPeriod":{"type":"integer","description":"Length of time, in days, between when the invoice is due and when the invoice is paid.","x-sortable":true,"readOnly":true},"collectionPeriod":{"type":"integer","x-sortable":true,"description":"Length of time, in days, between when the invoice is issued and when the invoice is paid.","readOnly":true},"abandonedTime":{"description":"Date and time when the invoice is abandoned.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidedTime":{"description":"Date and time when the invoice is voided.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"paidTime":{"x-label":"Payment Date","x-sortable":true,"x-basic":true,"description":"Date and time when the invoice is paid.","type":["string","null"],"format":"date-time","readOnly":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"paymentFormUrl":{"type":["string","null"],"readOnly":true,"format":"uri","description":"URL where the customer is redirected to pay the invoice\nusing one of the methods which are available to the customer.\nThis is an alternative to creating a new transaction with empty\n`methods`."},"creditMemoAllocations":{"type":"array","description":"Credit memo allocations to an invoice.","readOnly":true,"items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"transactions":{"type":"array","description":"Up to 10 of the most recent transactions for the invoice.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","maxItems":10,"readOnly":true,"items":{"$ref":"#/components/schemas/Transaction"}},"retryInstruction":{"description":"Invoice payment retry instruction.\nThis object specifies how to proceed if a payment related to the invoice fails.","type":["object","null"],"properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Describes the action to take when a payment attempt concludes, and payment is not collected.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Describes the action to take when all scheduled payment retries, in a retry instruction, have concluded and payment is not collected.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies"]},"revision":{"description":"Number of times the invoice data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"type":{"description":"Type of invoice.","type":"string","enum":["initial","renewal","interim","cancellation","one-time","refund","charge","one-time-sale"],"readOnly":true},"dueReminderTime":{"description":"Date and time when a past due reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"dueReminderNumber":{"description":"Number of past due reminder events that have been triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"delinquencyTime":{"description":"Date and time when the related order is considered delinquent, and is canceled.\nIf this value is `null`, no delinquency time is configured.\nIf the `dueTime` of the order becomes greater than the `delinquencyTime` value,\nthe `delinquencyTime` value becomes equal to `dueTime`.\n\nIf an invoice is not related to an order, this field can only be `null`.","type":["string","null"],"format":"date-time","default":null},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","attachments","leadSource","transactionAllocations","recalculateInvoice","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"}}}}}},"components/schemas/InvoiceIssue":{"id":"components/schemas/InvoiceIssue","kind":"json-schema","title":"InvoiceIssue","data":{"type":"object","properties":{"issuedTime":{"description":"Date and time when the invoice is issued.\nIf this field is `null` or omitted, the invoice is issued immediately.","type":["string","null"],"format":"date-time"},"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the `issuedTime` value.","type":["string","null"],"format":"date-time"}}}},"components/schemas/InvoiceReissue":{"id":"components/schemas/InvoiceReissue","kind":"json-schema","title":"InvoiceReissue","data":{"type":"object","properties":{"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the current date-time.","type":["string","null"],"format":"date-time"}}}},"components/schemas/InvoiceTransactionAllocation":{"id":"components/schemas/InvoiceTransactionAllocation","kind":"json-schema","title":"InvoiceTransactionAllocation","data":{"type":"object","properties":{"invoiceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"amount":{"type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["invoice","transaction"]}}}}}}},"components/schemas/InvoiceCreditMemoAllocationRequest":{"id":"components/schemas/InvoiceCreditMemoAllocationRequest","kind":"json-schema","title":"InvoiceCreditMemoAllocationRequest","data":{"type":"object","description":"Allocation request settings.\nCredit memo IDs are not accepted and are selected automatically by the system.","properties":{"amount":{"type":"number","format":"double","exclusiveMinimum":0,"description":"Optional maximum amount to allocate from customer credit memos to the invoice.\nIf provided, allocation is capped at this value.\nIf omitted, the allocated amount is the lesser of:\n- Invoice unpaid amount.\n- Available allocatable credit memo balance."},"allocationOrder":{"type":"string","description":"Credit memo application order.","enum":["oldest-first","newest-first"],"x-enumDescriptions":{"oldest-first":"Applies oldest allocatable credit memos first.","newest-first":"Applies newest allocatable credit memos first."},"default":"oldest-first"}}}},"components/schemas/InvoiceAppliedCreditMemoAllocation":{"id":"components/schemas/InvoiceAppliedCreditMemoAllocation","kind":"json-schema","title":"InvoiceAppliedCreditMemoAllocation","data":{"type":"object","required":["creditMemoId","amount"],"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"amount":{"description":"Amount allocated from the credit memo to the invoice.","type":"number","format":"double"}}}},"components/schemas/InvoiceCreditMemoAllocationResponse":{"id":"components/schemas/InvoiceCreditMemoAllocationResponse","kind":"json-schema","title":"InvoiceCreditMemoAllocationResponse","data":{"type":"object","required":["invoiceId","currency","appliedCreditMemos","remainingInvoiceAmount"],"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}]},"appliedCreditMemos":{"type":"array","readOnly":true,"description":"List of credit memos applied to the invoice and the amount allocated from each.","items":{"$ref":"#/components/schemas/InvoiceAppliedCreditMemoAllocation"}},"remainingInvoiceAmount":{"description":"Remaining amount due on the invoice after credit memo allocation.","type":"number","readOnly":true,"format":"double"}}}},"components/schemas/InvoiceTimeline":{"id":"components/schemas/InvoiceTimeline","kind":"json-schema","title":"InvoiceTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-restored","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","quickbooks-credit-memo-created","quickbooks-credit-memo-voided","quickbooks-invoice-created","quickbooks-invoice-task-failed","quickbooks-invoice-updated","quickbooks-invoice-voided","quickbooks-revenue-recognition-created","timeline-comment-created","transaction-abandoned","transaction-approved","transaction-canceled","transaction-declined","transaction-initiated","transaction-partially-refunded","transaction-refunded","transaction-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Describes the message details.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CreditMemoTaxItem":{"id":"components/schemas/CreditMemoTaxItem","kind":"json-schema","title":"CreditMemoTaxItem","data":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double"},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double"},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double"},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double"},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double"},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US"},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA"},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES"},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES"}}}}}},"components/schemas/CreditMemo":{"id":"components/schemas/CreditMemo","kind":"json-schema","title":"CreditMemo","data":{"type":"object","description":"Credit memo object.","required":["customerId","currency"],"properties":{"id":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"number":{"description":"Auto-incrementing number based on the sequence of credit memos for any particular customer.","readOnly":true,"type":"integer"},"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"status":{"type":"string","description":"Status of the credit memo.","readOnly":true,"enum":["draft","quotation","issued","applied","partially-applied","voided"],"x-enumDescriptions":{"draft":"Credit memo is in process of being created.\nThe full amount of the credit memo is unused, and the customer has not seen it yet.","quotation":"Credit memo is associated with a quote.\nIf the customer approves the quotation, the credit memo changes to the `issued` state.","issued":"Credit memo is available with a full amount to be applied.","applied":"The full amount of the credit memo has been applied.\nNo more credit can be created from it.","partially-applied":"A partial amount of the credit memo has been applied.\nA credit can be created from the remaining amount.","voided":"Credit memo has been voided and cannot be used anymore."}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"},"taxAmount":{"description":"Sum of items tax amount of an invoice to credit.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"totalAmount":{"description":"Total amount of all credits in the credit memo, including items, shipping, and tax.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"unusedAmount":{"description":"Unused credit memo amount that has not been allocated.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"revision":{"type":"integer","readOnly":true,"description":"Number of times the credit memo has been modified."},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which the credit memo is issued.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"quoteId":{"type":["string","null"],"description":"ID of the related quote.","readOnly":true,"maxLength":50,"example":"qt_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"type":["string","null"],"description":"ID of the transaction associated with the credit memo.\nAssociating a transaction does not change the unused amount of the credit memo.\nThe transaction must be approved and associated with the same customer as the credit memo.\nApproved transactions of any type are accepted, including refunds and voided sales.\nIf the transaction result changes later, the association is retained.\nIf this field is omitted in an update request and `customerId` is not changed, this field retains its current value.\nIf this field is omitted and `customerId` is changed, the transaction is removed from the credit memo.\nTo remove the transaction from the credit memo, set this field to `null`.","maxLength":50,"example":"txn_0YVDTQJ8YKC82BP14NE2R7V2XT"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PatchCreditMemoRequest":{"id":"components/schemas/PatchCreditMemoRequest","kind":"json-schema","title":"PatchCreditMemoRequest","data":{"type":"object","description":"Patch credit memo object.","properties":{"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"}}}},"components/schemas/CreditMemoTimeline":{"id":"components/schemas/CreditMemoTimeline","kind":"json-schema","title":"CreditMemoTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["credit-memo-created","credit-memo-applied","credit-memo-partially-applied","credit-memo-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Content of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalAccount":{"id":"components/schemas/JournalAccount","kind":"json-schema","title":"JournalAccount","data":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the journal account.","readOnly":true,"maxLength":50,"example":"jrn_acc_0YVCXS791DD8JAK1WV3VHM70ZQ"},"name":{"type":"string","description":"Name of the journal account.","example":"Unearned revenue"},"description":{"type":["string","null"]},"createdTime":{"description":"Date and time when the journal record is created.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalEntry":{"id":"components/schemas/JournalEntry","kind":"json-schema","title":"JournalEntry","data":{"type":"object","required":["period","currency"],"properties":{"id":{"type":"string","description":"ID of the journal entry.","readOnly":true,"maxLength":50,"example":"jrn_ent_0YVCXSFCF2DJX99NBBSJCEVETB"},"period":{"type":"object","properties":{"startDate":{"type":"string","format":"date","example":"2022-09-01"},"endDate":{"type":"string","format":"date","example":"2022-09-30"}}},"label":{"type":"string","description":"Custom label that can be used to filter entries.\nAnnual orders are created with the label **Annual**.\nMonthly orders are created with the label **Monthly**.","maxLength":255,"default":"monthly"},"currency":{"description":"Currency of the journal record revenue.","$ref":"#/components/schemas/CurrencyCode"},"description":{"type":"string"},"totalRecognizedAmount":{"description":"Total amount of all revenue recognized at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"totalEstimatedAmount":{"description":"Total amount of all revenue estimated at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/JournalRecord":{"id":"components/schemas/JournalRecord","kind":"json-schema","title":"JournalRecord","data":{"type":"object","required":["journalEntryId","invoiceItemId","debitAccountId","creditAccountId"],"properties":{"id":{"type":"string","description":"Unique resource ID.","readOnly":true,"maxLength":50,"example":"jrn_rec_0YVCXV2HE5DBT89QV7RXSJEZQ4"},"journalEntryId":{"description":"ID of the journal entry.","type":"string","maxLength":50,"example":"jrn_ent_01JXJ8EF9WVR0W187QZ6WF5703"},"customerId":{"description":"ID of the customer.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","readOnly":true},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT","readOnly":true},"invoiceItemId":{"type":"string","description":"ID of the invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"type":"string","readOnly":true,"enum":["automated","manual"]},"estimatedAmount":{"description":"Amount of revenue estimated to be recognized at the schedule date.\nThis value is ignored when updating a journal record with a `type` of `automated`.","type":["number","null"],"format":"double"},"recognizedAmount":{"description":"Amount of revenue recognized at the journal period end.","type":["number","null"],"format":"double"},"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8S97PTMYX8W01SQ72FSWC"},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8RW7AWMVAH7DP3VXYQC1W"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"invoice":{"type":"object"},"invoiceItem":{"type":"object"},"debitAccount":{"type":"object"},"creditAccount":{"type":"object"},"journalEntry":{"type":"object"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice","invoiceItem","journalEntry","creditAccount","debitAccount"]}}}}}}},"components/schemas/KycDocumentTypes":{"id":"components/schemas/KycDocumentTypes","kind":"json-schema","title":"KycDocumentTypes","data":{"type":"string","enum":["identity-proof","address-proof","funds-proof","purchase-proof","credit-file-proof"]}},"components/schemas/KycDocumentSubtypes":{"id":"components/schemas/KycDocumentSubtypes","kind":"json-schema","title":"KycDocumentSubtypes","data":{"type":["string","null"],"enum":["passport","id-card","driver-license","birth-certificate","utility-bill","rental-receipt","lease-agreement","copy-credit-card","credit-card-statement","bank-statement","inheritance-documentation","tax-return","salary-slip","sale-of-assets","public-health-card","proof-of-age-card","reverse-of-id","public-service","ewallet-holder-details","ewallet-transaction-statement","marriage-certificate","firearms-license","insurance-letter","income-statement","debtors-letter","other",null]}},"components/schemas/KycRequestDocument":{"id":"components/schemas/KycRequestDocument","kind":"json-schema","title":"KycRequestDocument","data":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of document to request from the customer.","$ref":"#/components/schemas/KycDocumentTypes"},"subtypes":{"description":"Permitted document subtype.","type":["array","null"],"items":{"$ref":"#/components/schemas/KycDocumentSubtypes"}},"maxAttempts":{"description":"Total number of allowed document upload attempts.\nUse `0` to allow unlimited upload attempts.","type":"integer","default":3,"minimum":0,"maximum":100},"faceProofRequired":{"description":"Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document.","type":"boolean"},"faceLivenessRequired":{"description":"Specifies if the customer must use the face liveness feature when uploading a selfie.\nFor more information, see [Facial recognition and identity verification](https://www.rebilly.com/docs/kyc-and-aml/kyc#facial-recognition-identity-verification).","type":"boolean"}}}},"components/schemas/KycDocumentMatchLevels":{"id":"components/schemas/KycDocumentMatchLevels","kind":"json-schema","title":"KycDocumentMatchLevels","data":{"description":"Document verification level.","type":"integer","enum":[1,2,3],"default":2,"x-enumDescriptions":{"1":"Moderate verification requirements. This option is used for sale transactions.","2":"Strict verification requirements. This option is used for credit transactions.","3":"Basic verification requirements. This option is used when a high level of verification is not required."}}},"components/schemas/KycRequest":{"id":"components/schemas/KycRequest","kind":"json-schema","title":"KycRequest","data":{"type":"object","description":"KYC request information.","required":["customerId","documents"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["gathering","attempted","partial","pending-review","fulfilled","failed","abandoned","expired"],"x-enumDescriptions":{"gathering":"No documents have been provided yet.\nThis is a temporary state.","attempted":"At least one document has been provided but none were assigned the `accepted` status.\nThis is a temporary state.","partial":"At least one requested document has the `accepted` status,\nbut not all requested documents have been assigned the `accepted` status.\nThis is a temporary state.","pending-review":"At least one requested document has the `pending` status,\nand no requested documents have been assigned the `accepted` status.\nThis is a temporary state, until the document is reviewed,\nor another `accepted` document is provided.","fulfilled":"All requested documents are provided and have been assigned the `accepted` status.\nThis is a permanent state.","failed":"At least one requested document has exhausted all attempts,\nand has not been assigned a `accepted`, `pending`, or `in-progress` status.\nThis is a permanent state.","abandoned":"One or more documents provided but the request expired.\nThis is a permanent state.","expired":"No documents were provided and the request expired.\nThis is a permanent state."}},"redirectUrl":{"description":"URL where the customer is redirected when a KYC document upload is complete.\nWhen the customer is redirected,\nRebilly appends an `info` query parameter that has one of the following values:\n  - `back`: Customer clicked the `back to website` link.\n  - `token_expired`: Customer's token expired.\n  - `success`: Customer uploaded KYC documents that have been analyzed.\n  - `manual`: Customer uploaded KYC documents that require a manual review.\n    This is because the analyzer rejected the documents or could not process them.\n  - `partial`: Some of the customer's KYC documents have been analyzed,\n    but other documents have not.\n    For example, this may occur when a proof of address document is analyzed but proof of ID is not.\n\nExample: `https://example.com?info=success`.","type":["string","null"],"format":"uri"},"reason":{"description":"Reason for uploading.","example":"spend limit","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC request data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"expirationTime":{"description":"Date and time when the request expires.\nThe default value is one hour in the future.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","documents","gatherer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"documents":{"type":"array"}}}}}},"components/schemas/KycDocumentRejectionReasonTypes":{"id":"components/schemas/KycDocumentRejectionReasonTypes","kind":"json-schema","title":"KycDocumentRejectionReasonTypes","data":{"description":"Reason the document is rejected.","type":"string","enum":["document-unreadable","document-expired","document-was-valid-but-expired","document-not-matching","document-duplicate","document-invalid","document-not-open","underage-person","third-party-or-mismatch","expiration-date-missing","issue-date-missing","subtype-missing","dob-mismatch","name-mismatch","name-and-dob-mismatch","critical-info-missing","old-address-on-id","tampered-document","no-document-data-detected","other"]}},"components/schemas/KycDocumentRejection":{"id":"components/schemas/KycDocumentRejection","kind":"json-schema","title":"KycDocumentRejection","data":{"description":"Reason the document is rejected.","type":["object","null"],"required":["type"],"readOnly":true,"properties":{"type":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"message":{"description":"KYC document rejection message.","type":"string","maxLength":255,"example":"Provided document is unreadable"}}}},"components/schemas/KycDocumentMatchesVersion":{"id":"components/schemas/KycDocumentMatchesVersion","kind":"json-schema","title":"KycDocumentMatchesVersion","data":{"type":"string","description":"Version of the document matches.","readOnly":true,"example":"2.0"}},"components/schemas/KycDocumentMatchesScore":{"id":"components/schemas/KycDocumentMatchesScore","kind":"json-schema","title":"KycDocumentMatchesScore","data":{"type":"integer","description":"Calculated score that represents the percentage of confidence that this ID document represents the customer.","minimum":0,"maximum":100,"example":75}},"components/schemas/KycDocumentCheck":{"id":"components/schemas/KycDocumentCheck","kind":"json-schema","title":"KycDocumentCheck","data":{"type":"object","description":"Result of an executed document check during KYC verification.","properties":{"name":{"description":"Name of the document check.","type":"string","enum":["city","containsImage","date","dateIsInvalid","dateOfBirth","decision","documentNumber","documentSubtype","expirationDate","firstName","hasMatchingFaceProof","hasMinimalAge","isIdentityDocument","isPublishedOnline","isTampered","issuanceCountry","issuanceRegion","issueDate","lastName","line1","matchesDateOfBirth","phone","postalCode","region"]},"failed":{"description":"Specifies if a document check has failed.\nWhen a check fails,\nthe score value associated with the check is subtracted from the overall score of the proof document.\nThe overall score together with accept and reject thresholds determine whether an proof document passes or fails verification.\nFor more information, see [KYC](https://www.rebilly.com/docs/kyc-and-aml/kyc).","type":"boolean","example":true},"score":{"type":"integer","description":"Specifies the number of points to deduct from the proof document when a check fails during the verification process.","minimum":0,"maximum":100,"example":75},"reason":{"description":"Specifies the reason why the KYC check failed.","type":["string","null"],"example":"closed_eyes"}}}},"components/schemas/KycDocumentCheckList":{"id":"components/schemas/KycDocumentCheckList","kind":"json-schema","title":"KycDocumentCheckList","data":{"type":["array","null"],"description":"List of checks executed against the document during KYC verification.","items":{"$ref":"#/components/schemas/KycDocumentCheck"}}},"components/schemas/KycIdentityMatches":{"id":"components/schemas/KycIdentityMatches","kind":"json-schema","title":"KycIdentityMatches","data":{"type":"object","description":"Matched identity data.","properties":{"containsImage":{"description":"Specifies if the document includes an image that contains a face.","type":"boolean","example":true},"isIdentityDocument":{"description":"Specifies if the document resembles an ID.","type":"boolean","example":true},"isPublishedOnline":{"description":"Specifies if an exact match of the document has been found online.","type":"boolean","example":false},"matchingImages":{"description":"URLs where matching images have been found online.","type":"array","readOnly":true,"maxItems":3,"items":{"type":"string"}},"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"dateOfBirth":{"description":"Date of birth detected on the document.\nThis value is null if no match is detected.","type":["string","null"],"format":"date-time"},"expirationDate":{"description":"Expiration date detected on the document.\nThis value is null if no expiration date is detected.","type":["string","null"],"format":"date-time"},"issueDate":{"description":"Issue date detected on the document.\nThis value is null if no issue date is detected.","type":["string","null"],"format":"date-time"},"hasMinimalAge":{"description":"Specifies that the individual is older than the minimal age limit.\nThe minimal age is 21+ the for USA and 18+ for all other countries.\nThis value is null if `dateOfBirth` is not determined.","type":["boolean","null"],"readOnly":true,"example":true},"nationality":{"description":"Nationality detected on a passport or citizenship document.\nThis value is null if no nationality is detected.","type":["string","null"],"example":"US","maxLength":3},"issuanceCountry":{"description":"Country that issued the document.","type":["string","null"],"example":"CA","minLength":2,"maxLength":2},"issuanceRegion":{"description":"Region, state, province, or territory that issued the document.","type":["string","null"],"example":"Ontario"},"documentNumber":{"description":"Unique number on the identity document.\nThis value may contain alphanumeric characters.","type":["string","null"],"example":"1234567890"},"sex":{"description":"MRZ sex code (ICAO 9303).\n`M`, `F`, or `X`.\nNull if not extracted.","type":["string","null"],"pattern":"^[MFX]$","example":"M"},"mrzChecksumValid":{"description":"MRZ check digits validation.\nNull if there is no MRZ, no check data, or a non-standard layout.","type":["boolean","null"],"readOnly":true,"example":true},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"hasMatchingFaceProof":{"description":"Specifies if an identity document has matching face proof.","type":"boolean","example":false},"isTampered":{"description":"Specifies if an identity document has been tampered with.","type":"boolean","example":false},"isDigitallyTampered":{"description":"Specifies if an identity document has been digitally tampered with (experimental).","type":"boolean","example":false},"isPhotocopy":{"description":"Specifies if an identity document is detected as a photocopy.","type":"boolean","example":false},"hasCompletedFaceLiveness":{"description":"Specifies if the face liveness session completed.","type":"boolean","readOnly":true,"example":false},"faceProofBrightness":{"description":"Brightness of the lighting in the detected face area of the face proof image, on a scale from `0` to `100`.\nA higher value indicates brighter lighting.\nThis value is `null` if no face proof is compared with the document.","type":["number","null"],"minimum":0,"maximum":100,"readOnly":true,"example":72.5},"expiryDate":{"description":"Use `expirationDate` field instead.","type":["string","null"],"format":"date-time","deprecated":true}}}},"components/schemas/KycSettingsIdentity":{"id":"components/schemas/KycSettingsIdentity","kind":"json-schema","title":"KycSettingsIdentity","data":{"type":"object","description":"Identity proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"containsImage":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not include an image that contains a face."},"isIdentityDocument":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not resemble an ID."},"isPublishedOnline":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an exact match of the document is not found online."},"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"expirationDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an expiration date is not detected on the document."},"dateOfBirth":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date of birth is not detected on the document, or if the date of birth detected on the document is not matched."},"issueDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an issue date is not detected on the document."},"hasMinimalAge":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not verify the minimal age limit.\nMinimal age is 21+ the for USA and 18+ for all other countries."},"hasMatchingFaceProof":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an identity document does not have matching face proof."},"nationality":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a nationality is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."},"isPhotocopy":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is detected as a photocopy."},"mrzChecksum":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added when MRZ check digits fail validation."},"documentNumber":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a document number is not detected on the document."},"issuanceCountry":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the country that issued the document is not detected."},"issuanceRegion":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the region, state, province, or territory that issued the document is not detected."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}},"minimumAgeSettings":{"type":"object","description":"Minimum age settings for identity proof documents.","properties":{"defaultMinimumAge":{"type":"integer","minimum":1,"maximum":100,"description":"Default minimum age requirement for identity proof documents.\nThis is used when no location-specific override is configured.","default":18},"locationOverrides":{"type":"array","description":"Location-specific minimum age.\nEach item specifies a minimum age for a specific location.\nFor country-wide rules, omit the state field.\nFor state-specific rules, include the state field.","items":{"type":"object","required":["country","minimumAge"],"properties":{"country":{"type":"string","description":"Country code in ISO 3166 alpha-2 format.","pattern":"^[A-Z]{2}$","example":"US"},"state":{"type":"string","description":"Name or code of the state or region.","maxLength":45,"example":"AZ"},"minimumAge":{"type":"integer","description":"Minimum age requirement for this location.","minimum":1,"maximum":100,"example":21}}},"example":[{"country":"US","minimumAge":21},{"country":"US","state":"AL","minimumAge":19}]}}},"faceProofSettings":{"type":"object","description":"Quality requirements for the face proof image of an identity proof document.","properties":{"minimumBrightness":{"type":"integer","minimum":0,"maximum":100,"default":40,"description":"Minimum brightness of the lighting in the detected face area of the face proof image.\nThe brightness scale ranges from `0` to `100`.\nA higher value indicates brighter lighting.\nIf the detected brightness is below this value,\nthe `hasMatchingFaceProof` check fails with the `face_match_low_brightness` reason.\nUse `0` to disable the brightness requirement."}}}}}},"components/schemas/ProofOfIdentityKycDocument":{"id":"components/schemas/ProofOfIdentityKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of identity document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsIdentity"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/KycAddressMatches":{"id":"components/schemas/KycAddressMatches","kind":"json-schema","title":"KycAddressMatches","data":{"type":"object","description":"Matched address data.","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"line1":{"description":"Address of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"36 Craven St"},"city":{"description":"Customer's city of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"region":{"description":"Customer's region of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"postalCode":{"description":"Postal code of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"WC2N 5NF"},"wordCount":{"description":"Total number of words in the document.","type":"integer","example":350},"uniqueWords":{"description":"Total number of unique words in the document.","type":"integer","example":175},"date":{"description":"Date detected on the document.\nUse this field to determine if the document is recent.","type":["string","null"],"format":"date-time","example":"2021-01-01T00:00:00+00:00"},"phone":{"description":"Phone number of the company or agency that issued the document.","type":["string","null"],"example":"(123) 456-7890"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"isTampered":{"description":"Specifies if an address proof document has been tampered with.","type":"boolean","example":false}}}},"components/schemas/KycSettingsAddress":{"id":"components/schemas/KycSettingsAddress","kind":"json-schema","title":"KycSettingsAddress","data":{"type":"object","description":"Address proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"line1":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's address is not matched."},"city":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's city is not matched."},"region":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's region is not matched."},"postalCode":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's postal code is not matched."},"date":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date is not detected on the document."},"phone":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a phone number is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}}}}},"components/schemas/ProofOfAddressKycDocument":{"id":"components/schemas/ProofOfAddressKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsAddress"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/FundsMatches":{"id":"components/schemas/FundsMatches","kind":"json-schema","title":"FundsMatches","data":{"type":"object","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}}},"components/schemas/ProofOfFundsKycDocument":{"id":"components/schemas/ProofOfFundsKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of funds document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/PurchaseMatches":{"id":"components/schemas/PurchaseMatches","kind":"json-schema","title":"PurchaseMatches","data":{"type":"object","properties":{"firstName":{"description":"First name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument related to the document.\nThis value is null if no match is found.","example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}}},"components/schemas/ProofOfPurchaseKycDocument":{"id":"components/schemas/ProofOfPurchaseKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of purchase document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","paymentInstrument"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/CreditFileCommonDecisionData":{"id":"components/schemas/CreditFileCommonDecisionData","kind":"json-schema","title":"CreditFileCommonDecisionData","data":{"readOnly":true,"type":"object","properties":{"lastNameMatch":{"description":"Last name match.","type":"string","readOnly":true,"example":"Y"},"firstNameMatch":{"description":"First name match.","type":"string","readOnly":true,"example":"Y"},"civicNumberMatch":{"description":"Civic number match.","type":"string","readOnly":true,"example":"Y"},"streetNameMatch":{"description":"Street name match.","type":"string","readOnly":true,"example":"Y"},"cityMatch":{"description":"City match.","type":"string","readOnly":true,"example":"Y"},"postalCodeMatch":{"description":"Postal code match.","type":"string","readOnly":true,"example":"Y"},"provinceMatch":{"description":"Province match.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthMatch":{"description":"Date of birth match.","type":"string","readOnly":true,"example":"Y"},"ageOfCreditFileThreeOrMoreYearsOld":{"description":"Age of credit file is three or more years old.","type":"string","readOnly":true,"example":"Y"},"addressAsReported":{"description":"Address as reported.","type":"string","readOnly":true,"example":"Y"},"nameAsReported":{"description":"Name as reported.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthAsReported":{"description":"Date of birth as reported.","type":"string","readOnly":true,"example":"Y"}}}},"components/schemas/CreditFileMatches":{"id":"components/schemas/CreditFileMatches","kind":"json-schema","title":"CreditFileMatches","data":{"type":"object","properties":{"creditBureau":{"description":"Credit bureau from which the credit file data is sourced.","type":"string","readOnly":true,"enum":["equifax","experian","transunion","test-bureau"]},"creditFileNumber":{"description":"Credit file number from the credit bureau.","type":"string","readOnly":true},"name":{"description":"Name of the person to consult about the credit file.","type":"string","readOnly":true},"consultedDate":{"description":"Date to consult with the credit bureau about the credit file.","type":"string","format":"date-time","readOnly":true},"decision":{"description":"Specifies if the credit file is used in a single source, or as part of a dual source, proof of identity decision.","type":"string","enum":["single-source","dual-source","other"],"x-enumDescriptions":{"single-source":"Credit file used as a single source of proof for an identity decisions.","dual-source":"Credit file used as a source of proof where the credit bureau agency found two reliable trade sources.\nAt least two sources are required for a dual-source proof of identity decision.","other":"Credit file cannot be used for KYC decisions."},"readOnly":true},"trades":{"description":"Contains information to support the dual process.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Trade name.","example":"Rogers"},"accountNumber":{"type":"string","example":"123-ABC-123"},"dateOpened":{"type":"string","format":"date"}}},"readOnly":true},"referenceData":{"description":"Extra data from the credit bureau.","readOnly":true,"type":"object","properties":{"singleSourceHit":{"description":"Single source hit.","type":"string","readOnly":true,"example":"Y"},"dualSourceHit":{"description":"Dual source hit.","type":"string","readOnly":true,"example":"Y"},"waterfallProcess":{"description":"Waterfall process.","type":"string","readOnly":true,"example":"Y"},"creditFileCreatedDate":{"description":"Date when the credit file is created.","type":"string","readOnly":true},"numberOfTradesOnFile":{"description":"Number of trades on file.","type":"string","readOnly":true,"example":"001"},"singleDecision":{"description":"Data related to a single source decision.","type":"object","allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]},"dualDecision":{"description":"Data related to a dual source decision.","type":["array","null"],"items":{"allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]}}}}}}},"components/schemas/ProofOfCreditFileKycDocument":{"id":"components/schemas/ProofOfCreditFileKycDocument","kind":"json-schema","title":"KYC documents.","data":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"description":"Proof of credit document matches.","type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}}},"components/schemas/KycDocument":{"id":"components/schemas/KycDocument","kind":"json-schema","title":"KycDocument","data":{"type":"object","description":"KYC document information.","discriminator":{"propertyName":"documentType","mapping":{"identity-proof":"#/components/schemas/ProofOfIdentityKycDocument","address-proof":"#/components/schemas/ProofOfAddressKycDocument","funds-proof":"#/components/schemas/ProofOfFundsKycDocument","purchase-proof":"#/components/schemas/ProofOfPurchaseKycDocument","credit-file-proof":"#/components/schemas/ProofOfCreditFileKycDocument"}},"oneOf":[{"$ref":"#/components/schemas/ProofOfIdentityKycDocument"},{"$ref":"#/components/schemas/ProofOfAddressKycDocument"},{"$ref":"#/components/schemas/ProofOfFundsKycDocument"},{"$ref":"#/components/schemas/ProofOfPurchaseKycDocument"},{"$ref":"#/components/schemas/ProofOfCreditFileKycDocument"}]}},"components/schemas/KycIdentityMatchesOverwrite":{"id":"components/schemas/KycIdentityMatchesOverwrite","kind":"json-schema","title":"KycIdentityMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting identity KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\n This value identifies the document match type as `identity-proof`.","type":"string","enum":["identity-proof"],"example":"identity-proof"}}},{"$ref":"#/components/schemas/KycIdentityMatches"}]}},"components/schemas/KycAddressMatchesOverwrite":{"id":"components/schemas/KycAddressMatchesOverwrite","kind":"json-schema","title":"KycAddressMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting address KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `address-proof`.","type":"string","enum":["address-proof"],"example":"address-proof"}}},{"$ref":"#/components/schemas/KycAddressMatches"}]}},"components/schemas/KycPurchaseMatchesOverwrite":{"id":"components/schemas/KycPurchaseMatchesOverwrite","kind":"json-schema","title":"KycPurchaseMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting purchase KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `purchase-proof`.","type":"string","enum":["purchase-proof"],"example":"purchase-proof"}}},{"$ref":"#/components/schemas/PurchaseMatches"}]}},"components/schemas/KycFundsMatchesOverwrite":{"id":"components/schemas/KycFundsMatchesOverwrite","kind":"json-schema","title":"KycFundsMatchesOverwrite","data":{"type":"object","description":"Request body for overwriting funds KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `funds-proof`.","type":"string","enum":["funds-proof"],"example":"funds-proof"}}},{"$ref":"#/components/schemas/FundsMatches"}]}},"components/schemas/KycSettings":{"id":"components/schemas/KycSettings","kind":"json-schema","title":"KycSettings","data":{"type":"object","description":"Settings for KYC score calculation.","properties":{"identityProof":{"$ref":"#/components/schemas/KycSettingsIdentity"},"addressProof":{"$ref":"#/components/schemas/KycSettingsAddress"},"uiVersion":{"description":"Version of the KYC document gatherer UI.","type":["string","null"],"enum":["1","2"],"default":"1","x-enumDescriptions":{"1":"Classic design.","2":"Modern design, optimized for the best user experience on both mobile and desktop devices."}}}}},"components/schemas/ResetPasswordToken":{"id":"components/schemas/ResetPasswordToken","kind":"json-schema","title":"ResetPasswordToken","data":{"type":"object","required":["username"],"properties":{"token":{"description":"ID of the token.","type":"string","readOnly":true},"username":{"description":"Username associated with the token.","type":"string"},"credentialId":{"description":"Credential ID associated with the token.","type":"string","readOnly":true},"expiredTime":{"description":"Date and time when the password expires.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentCardBrand":{"id":"components/schemas/PaymentCardBrand","kind":"json-schema","title":"PaymentCardBrand","data":{"description":"Brand of payment card.","type":"string","enum":["Visa","MasterCard","American Express","Discover","Maestro","Solo","Electron","JCB","Voyager","Diners Club","Switch","Laser","China UnionPay","AstroPay Card"]}},"components/schemas/UseAsBackup":{"id":"components/schemas/UseAsBackup","kind":"json-schema","title":"UseAsBackup","data":{"description":"Specifies if this payment instrument can be used as a backup for invoice payment retries.","type":"boolean","default":false}},"components/schemas/LastPaymentTime":{"id":"components/schemas/LastPaymentTime","kind":"json-schema","title":"LastPaymentTime","data":{"description":"Date and time of the last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Payment Time"}},"components/schemas/PaymentCard":{"id":"components/schemas/PaymentCard","kind":"json-schema","title":"Payment card","data":{"type":"object","description":"Payment card information.","title":"Payment card","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["payment-card"]},"status":{"type":"string","description":"Status of the payment instrument.\nAn `active` status means that a payment instrument has been used at least once for an approved transaction.\nTo remove an instrument from use, set this value to `deactivated`.\n\nFor more information, see [`POST /payment-instruments/{id}/deactivation`](https://www.rebilly.com/catalog/all/payment-instruments/postpaymentinstrumentdeactivation).","enum":["active","inactive","expired","deactivated","verification-needed"]},"fingerprint":{"description":"Unique value that is used to identify the payment instrument.\nThis value is generated from the `bin` and the `last4` values.\nThis value contains alphanumeric characters.","type":"string","readOnly":true},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Primary Account Number (PAN).","type":"string","format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the associated Primary Account Number (PAN).","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThis value is only present for payment cards created from digital wallet tokens,\nwhere the FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in the digital wallet transaction.","type":["string","null"],"readOnly":true},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"bankCountry":{"description":"Bank country of the payment instrument.","type":["string","null"],"readOnly":true},"bankName":{"description":"Bank name of the payment instrument.","type":"string","readOnly":true},"isPayoutable":{"description":"Specifies if payouts are supported for cards with this BIN.\nDefaults to `true`.\nThis value is `false` if the BIN does not support payouts.","type":"boolean","readOnly":true},"billingAddress":{"description":"Contact's billing address.","$ref":"#/components/schemas/ContactObject"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"billingPortalUrl":{"description":"URL of the billing portal where the card can be updated.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"expirationReminderTime":{"description":"Date and time when an expiration reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"expirationReminderNumber":{"description":"Number of expiration reminder events that have triggered.","type":["integer","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"digitalWallet":{"readOnly":true,"description":"Digital wallet type.","type":["string","null"],"enum":["Apple Pay","Google Pay","Samsung Pay",null]},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/BankAccount":{"id":"components/schemas/BankAccount","kind":"json-schema","title":"Bank account","data":{"type":"object","title":"Bank account","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["ach"]},"bankName":{"description":"Name of the bank.","type":"string"},"routingNumber":{"description":"Bank routing number.","type":"string"},"accountNumberType":{"description":"Type of bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","default":"BBAN","enum":["BBAN","IBAN"]},"accountType":{"description":"Type of bank account.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":["string","null"]},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"fingerprint":{"description":"Unique value which identifies the bank account.\nThis value contains alphanumeric characters.\nDepending on the type of bank account number,\na bank account fingerprint is generated using one of the following:\n- BBAN: `last4` and `routingNumber` values.\n- IBAN: First 8 characters of the IBAN and the `last4` value.","type":"string","readOnly":true},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true},"status":{"description":"Status of the bank account.","type":"string","readOnly":true,"enum":["active","deactivated"]},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PayPalAccount":{"id":"components/schemas/PayPalAccount","kind":"json-schema","title":"PayPal account","data":{"type":"object","title":"PayPal account","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","enum":["paypal"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"username":{"description":"PayPal username.","type":"string","readOnly":true},"status":{"description":"PayPal account status.","type":"string","readOnly":true,"enum":["inactive","active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/AlternativePaymentMethods":{"id":"components/schemas/AlternativePaymentMethods","kind":"json-schema","title":"AlternativePaymentMethods","data":{"type":"string","description":"Payment method.","enum":["cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Alfa-click","Alipay","AstroPay Card","AstroPay-GO","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Boleto","cash-deposit","CASHlib","CashToCode","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Cupon-de-pagos","cryptocurrency","domestic-cards","Directa24Card","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","Efecty","EPS","ePay.bg","eZeeWallet","FasterPay","Flexepin","Giropay","Gpaysafe","Google Pay","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","instant-bank-transfer","InstantPayments","Interac","Interac-online","Interac-eTransfer","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","loonie","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Bancontact","Bancontact-mobile","MTS","Mollie","MuchBetter","MuchBetterVoucher","Multibanco","Neosurf","Netbanking","Neteller","Nordea-Solo","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-deposit-express","Pagsmile-lottery","PayCash","Payco","Payeer","PaymentAsia-crypto","Paymero","Perfect-money","Piastrix","PIX","PIX-Automatico","plaid-account","PayTabs","Paysafecard","Paysafecash","Pay4Fun","Paynote","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","Resurs","SafetyPay","Samsung Pay","SEPA","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","swift-dbt","Tele2","Terminaly-RF","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","wire","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]}},"components/schemas/AlternativeInstrument":{"id":"components/schemas/AlternativeInstrument","kind":"json-schema","title":"Alternative instrument","data":{"type":"object","title":"Alternative instrument","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck"]}}]},"billingAddress":{"description":"Billing address of the user that is associated with the payment instrument.","$ref":"#/components/schemas/ContactObject"},"status":{"description":"Payment instrument status.","type":"string","readOnly":true,"enum":["active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}}},"components/schemas/PaymentInstrument":{"id":"components/schemas/PaymentInstrument","kind":"json-schema","title":"PaymentInstrument","data":{"discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCard","ach":"#/components/schemas/BankAccount","paypal":"#/components/schemas/PayPalAccount","Khelocard":"#/components/schemas/AlternativeInstrument","cash":"#/components/schemas/AlternativeInstrument","check":"#/components/schemas/AlternativeInstrument","AdvCash":"#/components/schemas/AlternativeInstrument","Alfa-click":"#/components/schemas/AlternativeInstrument","Alipay":"#/components/schemas/AlternativeInstrument","AstroPay Card":"#/components/schemas/AlternativeInstrument","AstroPay-GO":"#/components/schemas/AlternativeInstrument","BankReferenced":"#/components/schemas/AlternativeInstrument","bank-transfer":"#/components/schemas/AlternativeInstrument","bank-transfer-2":"#/components/schemas/AlternativeInstrument","bank-transfer-3":"#/components/schemas/AlternativeInstrument","bank-transfer-4":"#/components/schemas/AlternativeInstrument","bank-transfer-5":"#/components/schemas/AlternativeInstrument","bank-transfer-6":"#/components/schemas/AlternativeInstrument","bank-transfer-7":"#/components/schemas/AlternativeInstrument","bank-transfer-8":"#/components/schemas/AlternativeInstrument","bank-transfer-9":"#/components/schemas/AlternativeInstrument","Baloto":"#/components/schemas/AlternativeInstrument","Beeline":"#/components/schemas/AlternativeInstrument","Belfius-direct-net":"#/components/schemas/AlternativeInstrument","bitcoin":"#/components/schemas/AlternativeInstrument","Bizum":"#/components/schemas/AlternativeInstrument","Boleto":"#/components/schemas/AlternativeInstrument","cash-deposit":"#/components/schemas/AlternativeInstrument","CASHlib":"#/components/schemas/AlternativeInstrument","CashToCode":"#/components/schemas/AlternativeInstrument","China UnionPay":"#/components/schemas/AlternativeInstrument","Cleo":"#/components/schemas/AlternativeInstrument","CODVoucher":"#/components/schemas/AlternativeInstrument","Conekta-oxxo":"#/components/schemas/AlternativeInstrument","Cupon-de-pagos":"#/components/schemas/AlternativeInstrument","cryptocurrency":"#/components/schemas/AlternativeInstrument","domestic-cards":"#/components/schemas/AlternativeInstrument","ecoPayz":"#/components/schemas/AlternativeInstrument","ecoVoucher":"#/components/schemas/AlternativeInstrument","Efecty":"#/components/schemas/AlternativeInstrument","EPS":"#/components/schemas/AlternativeInstrument","ePay.bg":"#/components/schemas/AlternativeInstrument","eZeeWallet":"#/components/schemas/AlternativeInstrument","FasterPay":"#/components/schemas/AlternativeInstrument","Flexepin":"#/components/schemas/AlternativeInstrument","Giropay":"#/components/schemas/AlternativeInstrument","Gpaysafe":"#/components/schemas/AlternativeInstrument","Google Pay":"#/components/schemas/AlternativeInstrument","iDebit":"#/components/schemas/AlternativeInstrument","iDEAL":"#/components/schemas/AlternativeInstrument","ING-homepay":"#/components/schemas/AlternativeInstrument","INOVAPAY-pin":"#/components/schemas/AlternativeInstrument","INOVAPAY-wallet":"#/components/schemas/AlternativeInstrument","InstaDebit":"#/components/schemas/AlternativeInstrument","instant-bank-transfer":"#/components/schemas/AlternativeInstrument","InstantPayments":"#/components/schemas/AlternativeInstrument","Interac":"#/components/schemas/AlternativeInstrument","Interac-online":"#/components/schemas/AlternativeInstrument","Interac-eTransfer":"#/components/schemas/AlternativeInstrument","invoice":"#/components/schemas/AlternativeInstrument","iWallet":"#/components/schemas/AlternativeInstrument","Jeton":"#/components/schemas/AlternativeInstrument","jpay":"#/components/schemas/AlternativeInstrument","Klarna":"#/components/schemas/AlternativeInstrument","KNOT":"#/components/schemas/AlternativeInstrument","loonie":"#/components/schemas/AlternativeInstrument","Matrix":"#/components/schemas/AlternativeInstrument","MaxiCash":"#/components/schemas/AlternativeInstrument","Megafon":"#/components/schemas/AlternativeInstrument","MiFinity-eWallet":"#/components/schemas/AlternativeInstrument","miscellaneous":"#/components/schemas/AlternativeInstrument","Bancontact":"#/components/schemas/AlternativeInstrument","Bancontact-mobile":"#/components/schemas/AlternativeInstrument","MTS":"#/components/schemas/AlternativeInstrument","MuchBetter":"#/components/schemas/AlternativeInstrument","Multibanco":"#/components/schemas/AlternativeInstrument","Neosurf":"#/components/schemas/AlternativeInstrument","Netbanking":"#/components/schemas/AlternativeInstrument","Neteller":"#/components/schemas/AlternativeInstrument","Nordea-Solo":"#/components/schemas/AlternativeInstrument","OchaPay":"#/components/schemas/AlternativeInstrument","online-bank-transfer":"#/components/schemas/AlternativeInstrument","Onlineueberweisen":"#/components/schemas/AlternativeInstrument","oriental-wallet":"#/components/schemas/AlternativeInstrument","OXXO":"#/components/schemas/AlternativeInstrument","P24":"#/components/schemas/AlternativeInstrument","Pagadito":"#/components/schemas/AlternativeInstrument","PagoEffectivo":"#/components/schemas/AlternativeInstrument","Pagsmile-deposit-express":"#/components/schemas/AlternativeInstrument","Pagsmile-lottery":"#/components/schemas/AlternativeInstrument","PayCash":"#/components/schemas/AlternativeInstrument","Payeer":"#/components/schemas/AlternativeInstrument","PaymentAsia-crypto":"#/components/schemas/AlternativeInstrument","Paymero":"#/components/schemas/AlternativeInstrument","Perfect-money":"#/components/schemas/AlternativeInstrument","Piastrix":"#/components/schemas/AlternativeInstrument","plaid-account":"#/components/schemas/AlternativeInstrument","PayTabs":"#/components/schemas/AlternativeInstrument","Paysafecard":"#/components/schemas/AlternativeInstrument","Paysafecash":"#/components/schemas/AlternativeInstrument","Pay4Fun":"#/components/schemas/AlternativeInstrument","Paynote":"#/components/schemas/AlternativeInstrument","PinPay":"#/components/schemas/AlternativeInstrument","phone":"#/components/schemas/AlternativeInstrument","PhonePe":"#/components/schemas/AlternativeInstrument","POLi":"#/components/schemas/AlternativeInstrument","PostFinance-card":"#/components/schemas/AlternativeInstrument","PostFinance-e-finance":"#/components/schemas/AlternativeInstrument","QIWI":"#/components/schemas/AlternativeInstrument","QPay":"#/components/schemas/AlternativeInstrument","QQPay":"#/components/schemas/AlternativeInstrument","rapyd-checkout":"#/components/schemas/AlternativeInstrument","Resurs":"#/components/schemas/AlternativeInstrument","SafetyPay":"#/components/schemas/AlternativeInstrument","SEPA":"#/components/schemas/AlternativeInstrument","Skrill":"#/components/schemas/AlternativeInstrument","Skrill Rapid Transfer":"#/components/schemas/AlternativeInstrument","SMSVoucher":"#/components/schemas/AlternativeInstrument","Sofort":"#/components/schemas/AlternativeInstrument","SparkPay":"#/components/schemas/AlternativeInstrument","swift-dbt":"#/components/schemas/AlternativeInstrument","Tele2":"#/components/schemas/AlternativeInstrument","Terminaly-RF":"#/components/schemas/AlternativeInstrument","Thunes-Checkout":"#/components/schemas/AlternativeInstrument","ToditoCash-card":"#/components/schemas/AlternativeInstrument","Trustly":"#/components/schemas/AlternativeInstrument","UPayCard":"#/components/schemas/AlternativeInstrument","UPI":"#/components/schemas/AlternativeInstrument","USD-coin":"#/components/schemas/AlternativeInstrument","VCreditos":"#/components/schemas/AlternativeInstrument","VenusPoint":"#/components/schemas/AlternativeInstrument","voucher":"#/components/schemas/AlternativeInstrument","voucher-2":"#/components/schemas/AlternativeInstrument","voucher-3":"#/components/schemas/AlternativeInstrument","voucher-4":"#/components/schemas/AlternativeInstrument","Webmoney":"#/components/schemas/AlternativeInstrument","Webpay":"#/components/schemas/AlternativeInstrument","Webpay-2":"#/components/schemas/AlternativeInstrument","Webpay Card":"#/components/schemas/AlternativeInstrument","WeChat Pay":"#/components/schemas/AlternativeInstrument","XPay-P2P":"#/components/schemas/AlternativeInstrument","XPay-QR":"#/components/schemas/AlternativeInstrument","Yandex-money":"#/components/schemas/AlternativeInstrument","Zotapay":"#/components/schemas/AlternativeInstrument","Zimpler":"#/components/schemas/AlternativeInstrument"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCard"},{"$ref":"#/components/schemas/BankAccount"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]}},"components/schemas/PaymentInstrumentCreateToken":{"id":"components/schemas/PaymentInstrumentCreateToken","kind":"json-schema","title":"Payment token","data":{"title":"Payment token","type":"object","required":["customerId","token"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"token":{"description":"ID of the payment token.","type":"string"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentCardCreatePlain":{"id":"components/schemas/PaymentCardCreatePlain","kind":"json-schema","title":"Payment card","data":{"title":"Payment card","type":"object","required":["method","customerId","pan","expYear","expMonth","billingAddress"],"properties":{"method":{"description":"Method of the payment instrument.","type":"string","enum":["payment-card"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BBANType":{"id":"components/schemas/BBANType","kind":"json-schema","title":"BBANType","data":{"type":"object","description":"BBAN type object.","required":["accountNumberType","method","customerId","accountNumber","routingNumber","accountType","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","pattern":"^[0-9]+$","example":"1234567890"},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$","example":"123456789"},"accountType":{"description":"Type of the bank account.","type":"string","enum":["checking","savings","other"]},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/IBANType":{"id":"components/schemas/IBANType","kind":"json-schema","title":"IBANType","data":{"type":"object","description":"IBAN type object.","required":["accountNumberType","method","customerId","accountNumber","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","example":"DE89370400440532013000"},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string","example":"DEUTDE8LXXX"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BankAccountCreatePlain":{"id":"components/schemas/BankAccountCreatePlain","kind":"json-schema","title":"Bank account","data":{"title":"Bank account","type":"object","required":["accountNumberType"],"discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANType","IBAN":"#/components/schemas/IBANType"}},"oneOf":[{"$ref":"#/components/schemas/BBANType"},{"$ref":"#/components/schemas/IBANType"}]}},"components/schemas/PaymentInstrumentUpdateToken":{"id":"components/schemas/PaymentInstrumentUpdateToken","kind":"json-schema","title":"PaymentInstrumentUpdateToken","data":{"type":"object","properties":{"token":{"description":"ID of the payment token.","type":"string"},"billingAddress":{"description":"Customer's billing address.\nIf this value is supplied it overrides the billing address that is supplied with the token.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\nTo remove the sticky gateway account from a payment instrument, set this value to `null`.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentCardUpdatePlain":{"id":"components/schemas/PaymentCardUpdatePlain","kind":"json-schema","title":"PaymentCardUpdatePlain","data":{"type":"object","properties":{"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/BankAccountUpdatePlain":{"id":"components/schemas/BankAccountUpdatePlain","kind":"json-schema","title":"BankAccountUpdatePlain","data":{"type":"object","properties":{"bankName":{"description":"Name of the bank.","type":"string"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}}},"components/schemas/PaymentInstrumentNameInquiry":{"id":"components/schemas/PaymentInstrumentNameInquiry","kind":"json-schema","title":"PaymentInstrumentNameInquiry","data":{"type":"object","description":"Perform a name inquiry on a payment instrument.","required":["gatewayAccountId"],"properties":{"gatewayAccountId":{"description":"ID of the gateway account.","type":"string"},"result":{"description":"Result of the payment instrument name inquiry.","type":"string","readOnly":true,"enum":["full-match","partial-match","no-match","not-supported","unknown"]},"response":{"readOnly":true,"description":"Raw response message from gateway.","type":"string"}}}},"components/schemas/PlanFormulaFixedFee":{"id":"components/schemas/PlanFormulaFixedFee","kind":"json-schema","title":"Fixed-fee","data":{"title":"Fixed-fee","description":"Fixed-fee pricing details.\nUse this formula for subscriptions that involve the same price,\nnumber of units, and reoccur over a fixed period of time.\n\nFor more information, see [Fixed-fee per period](https://www.rebilly.com/docs/settings/pricing-formulas/#fixed-fee-per-period).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["fixed-fee"]},"price":{"description":"Use this formula to charge for subscriptions that have a fixed price,\nnumber of units, and reoccur over a fixed period of time,\nsuch as every: day, week, month, year, or number of years.\n\nFor example, a streaming company charges customers $13.99 each month for subscription period that is 6 months in duration.\nThe quantity of movies that a customer streams each month does not impact the price.","type":"number","format":"double","example":99.95}}}},"components/schemas/PlanFormulaFlatRate":{"id":"components/schemas/PlanFormulaFlatRate","kind":"json-schema","title":"Flat rate","data":{"title":"Flat rate","description":"Flat rate pricing details.\nUse this formula to charge a flat fee per unit.\nFor example, $0.10 per transaction or $4 per unit.\n\nFor more information, see [Flat rate pricing](https://www.rebilly.com/docs/billing/pricing-formulas/#flat-rate-pricing).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["flat-rate"]},"price":{"description":"Use this formula to charge a flat fee per unit.\nFor example, $0.10 for each transaction or $4 per unit.\n\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaStairstep":{"id":"components/schemas/PlanFormulaStairstep","kind":"json-schema","title":"Stair-step","data":{"title":"Stair-step","description":"Stair-step pricing details.\nUse this formula to charge for units that are sold in specific quantities.\n\nFor more information, see [Stair-step](https://www.rebilly.com/docs/billing/pricing-formulas/#stair-step).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["stairstep"]},"brackets":{"description":"Use this formula to charge for units that are sold in specific quantity ranges.\n\nFor example, a bank charges a merchant based on the number of transactions they complete each month.\n\nPrice total | Max quantity | Description\n------------|--------------|------------\n$50         | 1000         | Up to 1000 transactions\n$100        | 1500         | Between 1000 and 1500 transactions\n$200        | 3000         | Between 1500 and 3000 transactions\n$500        | null         | More than 3000 transactions\n\n- If the merchant completes 900 transaction in a month, they are charged $50.\n- If the merchant completes 1001 transaction in a month, they are charged $100.\n- If the merchant completes 2500  transaction in a month, they are charged $200.\n- If the merchant completes more than 3000 transaction in a month, they are charged $500.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaTiered":{"id":"components/schemas/PlanFormulaTiered","kind":"json-schema","title":"Tiered","data":{"title":"Tiered","description":"Tiered pricing details.\nUse this formula to charge for units that are sold within defined quantity ranges, or tiers.\n\nFor more information, see [Tiered](https://www.rebilly.com/docs/settings/pricing-formulas/#tiered).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["tiered"]},"brackets":{"description":"Use this formula to charge for units that are sold within defined quantity ranges, or tiers.\nIf a customer buys a number of units that span more than one tier,\nthe total cost is calculated based on the cost of the units in each tier.\n\nFor example, a software company sells user licenses based on the following:\n\nTier | Price per user | Max quantity | Description\n-----|----------------|--------------|------------\n1    | $40            | 3            | 1 to 3 user licenses\n2    | $30            | 5            | 5 to 8 user licenses\n3    | $15            | null         | 9 or more user licenses\n\nIf a customer buys 10 user licenses, the pricing is as follows:\n- 3 licenses at tier 1 (3 x $40) is 120\n- 5 licenses at tier 2 (5 x $30) is 150\n- 2 licenses at tier 3 (2 x $15) is 30\n\nTotal cost = $330\n\nFormula: `(price for the tier x quantity within the tier)` + `(price for next tier x quantity in next tier)` + `...` = final price.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanFormulaVolume":{"id":"components/schemas/PlanFormulaVolume","kind":"json-schema","title":"Volume","data":{"title":"Volume","description":"Volume pricing details.\nUse this formula to charge for units that are sold in bulk,\nor volume ranges. In general,\nthis formula means that a customer pays less per unit when they buy a large volume of units.\n\nFor more information, see [Volume](https://www.rebilly.com/docs/settings/pricing-formulas/#volume).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["volume"]},"brackets":{"description":"Use this formula to charge for units that are sold in bulk, or volume ranges.\nThis formula enables customers to pays less per unit when they buy a large volume of units.\nUnit cost is based on the highest volume range, and does not include lower volume range pricing.\n\nFor example, a company sells t-shirts in the following volume ranges:\n\nPrice per unit| Max quantity | Description\n--------------|--------------|------------\n$10           | 1            | 1 t-shirt\n$8            | 5            | 2 to 5 t-shirts\n$4            | null         | 6 or more t-shirts\n\n- If a customer buys 1 unit, they pay $10.\n- If a customer buys 3 units, they pay $24 per unit, which is $8 per unit.\n- If a customer buys 10 units, they pay $40, which is $4 per unit.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}}},"components/schemas/PlanPriceFormula":{"id":"components/schemas/PlanPriceFormula","kind":"json-schema","title":"PlanPriceFormula","data":{"description":"Pricing details.","type":"object","discriminator":{"propertyName":"formula","mapping":{"fixed-fee":"#/components/schemas/PlanFormulaFixedFee","flat-rate":"#/components/schemas/PlanFormulaFlatRate","stairstep":"#/components/schemas/PlanFormulaStairstep","tiered":"#/components/schemas/PlanFormulaTiered","volume":"#/components/schemas/PlanFormulaVolume"}},"oneOf":[{"$ref":"#/components/schemas/PlanFormulaFixedFee"},{"$ref":"#/components/schemas/PlanFormulaFlatRate"},{"$ref":"#/components/schemas/PlanFormulaStairstep"},{"$ref":"#/components/schemas/PlanFormulaTiered"},{"$ref":"#/components/schemas/PlanFormulaVolume"}]}},"components/schemas/PlanSetup":{"id":"components/schemas/PlanSetup","kind":"json-schema","title":"PlanSetup","data":{"type":["object","null"],"description":"Setup fee information for the plan.","required":["price"],"properties":{"price":{"description":"One-time setup fee charged when the plan starts.\nThis field is deprecated.\nUse the `setupFee` field instead.","type":"number","format":"double","deprecated":true}},"deprecated":true}},"components/schemas/PlanSetupFee":{"id":"components/schemas/PlanSetupFee","kind":"json-schema","title":"PlanSetupFee","data":{"description":"One-time setup fee charged when the plan starts.\nSet to `0` or `null` if no setup fee applies.","type":["number","null"],"format":"double","minimum":0,"example":0}},"components/schemas/SchedulingMethodDayAndMonthOfYear":{"id":"components/schemas/SchedulingMethodDayAndMonthOfYear","kind":"json-schema","title":"SchedulingMethodDayAndMonthOfYear","data":{"type":"object","properties":{"method":{"type":"string","enum":["day-and-month-of-year"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month of the year in which the event occurs."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","month","method"]}},"components/schemas/ServicePeriodAnchorInstruction":{"id":"components/schemas/ServicePeriodAnchorInstruction","kind":"json-schema","title":"ServicePeriodAnchorInstruction","data":{"type":["object","null"],"description":"Instruction for calculating the service period anchor.\n\nThe service period anchor is used, in conjunction with the subscription\nstart time, to calculate when the service period starts and ends.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}]}},"components/schemas/PlanTrial":{"id":"components/schemas/PlanTrial","kind":"json-schema","title":"PlanTrial","data":{"type":["object","null"],"required":["price","period"],"properties":{"price":{"description":"Price of setting up a trial.\nIf your service charges a fee for a trial, specify it here.\nTo charge no trial fee, set this value to `0`.","type":"number","format":"double"},"period":{"type":"object","description":"Period information.","required":["unit","length"],"properties":{"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1}}}}}},"components/schemas/InvoiceTimeShift":{"id":"components/schemas/InvoiceTimeShift","kind":"json-schema","title":"InvoiceTimeShift","data":{"type":["object","null"],"description":"Use invoice time shift to control the billing time.\n\nInvoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes.\n\nUse invoice time shift in conjunction with `billingTiming` to:\n\n- Bill immediately when the service period starts.\n- Bill immediately after the service period ends.\n- Bill at an interval of time before the service period starts.\n- Bill at an interval of time after the service period starts.\n- Bill at an interval of time before the service period ends.\n- Bill at an interval of time after the service period ends.","properties":{"issueTimeShift":{"type":"object","description":"Calculation instruction of the billing time.\n\nThis is used in conjunction with the service period anchor to calculate\nthe time at which the invoice is issued. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","required":["chronology","duration","unit"],"properties":{"chronology":{"type":"string","description":"Sequential order of the billing time relative to the start of the service period.","enum":["before"]},"duration":{"type":"integer","description":"Amount of time by which to move the invoice issue time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}},"dueTimeShift":{"type":"object","required":["duration","unit"],"description":"Calculation instruction of the invoice due time.\n\nThis is used in conjunction with the service period anchor to calculate when\nan invoice is due for payment. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).\n\nThe sequential order of due time shift is always after the due date.","default":{"duration":1,"unit":"hour"},"properties":{"duration":{"type":"integer","description":"Amount of time by which to move the invoice due time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}}}}},"components/schemas/SubscriptionPlan":{"id":"components/schemas/SubscriptionPlan","kind":"json-schema","title":"SubscriptionPlan","data":{"title":"SubscriptionPlan","description":"Details of the subscription order plan.\nUse this plan for subscriptions or sales that reoccur over a period of time.","type":"object","required":["name","currency","productId","pricing","recurringInterval"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `subscription` when `recurringInterval` is present.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["subscription"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"description":"Service interval settings.","type":"object","required":["unit","length"],"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"},"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1},"limit":{"description":"Number of invoices the subscription order generates.\nIf this value is `1`, only the initial order creation is generated.\n\nExample: For a 1 year contract that is billed monthly,\nwhere the `periodUnit` is `month` and the `periodDuration` is `1`,\nset this field to `12`.","type":["integer","null"],"minimum":1,"maximum":65535},"billingTiming":{"type":"string","default":"prepaid","description":"Billing timing in relation to the service period.\nFor `prepaid` plans the customer pays when the service period starts,\nwhereas, for `postpaid` plans, the customer pays when the service period ends.","enum":["prepaid","postpaid"]}}},"trial":{"description":"Trial configuration setting.\nIf you do not want to offer a trial, set this value to `null`.","$ref":"#/components/schemas/PlanTrial"},"meteredBilling":{"type":["object","null"],"required":["strategy"],"description":"Use metered billing when an exact quantity is unknown.\nReport usage during a service period and charge customers afterwards.\nMetered billing plans must be postpaid.","properties":{"strategy":{"type":"string","enum":["sum","last"],"x-enumDescriptions":{"sum":"Total amount of reported invoice item quantity usage.","last":"Last reported invoice item quantity usage."}},"min":{"description":"Minimum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"max":{"description":"Maximum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"sticky":{"description":"When enabled, if no usage is reported during a service period,\nthe plan bills the last known reported quantity from a previous period instead of zero.\nThis is suitable for hosted or persistent resources whose usage does not change every period.\nOnly supported with `strategy`: `last`.","type":"boolean","default":false,"example":false}}},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/SubscriptionPlanDetails":{"id":"components/schemas/SubscriptionPlanDetails","kind":"json-schema","title":"SubscriptionPlanDetails","data":{"title":"SubscriptionPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]}},"components/schemas/OneTimeSalePlan":{"id":"components/schemas/OneTimeSalePlan","kind":"json-schema","title":"OneTimeSalePlan","data":{"title":"OneTimeSalePlan","type":"object","description":"Details of the one-time sale plan.\nUse this plan for non-recurring, one-time, sales.","required":["name","currency","productId","pricing"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `one-time-sale` when both `recurringInterval` and `trial` are omitted.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["one-time-sale"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"type":"null","description":"Trial configuration setting.","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/OneTimeSalePlanDetails":{"id":"components/schemas/OneTimeSalePlanDetails","kind":"json-schema","title":"OneTimeSalePlanDetails","data":{"title":"OneTimeSalePlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]}},"components/schemas/TrialOnlyPlan":{"id":"components/schemas/TrialOnlyPlan","kind":"json-schema","title":"TrialOnlyPlan","data":{"title":"TrialOnlyPlan","description":"Details of the trial-only plan.\nUse this plan for limited-time product trials.\nTrials may have a reduced fee, or may be free.","type":"object","required":["name","currency","productId","trial"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `trial-only` when `trial` is present without `recurringInterval`.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["trial-only"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":true,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"description":"Trial configuration settings.","allOf":[{"type":"object"},{"$ref":"#/components/schemas/PlanTrial"}]},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"description":"Use invoice time shift to adjust the invoice issue and due date when billing must occur before the service period changes.\nFor example, rent must be paid in advance,\nso the invoice must be in advance of the billing date.\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/TrialOnlyPlanDetails":{"id":"components/schemas/TrialOnlyPlanDetails","kind":"json-schema","title":"TrialOnlyPlanDetails","data":{"title":"TrialOnlyPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}},"components/schemas/Plan":{"id":"components/schemas/Plan","kind":"json-schema","title":"Plan","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/SubscriptionPlanDetails","one-time-sale":"#/components/schemas/OneTimeSalePlanDetails","trial-only":"#/components/schemas/TrialOnlyPlanDetails"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionPlanDetails"},{"$ref":"#/components/schemas/OneTimeSalePlanDetails"},{"$ref":"#/components/schemas/TrialOnlyPlanDetails"}]}},"components/schemas/PlanRequest":{"id":"components/schemas/PlanRequest","kind":"json-schema","title":"PlanRequest","data":{"title":"PlanRequest","oneOf":[{"$ref":"#/components/schemas/SubscriptionPlan"},{"$ref":"#/components/schemas/OneTimeSalePlan"},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}},"components/schemas/Product":{"id":"components/schemas/Product","kind":"json-schema","title":"Product","data":{"type":"object","required":["name"],"description":"Products are the items that your business sells.\nProducts include digital goods, services, and physical goods.\nProducts appear on invoice line items.\nIf you set a tax category identifier, taxes are calculated at invoice generation.\nIf the product is shippable, shipping costs are calculated at invoice generation.\nPricing and variations are set within plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","properties":{"id":{"type":"string","description":"ID of the product.","readOnly":true,"maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"name":{"description":"Name of the product.","type":"string","minLength":3,"maxLength":255,"example":"Premium membership"},"unitLabel":{"description":"Unit label, such as per `seat` or per `unit`.","type":"string","minLength":1,"maxLength":50,"example":"seat","default":"unit"},"description":{"description":"Description of the product.","type":["string","null"],"maxLength":512},"requiresShipping":{"description":"Specifies if the product requires shipping.\nIf this value is `true`, shipping calculations are applied.","type":"boolean","example":false,"default":false},"options":{"description":"Product options such as color, size, and so forth.\nProduct option values are defined in plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","type":"array","items":{"type":"string"}},"taxCategoryId":{"description":"Tax category of the product.\nFor a complete list of supported tax categories, see [TaxJar sales tax API reference](https://developers.taxjar.com/api/reference/#get-list-tax-categories).\nIf none of the tax categories from the list are applicable for your product, use the general tax category `00000`.","type":["string","null"],"example":"00000"},"accountingCode":{"description":"Accounting code of the product.","type":["string","null"],"example":"4010"},"recognition":{"type":["object","null"],"properties":{"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"]},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"]}}},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OriginalPlan":{"id":"components/schemas/OriginalPlan","kind":"json-schema","title":"OriginalPlan","data":{"type":"object","description":"Use an existing plan without changes for the current order.\n\nTo create a new plan, see [Create a plan](https://www.rebilly.com/catalog/all/plans/postplan).","required":["id"],"additionalProperties":false,"properties":{"id":{"description":"ID of the plan.","$ref":"#/components/schemas/ResourceId"}}}},"components/schemas/FlexiblePlan":{"id":"components/schemas/FlexiblePlan","kind":"json-schema","title":"FlexiblePlan","data":{"oneOf":[{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}]}},"components/schemas/UsageLimits":{"id":"components/schemas/UsageLimits","kind":"json-schema","title":"UsageLimits","data":{"type":"object","description":"Specifies the soft and hard usage limit thresholds for an item with a metered billing plan.\nThis value is ignored when the plan is not metered.","properties":{"softLimit":{"type":"object","description":"Defines thresholds for notification purposes.\nFor example, to notify the customer that their usage is near the hard limit of their metered billing plan.\nThis notification informs the customer so that they can upgrade their plan before the hard limit is reached.\nWhen metered usage equals or exceeds the configured soft limit, the `soft-usage-limit-reached` event is triggered.\nThe quantity limit applies to the larger of the reported and billed quantity.\nIf a minimum billable quantity results in a billed quantity that is higher than the reported quantity, the billed quantity applies to the limit.\nIf a maximum billable quantity results in a billed quantity that is lower than the reported quantity, the reported quantity applies to the limit.\nThe amount limit applies to the billed amount.\nTo notify the customer, a webhook and notification can be configured for this event.\nThis field is useful for accounting and customer success purposes.\nThe usage of metered billing plans can still be reported if the soft limit is reached.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"hardLimit":{"type":"object","description":"Defines a limit where the customer can no longer use the service.\nHard limits are used in addition to soft limits.\nWhen a soft limit is reached,\na customer may receive a notification\nbut the service can still be provided up to the hard limit value so that the customer can upgrade their plan.\nWhen the reported usage reaches the configured limit,\na specific event is triggered.\nTo notify the customer in the merchant system,\nor block a service,\na webhook and notification can be configured for this event.\nWhen the total usage reaches the hard limit quantity,\nor amount values,\nmetered billing plan usages can no longer be reported.\nPlans with a minimum quantity, fixed fee, or flat stairstep bracket set a minimum billable quantity and amount.\nA `quantity` value below the minimum billable quantity is invalid.\nAn `amount` value below the minimum billable amount is invalid.\nA `0` value remains valid even on plans with minimum billing.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"trialLimit":{"oneOf":[{"type":"number","format":"double","minimum":0},{"type":"null"}],"description":"Defines a usage cap during the trial period of a subscription.\nThis limit is enforced only while the subscription is in its trial phase.\nWhen the reported usage reaches the configured trial limit, an event called 'trial-usage-limit-reached' is triggered.\nTo notify the customer or restrict access to the service, a webhook and notification can be configured for this event.\nOnce the trial limit is reached, additional usage cannot be reported unless the trial ends.","example":20.725}}}},"components/schemas/QuoteSubscriptionItem":{"id":"components/schemas/QuoteSubscriptionItem","kind":"json-schema","title":"QuoteSubscriptionItem","data":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["subscription"]},"quantity":{"description":"Number of product units in the specified plan.\nQuantity for metered billing is always 0.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.\nThis field is not used for metered billing plans.","type":["number","null"],"format":"double","example":5.125},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the quote item.\nThis value is only used for metered billing items.","example":"50% of the markup for approved transactions","default":"","maxLength":255},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/QuoteOneTimeSaleItem":{"id":"components/schemas/QuoteOneTimeSaleItem","kind":"json-schema","title":"QuoteOneTimeSaleItem","data":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["one-time-sale"]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/QuoteItem":{"id":"components/schemas/QuoteItem","kind":"json-schema","title":"QuoteItem","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/QuoteSubscriptionItem","one-time-sale":"#/components/schemas/QuoteOneTimeSaleItem"}},"oneOf":[{"$ref":"#/components/schemas/QuoteSubscriptionItem"},{"$ref":"#/components/schemas/QuoteOneTimeSaleItem"}]}},"components/schemas/CreationQuote":{"id":"components/schemas/CreationQuote","kind":"json-schema","title":"CreationQuote","data":{"type":"object","title":"CreationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, a new order is created.","type":"string","enum":["creation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote and created an order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["items"],"properties":{"id":{"description":"ID of the related order.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"autopay":{"type":"boolean","default":false,"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order."},"shipping":{"$ref":"#/components/schemas/Shipping"},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"startTime":{"description":"Date and time when the created order starts.\nIf this value is `null`, the quote acceptance time is used.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"isLegacy":{"description":"Specifies if the order is a legacy order.\nIf omitted when the quote is created, the value follows the order model that is used by the organization: `false` for the current order model and `true` for the legacy order model.\nIf omitted when the quote is updated, the value does not change.\nOrganizations that use the current order model cannot set this value to `true`.","type":"boolean","example":true}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/ChangeQuote":{"id":"components/schemas/ChangeQuote","kind":"json-schema","title":"ChangeQuote","data":{"type":"object","title":"ChangeQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the related order.\nChange quotes can only be created for orders with `active` or `trial-ended` status.\nFor `trial-ended` orders, use this quote type to convert a trial-only order to a regular recurring order.","type":"string","enum":["change"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. Quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"renewalPolicy":{"description":"Policy for managing service periods and trial state of the related order when the quote is accepted.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` flag is ignored unless `retain` is used, or this field is omitted.\nIf this field is omitted, this value defaults to `retainRecurring`.\nIf this field is omitted and `keepTrial` is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"string","default":"retainRecurring","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring` or `retainTrialThenRecurring` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring` or `retainTrialThenRecurring`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period length.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the time of quote acceptance.","type":["string","null"],"format":"date-time"},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change at once.\n  `prorated`, `renewalPolicy` and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `prorated` and `renewalPolicy` are ignored.\n  Omit `effectiveTime`.\n  If the request includes `effectiveTime`, a validation error is returned.\n  `couponIds` and `usageSettings` are not supported.\n  If the request includes either field, a validation error is returned.\n  `interimOnly` must be `true`.\n  A later request replaces the pending change.\n  The pending change is locked when the next renewal invoice is issued.\n  One-time sale items that are already on the order are retained.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`, or omitted.\nIf `renewalPolicy` is omitted and this field is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"boolean","default":false},"interimOnly":{"type":"boolean","default":true,"description":"Specifies if the quotation invoice must include interim items only.\nIf this value is set to `false`, all upcoming items are included.\nWith `applyAt` set to `nextRenewal`, this value must be `true`.\nTo bill the next period now, issue the upcoming invoice of the order."},"usageSettings":{"type":"array","default":[],"description":"Usage settings for items with metered billing.","items":{"type":"object","required":["productId","policy"],"properties":{"productId":{"type":"string","description":"ID of the product to use to transfer usage.\nIf the `policy` value is `transfer`,\nand an existing item and a new item are of the same product,\nusage can be transferred to the new item.\nIf a new item of the same product does not exist,\nor does not have a metered billing plan,\nthis transfer is ignored.","example":"prod_0YV7DENSVGDBW9S71XZNNYYQ0X"},"policy":{"type":"string","enum":["reset","transfer"],"description":"Policy for removed items that have a metered billing plan.","x-enumDescriptions":{"reset":"Delete existing usages.","transfer":"Transfer usages from removed item to new item of the same product."}}}}},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/ReactivationQuote":{"id":"components/schemas/ReactivationQuote","kind":"json-schema","title":"ReactivationQuote","data":{"type":"object","title":"ReactivationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the order and the order is reactivated.","type":"string","enum":["reactivation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. The related order is reactivated and quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":["string","null"],"format":"date-time"},"paymentInstrumentId":{"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"includeUnpaidInvoices":{"type":"boolean","default":false,"example":false,"description":"Specifies whether the quote invoice includes items from outstanding unpaid and past-due invoices for the related order.\nWhen this value is `true`, the quote invoice includes charges for eligible items from those invoices.\nWhen the quote is accepted, only invoices included in the quote that remain unpaid or past due and can be voided are voided."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}}},"components/schemas/Quote":{"id":"components/schemas/Quote","kind":"json-schema","title":"Quote","data":{"discriminator":{"propertyName":"type","mapping":{"creation":"#/components/schemas/CreationQuote","change":"#/components/schemas/ChangeQuote","reactivation":"#/components/schemas/ReactivationQuote"}},"oneOf":[{"$ref":"#/components/schemas/CreationQuote"},{"$ref":"#/components/schemas/ChangeQuote"},{"$ref":"#/components/schemas/ReactivationQuote"}]}},"components/schemas/QuoteReissue":{"id":"components/schemas/QuoteReissue","kind":"json-schema","title":"QuoteReissue","data":{"type":"object","properties":{"expirationTime":{"description":"Date and time when the reissued quote expires.\nA new expiration time must be later than the current time.\nIf this field is `null` or omitted, the quote keeps its expiration time when it has not passed.\nOtherwise, the quote expires one month after it is reissued.","type":["string","null"],"format":"date-time"}}}},"components/schemas/QuoteTimeline":{"id":"components/schemas/QuoteTimeline","kind":"json-schema","title":"QuoteTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["quote-created","quote-issued","quote-accepted","quote-rejected","quote-canceled","quote-recalled","quote-updated","quote-expired","quote-order-attached","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ReadyToPayAmount":{"id":"components/schemas/ReadyToPayAmount","kind":"json-schema","title":"With amount","data":{"type":"object","title":"With amount","required":["websiteId","currency","amount","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount to pay.","type":"number","format":"double"},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}}},"components/schemas/ReadyToPayItems":{"id":"components/schemas/ReadyToPayItems","kind":"json-schema","title":"With items","data":{"type":"object","title":"With items","required":["websiteId","items","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}}},"components/schemas/ReadyToPay":{"id":"components/schemas/ReadyToPay","kind":"json-schema","title":"ReadyToPay","data":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAmount"},{"$ref":"#/components/schemas/ReadyToPayItems"}]}},"components/schemas/PostReadyToPayRequest":{"id":"components/schemas/PostReadyToPayRequest","kind":"json-schema","title":"PostReadyToPayRequest","data":{"allOf":[{"type":"object","properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"}}},{"$ref":"#/components/schemas/ReadyToPay"}]}},"components/schemas/Country":{"id":"components/schemas/Country","kind":"json-schema","title":"Country","data":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"}},"components/schemas/DigitalWalletCountry":{"id":"components/schemas/DigitalWalletCountry","kind":"json-schema","title":"DigitalWalletCountry","data":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"}},"components/schemas/ApplePayFeature":{"id":"components/schemas/ApplePayFeature","kind":"json-schema","title":"Apple Pay Digital Wallet","data":{"type":"object","title":"Apple Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Apple Pay"]},"displayName":{"description":"String of 64 or fewer UTF-8 characters containing the canonical name for your store,\nthat is suitable for display.\nDo not localize the name.","type":"string","example":"Test Merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}},"components/schemas/GooglePayFeature":{"id":"components/schemas/GooglePayFeature","kind":"json-schema","title":"Google Pay Digital Wallet","data":{"type":"object","title":"Google Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Google Pay"]},"merchantName":{"description":"Merchant name in Google Pay.","type":"string","example":"Test Merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay.\nThe fully qualified domain name.","type":"string","example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}},"components/schemas/SamsungPayFeature":{"id":"components/schemas/SamsungPayFeature","kind":"json-schema","title":"Samsung Pay Digital Wallet","data":{"type":"object","title":"Samsung Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Samsung Pay"]},"merchantName":{"description":"Merchant name in Samsung Pay.","type":"string","example":"Test Merchant"}}}},"components/schemas/PaymentCardFeature":{"id":"components/schemas/PaymentCardFeature","kind":"json-schema","title":"PaymentCardFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Apple Pay":"#/components/schemas/ApplePayFeature","Google Pay":"#/components/schemas/GooglePayFeature","Samsung Pay":"#/components/schemas/SamsungPayFeature"}},"oneOf":[{"$ref":"#/components/schemas/ApplePayFeature"},{"$ref":"#/components/schemas/GooglePayFeature"},{"$ref":"#/components/schemas/SamsungPayFeature"}]}},"components/schemas/ReadyToPayMethodFilters":{"id":"components/schemas/ReadyToPayMethodFilters","kind":"json-schema","title":"ReadyToPayMethodFilters","data":{"type":"array","description":"For the method to be applicable, one or more of the following filters must match.\nIf no filters are sent, no restrictions are applied.\nFor more information, see [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","items":{"type":"string"}}},"components/schemas/ReadyToPayPaymentCardMethod":{"id":"components/schemas/ReadyToPayPaymentCardMethod","kind":"json-schema","title":"Payment card","data":{"type":"object","title":"Payment card","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["payment-card"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/PaymentCardFeature"},{"type":"null"}]},"brands":{"type":"array","description":"List of supported brands.","minItems":1,"items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/AchPlaidFeature":{"id":"components/schemas/AchPlaidFeature","kind":"json-schema","title":"Plaid","data":{"type":"object","title":"Plaid","required":["name","linkToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Plaid"]},"linkToken":{"type":"string","description":"Plaid `linkToken` for frontend integrations."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the `linkToken` expires."}}}},"components/schemas/ReadyToPayAchMethodFeature":{"id":"components/schemas/ReadyToPayAchMethodFeature","kind":"json-schema","title":"ReadyToPayAchMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Plaid":"#/components/schemas/AchPlaidFeature"}},"oneOf":[{"$ref":"#/components/schemas/AchPlaidFeature"}]}},"components/schemas/ReadyToPayAchMethod":{"id":"components/schemas/ReadyToPayAchMethod","kind":"json-schema","title":"ACH","data":{"type":"object","title":"ACH","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["ach"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAchMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/ReadyToPayGenericMethod":{"id":"components/schemas/ReadyToPayGenericMethod","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","required":["method"],"properties":{"method":{"$ref":"#/components/schemas/AlternativePaymentMethods"},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/PayPalBillingAgreementFeature":{"id":"components/schemas/PayPalBillingAgreementFeature","kind":"json-schema","title":"Billing agreement","data":{"type":"object","title":"Billing agreement","required":["name","paypalMerchantId","paypalClientId","billingAgreementToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["PayPal billing agreement"]},"paypalMerchantId":{"type":"string","description":"ID of the PayPal merchant."},"paypalClientId":{"type":"string","description":"ID of the PayPal client."},"billingAgreementToken":{"type":"string","description":"PayPal billing agreement token."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the billing agreement token expires."}}}},"components/schemas/ReadyToPayPayPalMethodFeature":{"id":"components/schemas/ReadyToPayPayPalMethodFeature","kind":"json-schema","title":"ReadyToPayPayPalMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"PayPal billing agreement":"#/components/schemas/PayPalBillingAgreementFeature"}},"oneOf":[{"$ref":"#/components/schemas/PayPalBillingAgreementFeature"}]}},"components/schemas/ReadyToPayPayPalMethod":{"id":"components/schemas/ReadyToPayPayPalMethod","kind":"json-schema","title":"PayPal","data":{"type":"object","title":"PayPal","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["paypal"]},"feature":{"description":"Specific features of PayPal.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayPayPalMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/KlarnaFeature":{"id":"components/schemas/KlarnaFeature","kind":"json-schema","title":"Klarna","data":{"type":"object","title":"Klarna","required":["name","clientToken","sessionId"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Klarna"]},"clientToken":{"type":"string","description":"Klarna client token."},"sessionId":{"type":"string","description":"Klarna session token."}}}},"components/schemas/ReadyToPayKlarnaMethodFeature":{"id":"components/schemas/ReadyToPayKlarnaMethodFeature","kind":"json-schema","title":"ReadyToPayKlarnaMethodFeature","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Klarna":"#/components/schemas/KlarnaFeature"}},"oneOf":[{"$ref":"#/components/schemas/KlarnaFeature"}]}},"components/schemas/ReadyToPayKlarnaMethod":{"id":"components/schemas/ReadyToPayKlarnaMethod","kind":"json-schema","title":"Klarna","data":{"type":"object","title":"Klarna","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["Klarna"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayKlarnaMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}}},"components/schemas/ReadyToPayMethods":{"id":"components/schemas/ReadyToPayMethods","kind":"json-schema","title":"ReadyToPayMethods","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/ReadyToPayPaymentCardMethod","ach":"#/components/schemas/ReadyToPayAchMethod","cash":"#/components/schemas/ReadyToPayGenericMethod","check":"#/components/schemas/ReadyToPayGenericMethod","paypal":"#/components/schemas/ReadyToPayPayPalMethod","AdvCash":"#/components/schemas/ReadyToPayGenericMethod","Alfa-click":"#/components/schemas/ReadyToPayGenericMethod","Alipay":"#/components/schemas/ReadyToPayGenericMethod","AstroPay Card":"#/components/schemas/ReadyToPayGenericMethod","AstroPay-GO":"#/components/schemas/ReadyToPayGenericMethod","BankReferenced":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-2":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-3":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-4":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-5":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-6":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-7":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-8":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-9":"#/components/schemas/ReadyToPayGenericMethod","Baloto":"#/components/schemas/ReadyToPayGenericMethod","Beeline":"#/components/schemas/ReadyToPayGenericMethod","Belfius-direct-net":"#/components/schemas/ReadyToPayGenericMethod","bitcoin":"#/components/schemas/ReadyToPayGenericMethod","Bizum":"#/components/schemas/ReadyToPayGenericMethod","Boleto":"#/components/schemas/ReadyToPayGenericMethod","cash-deposit":"#/components/schemas/ReadyToPayGenericMethod","CASHlib":"#/components/schemas/ReadyToPayGenericMethod","CashToCode":"#/components/schemas/ReadyToPayGenericMethod","China UnionPay":"#/components/schemas/ReadyToPayGenericMethod","Cleo":"#/components/schemas/ReadyToPayGenericMethod","CODVoucher":"#/components/schemas/ReadyToPayGenericMethod","Conekta-oxxo":"#/components/schemas/ReadyToPayGenericMethod","Cupon-de-pagos":"#/components/schemas/ReadyToPayGenericMethod","cryptocurrency":"#/components/schemas/ReadyToPayGenericMethod","domestic-cards":"#/components/schemas/ReadyToPayGenericMethod","echeck":"#/components/schemas/ReadyToPayGenericMethod","ecoPayz":"#/components/schemas/ReadyToPayGenericMethod","ecoVoucher":"#/components/schemas/ReadyToPayGenericMethod","Efecty":"#/components/schemas/ReadyToPayGenericMethod","EPS":"#/components/schemas/ReadyToPayGenericMethod","ePay.bg":"#/components/schemas/ReadyToPayGenericMethod","eZeeWallet":"#/components/schemas/ReadyToPayGenericMethod","FasterPay":"#/components/schemas/ReadyToPayGenericMethod","Flexepin":"#/components/schemas/ReadyToPayGenericMethod","Giropay":"#/components/schemas/ReadyToPayGenericMethod","Gpaysafe":"#/components/schemas/ReadyToPayGenericMethod","Google Pay":"#/components/schemas/ReadyToPayGenericMethod","iDebit":"#/components/schemas/ReadyToPayGenericMethod","iDEAL":"#/components/schemas/ReadyToPayGenericMethod","ING-homepay":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-pin":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-wallet":"#/components/schemas/ReadyToPayGenericMethod","InstaDebit":"#/components/schemas/ReadyToPayGenericMethod","instant-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","InstantPayments":"#/components/schemas/ReadyToPayGenericMethod","Interac":"#/components/schemas/ReadyToPayGenericMethod","Interac-online":"#/components/schemas/ReadyToPayGenericMethod","Interac-eTransfer":"#/components/schemas/ReadyToPayGenericMethod","invoice":"#/components/schemas/ReadyToPayGenericMethod","iWallet":"#/components/schemas/ReadyToPayGenericMethod","Jeton":"#/components/schemas/ReadyToPayGenericMethod","jpay":"#/components/schemas/ReadyToPayGenericMethod","Khelocard":"#/components/schemas/ReadyToPayGenericMethod","Klarna":"#/components/schemas/ReadyToPayKlarnaMethod","KNOT":"#/components/schemas/ReadyToPayGenericMethod","loonie":"#/components/schemas/ReadyToPayGenericMethod","Matrix":"#/components/schemas/ReadyToPayGenericMethod","MaxiCash":"#/components/schemas/ReadyToPayGenericMethod","Megafon":"#/components/schemas/ReadyToPayGenericMethod","MiFinity-eWallet":"#/components/schemas/ReadyToPayGenericMethod","miscellaneous":"#/components/schemas/ReadyToPayGenericMethod","Bancontact":"#/components/schemas/ReadyToPayGenericMethod","Bancontact-mobile":"#/components/schemas/ReadyToPayGenericMethod","MTS":"#/components/schemas/ReadyToPayGenericMethod","MuchBetter":"#/components/schemas/ReadyToPayGenericMethod","Multibanco":"#/components/schemas/ReadyToPayGenericMethod","Neosurf":"#/components/schemas/ReadyToPayGenericMethod","Netbanking":"#/components/schemas/ReadyToPayGenericMethod","Neteller":"#/components/schemas/ReadyToPayGenericMethod","Nordea-Solo":"#/components/schemas/ReadyToPayGenericMethod","OchaPay":"#/components/schemas/ReadyToPayGenericMethod","online-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","Onlineueberweisen":"#/components/schemas/ReadyToPayGenericMethod","oriental-wallet":"#/components/schemas/ReadyToPayGenericMethod","OXXO":"#/components/schemas/ReadyToPayGenericMethod","P24":"#/components/schemas/ReadyToPayGenericMethod","Pagadito":"#/components/schemas/ReadyToPayGenericMethod","PagoEffectivo":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-deposit-express":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-lottery":"#/components/schemas/ReadyToPayGenericMethod","PayCash":"#/components/schemas/ReadyToPayGenericMethod","Payeer":"#/components/schemas/ReadyToPayGenericMethod","PaymentAsia-crypto":"#/components/schemas/ReadyToPayGenericMethod","Paymero":"#/components/schemas/ReadyToPayGenericMethod","Perfect-money":"#/components/schemas/ReadyToPayGenericMethod","Piastrix":"#/components/schemas/ReadyToPayGenericMethod","plaid-account":"#/components/schemas/ReadyToPayGenericMethod","PayTabs":"#/components/schemas/ReadyToPayGenericMethod","Paysafecard":"#/components/schemas/ReadyToPayGenericMethod","Paysafecash":"#/components/schemas/ReadyToPayGenericMethod","Pay4Fun":"#/components/schemas/ReadyToPayGenericMethod","Paynote":"#/components/schemas/ReadyToPayGenericMethod","PinPay":"#/components/schemas/ReadyToPayGenericMethod","phone":"#/components/schemas/ReadyToPayGenericMethod","PhonePe":"#/components/schemas/ReadyToPayGenericMethod","POLi":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-card":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-e-finance":"#/components/schemas/ReadyToPayGenericMethod","QIWI":"#/components/schemas/ReadyToPayGenericMethod","QPay":"#/components/schemas/ReadyToPayGenericMethod","QQPay":"#/components/schemas/ReadyToPayGenericMethod","rapyd-checkout":"#/components/schemas/ReadyToPayGenericMethod","Resurs":"#/components/schemas/ReadyToPayGenericMethod","SafetyPay":"#/components/schemas/ReadyToPayGenericMethod","SEPA":"#/components/schemas/ReadyToPayGenericMethod","Skrill":"#/components/schemas/ReadyToPayGenericMethod","Skrill Rapid Transfer":"#/components/schemas/ReadyToPayGenericMethod","SMSVoucher":"#/components/schemas/ReadyToPayGenericMethod","Sofort":"#/components/schemas/ReadyToPayGenericMethod","SparkPay":"#/components/schemas/ReadyToPayGenericMethod","swift-dbt":"#/components/schemas/ReadyToPayGenericMethod","Tele2":"#/components/schemas/ReadyToPayGenericMethod","Terminaly-RF":"#/components/schemas/ReadyToPayGenericMethod","Thunes-Checkout":"#/components/schemas/ReadyToPayGenericMethod","ToditoCash-card":"#/components/schemas/ReadyToPayGenericMethod","Trustly":"#/components/schemas/ReadyToPayGenericMethod","UPayCard":"#/components/schemas/ReadyToPayGenericMethod","UPI":"#/components/schemas/ReadyToPayGenericMethod","USD-coin":"#/components/schemas/ReadyToPayGenericMethod","VCreditos":"#/components/schemas/ReadyToPayGenericMethod","VenusPoint":"#/components/schemas/ReadyToPayGenericMethod","voucher":"#/components/schemas/ReadyToPayGenericMethod","voucher-2":"#/components/schemas/ReadyToPayGenericMethod","voucher-3":"#/components/schemas/ReadyToPayGenericMethod","voucher-4":"#/components/schemas/ReadyToPayGenericMethod","Webmoney":"#/components/schemas/ReadyToPayGenericMethod","Webpay":"#/components/schemas/ReadyToPayGenericMethod","Webpay-2":"#/components/schemas/ReadyToPayGenericMethod","Webpay Card":"#/components/schemas/ReadyToPayGenericMethod","WeChat Pay":"#/components/schemas/ReadyToPayGenericMethod","XPay-P2P":"#/components/schemas/ReadyToPayGenericMethod","XPay-QR":"#/components/schemas/ReadyToPayGenericMethod","Yandex-money":"#/components/schemas/ReadyToPayGenericMethod","Zotapay":"#/components/schemas/ReadyToPayGenericMethod","Zimpler":"#/components/schemas/ReadyToPayGenericMethod"}},"oneOf":[{"$ref":"#/components/schemas/ReadyToPayPaymentCardMethod"},{"$ref":"#/components/schemas/ReadyToPayAchMethod"},{"$ref":"#/components/schemas/ReadyToPayGenericMethod"},{"$ref":"#/components/schemas/ReadyToPayPayPalMethod"},{"$ref":"#/components/schemas/ReadyToPayKlarnaMethod"}]}},"components/schemas/ShippingOption":{"id":"components/schemas/ShippingOption","kind":"json-schema","title":"ShippingOption","data":{"type":"object","required":["name","price","currency"],"properties":{"id":{"type":"string","description":"ID of the shipping rate.","readOnly":true,"maxLength":50,"example":"ship_rate_0YVDN408G4DQE9G1RV1QCFHJ3P"},"name":{"type":"string","description":"Name of the shipping rate."},"description":{"type":["string","null"],"description":"Description of the shipping rate."},"price":{"description":"Price of the shipping rate.\nIf `price` is `0`, shipping is free.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/ShippingRate":{"id":"components/schemas/ShippingRate","kind":"json-schema","title":"ShippingRate","data":{"allOf":[{"$ref":"#/components/schemas/ShippingOption"},{"properties":{"filter":{"type":"string","description":"Filter based on invoice properties that is used to determine when the rate is applicable.\nIf no filters are used, the rate is always applicable.","default":"","example":"deliveryAddress.country:US,CA,RU;amount:100..1000"},"status":{"description":"Status of the shipping rate.\nIf `status` is `inactive` the shipping rate is not applied.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}]}},"components/schemas/OneTimeSaleItem":{"id":"components/schemas/OneTimeSaleItem","kind":"json-schema","title":"OneTimeSaleItem","data":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"one-time-sale"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/UsageStatus":{"id":"components/schemas/UsageStatus","kind":"json-schema","title":"UsageStatus","data":{"type":"object","readOnly":true,"description":"Current status of the usage limits.","properties":{"isSoftLimitReached":{"type":"boolean","description":"Specifies if the soft limit has been reached.","example":false},"isHardLimitReached":{"type":"boolean","description":"Specifies if the hard limit has been reached.","example":false},"isTrialLimitReached":{"type":"boolean","description":"Specifies if the trial limit has been reached.","example":false}}}},"components/schemas/SubscriptionItem":{"id":"components/schemas/SubscriptionItem","kind":"json-schema","title":"SubscriptionItem","data":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the subscription.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"subscription"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"recurringInterval":{"type":["object","null"],"description":"Recurring interval to override plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same recurring period length.","example":null,"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"}}},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific item."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"components/schemas/OrderUpcomingInvoiceItem":{"id":"components/schemas/OrderUpcomingInvoiceItem","kind":"json-schema","title":"OrderUpcomingInvoiceItem","data":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"orderId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderUpcomingInvoice":{"id":"components/schemas/OrderUpcomingInvoice","kind":"json-schema","title":"OrderUpcomingInvoice","data":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice.\nThis value is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/OrderUpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Website":{"id":"components/schemas/Website","kind":"json-schema","title":"Website","data":{"type":"object","required":["name","url","servicePhone","serviceEmail"],"properties":{"id":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"name":{"description":"Name of the website.","type":"string"},"url":{"description":"Domain address of the website.","type":"string"},"servicePhone":{"description":"Customer service phone number of the website.","type":"string"},"serviceEmail":{"description":"Customer service email address of the website.","type":"string","format":"email"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"settings":{"type":"object","description":"Website settings.","properties":{"paymentForm":{"type":"object","description":"Payment form settings.","properties":{"css":{"description":"Hosted payment form [CSS options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#2-use-css-property-to-override-any-styles).","type":["string","null"]},"theme":{"description":"Hosted payment form [theme options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#adjust-the-default-style).\n\nThe `pageColorBackground` property sets the background color of the page around the form.\nIt is read by the hosted payment form page and is not passed to Rebilly Instruments.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"colorPrimary":"#504CCA","pageColorBackground":"#F6F8F9"}},"features":{"description":"Hosted payment form features.","type":["object","null"],"properties":{"showCoupons":{"type":["array","null"],"items":{"type":"string"}},"fullPageRedirect":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form uses a full page redirect, or the default iframe modal, for approval URL redirects.","default":false},"skipRedirectOnPaymentComplete":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form skips the redirect to the website URL when the payment is completed.","default":false},"hideZeroAmountSummaryItems":{"type":["boolean","null"],"description":"Specifies if the hosted payment form displays 0 amount line items in the summary.","default":false}}}}},"amplitude":{"type":"object","description":"Amplitude settings.\nAmplitude is an analytics tool for tracking user behavior.","properties":{"tracking":{"description":"Specifies if the hosted pages, such as KYC pages, include Amplitude analytics.","type":"boolean","default":false},"apiKey":{"description":"API key of an Amplitude project.","type":["string","null"],"minLength":20,"maxLength":50,"example":"35d1795750c585984f7e6b01c0ca6e19"}}},"payoutRequest":{"type":"object","description":"Payout request settings for the website.","properties":{"automaticReadinessEnabled":{"type":"boolean","default":false,"description":"Specifies whether pending payout requests are automatically marked as `ready`.\nWhen this value is `false`, payout requests are created in the `ready` status and automatic transition is not used.\nWhen this value is `true`, payout requests remain in the `pending` status until the pending period elapses and the configured transition time is reached."},"pendingPeriodHours":{"type":"integer","description":"Minimum number of hours a payout request stays in the `pending` status before it can be automatically set to `ready`.\nRequired when `automaticReadinessEnabled` is `true`.","minimum":1,"maximum":8760,"example":48},"automaticReadinessTime":{"description":"Time of day when the automatic readiness job processes eligible pending payout requests.\nRequired when `automaticReadinessEnabled` is `true`.\nUse extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset.\nWhen the timezone offset is omitted, the server timezone is used.","allOf":[{"$ref":"#/components/schemas/TimeIso8601Extended"}],"example":"10:00:00Z"},"automaticReadinessLastExecutedAt":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the automatic readiness job last completed successfully for this website."}}}}},"logoId":{"type":["string","null"],"description":"ID of the linked file object.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"logoUrl":{"readOnly":true,"description":"URL of the website logo.","type":["string","null"]},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","logoUrl"]}}}}}}},"components/schemas/RecurringOrder":{"id":"components/schemas/RecurringOrder","kind":"json-schema","title":"RecurringOrder","data":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"recurring"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","active","canceled","churned","paused","voided","completed","trial-ended","abandoned"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"type":"object","discriminator":{"propertyName":"type","mapping":{"one-time-sale":"#/components/schemas/OneTimeSaleItem","subscription":"#/components/schemas/SubscriptionItem"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionItem"},{"$ref":"#/components/schemas/OneTimeSaleItem"}]}},"invoiceIssueTimeShift":{"description":"Invoice issue time shift interval in ISO-8601 format.\n\nThis field adjusts the issue date and time of renewal invoices for the order.\n\nThis interval value supports the `-` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"invoiceDueTimeShift":{"description":"Invoice due time shift interval in ISO-8601 format.\n\nUse this field to adjust when payment is due for the order.\nIf autopay is configured, payment is collected automatically on this date.\n\nThis interval value supports the `+` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.","type":"boolean","default":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"churnTime":{"description":"Date and time when the order is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"cancellationTime":{"description":"Date and time when an order is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","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",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":["string","null"],"format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.\nIf subscriptions have different recurring settings or the order is not active, providing this field causes the request to be rejected with a conflict.\nThis field is ignored if the order is in trial.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time when the next subscription in this recurring order renews.","type":["string","null"],"format":"date-time","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}}},"components/schemas/OneTimeOrder":{"id":"components/schemas/OneTimeOrder","kind":"json-schema","title":"OneTimeOrder","data":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"one-time"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","voided","completed","abandoned"]},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"$ref":"#/components/schemas/OneTimeSaleItem"}},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"$ref":"#/components/schemas/Shipping"},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}}},"components/schemas/Order":{"id":"components/schemas/Order","kind":"json-schema","title":"Order","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"recurring":"#/components/schemas/RecurringOrder","one-time":"#/components/schemas/OneTimeOrder"}},"oneOf":[{"$ref":"#/components/schemas/RecurringOrder"},{"$ref":"#/components/schemas/OneTimeOrder"}]}},"components/schemas/OrderPause":{"id":"components/schemas/OrderPause","kind":"json-schema","title":"OrderPause","data":{"type":"object","description":"Order pause details.","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the order pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"orderId":{"type":"string","description":"ID of the paused order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"status":{"description":"Status of the order pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the order resumes billing.\n\nTo resume an order from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the order is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month order on a 30-day month is paused on day 20.\nThere are 10 unused days on the order.\nTherefore, the order renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf a subscription item in the order uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderChange":{"id":"components/schemas/OrderChange","kind":"json-schema","title":"OrderChange","data":{"type":"object","description":"Change to the items of a recurring order.\nA change with `applyAt` set to `now` replaces the items immediately.\nA change with `applyAt` set to `nextRenewal` records the new items and applies them at the next renewal.\nThe current items remain until the next renewal, when the new items are applied and billed on the renewal invoice.\n\nThis resource records changes made through this resource and changes created by a quote with `applyAt` set to `nextRenewal`.\nChanges made through the `POST /orders/{id}/change-items` operation or through a quote with `applyAt` set to `now` are not recorded.\nA change with `applyAt` set to `now` triggers the `order-change-created` and `order-change-applied` events and the item events of the order.","required":["orderId","items"],"properties":{"id":{"description":"ID of the order change.","type":"string","maxLength":50,"readOnly":true,"example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"orderId":{"description":"ID of the order.","type":"string","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the order change.","type":"string","readOnly":true,"enum":["pending","applied","canceled","superseded"],"x-enumDescriptions":{"pending":"Scheduled to apply at the next renewal.","applied":"Items of the order are replaced.","canceled":"Canceled before the change is applied.","superseded":"Replaced by a later change for the same order."}},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change immediately.\n  `renewalPolicy`, `prorated`, and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `renewalPolicy`, `prorated`, and `effectiveTime` are not allowed.\n  A later change for the same order supersedes the pending change.\n  The pending change is locked once the next renewal invoice is issued.\n  To remove a pending change, use the `DELETE /order-changes/{id}` operation.\n  The new items must differ from the current items.\n  One-time sale items that are already on the order remain.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"effectiveTime":{"description":"Date and time when the change is applied.\nIf `applyAt` is set to `now`, this value is the date from which the renewal time for `resetToRecurring` and the proration are calculated.\nIf this field is omitted, this value defaults to the current time.\nIf `applyAt` is set to `nextRenewal`, this value is read-only and equals the renewal time of the order.","type":"string","format":"date-time"},"lockedTime":{"description":"Date and time when the items of a pending change are billed.\nAfter this time, the change is locked and cannot be modified until the renewal.","type":["string","null"],"format":"date-time","readOnly":true},"appliedTime":{"description":"Date and time when the items of the order are replaced.","type":["string","null"],"format":"date-time","readOnly":true},"quoteId":{"description":"ID of the quote that is used to create the change.\nThis value is `null` if the change is not created from a quote.","type":["string","null"],"maxLength":50,"readOnly":true},"items":{"description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","type":"array","minItems":1,"items":{"type":"object","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}]},"excludeFromMrr":{"description":"Specifies if this item is excluded from monthly recurring revenue calculations.","type":["boolean","null"]}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order are managed when its items change now.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderCancellation":{"id":"components/schemas/OrderCancellation","kind":"json-schema","title":"OrderCancellation","data":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"orderId":{"type":"string","description":"ID of the canceled order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and order next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the order cancellation.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms an order cancellation.\nSets the order to cancel when the `churnTime` is reached.","completed":"Marks an order cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes an order cancellation."}},"canceledTime":{"description":"Date and time when an order is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the order is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the order is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":[null,"now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the order cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OrderReactivation":{"id":"components/schemas/OrderReactivation","kind":"json-schema","title":"OrderReactivation","data":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"ord_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"orderId":{"type":"string","description":"ID of the reactivated order.","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\n\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionOrOneTimeSaleItem":{"id":"components/schemas/SubscriptionOrOneTimeSaleItem","kind":"json-schema","title":"SubscriptionOrOneTimeSaleItem","data":{"type":"object","required":["plan"],"properties":{"id":{"type":"string","description":"ID of the order item.","readOnly":true,"maxLength":50},"planId":{"description":"ID of the plan.\n\n> **Note:** This field is deprecated. Use the `plan.id` field instead.","deprecated":true,"x-basic":true,"type":"string","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"plan":{"oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific plan item."},"isModified":{"type":"boolean","readOnly":true,"description":"Specifies if the plan information is modified for this subscription."},"isGrandfathered":{"type":"boolean","readOnly":true,"description":"Specifies if the current plan revision number is greater than the plan item revision number."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"}}}}}},"components/schemas/Subscription":{"id":"components/schemas/Subscription","kind":"json-schema","title":"Subscription","data":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.\n\n> **Note:** The order type cannot be changed after creation.","type":"string","x-basic":true,"enum":["subscription-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the subscription service.\nA subscription starts in the `pending` status, and becomes `active` when the service period begins.","type":"string","readOnly":true,"enum":["pending","active","abandoned","canceled","churned","paused","voided","completed","trial-ended"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"invoiceTimeShift":{"description":"Shifts issue time and due time of invoices for this subscription.\n\nThis setting overrides plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same billing period,\nthis property enables the customer to subscribe to different plans.","$ref":"#/components/schemas/InvoiceTimeShift"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the subscription.","type":"boolean","default":true},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"churnTime":{"description":"Date and time when the subscription is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"lineItems":{"description":"Subscription line items which queue until the next renewal, or interim, invoice is issued for the subscription.","readOnly":true,"type":"array","deprecated":true,"items":{"type":"object","description":"Invoice line item.\nUse the `isInterim` property of upcoming invoice items instead.","deprecated":true,"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"type":"object","readOnly":true,"deprecated":true,"description":"Subtotal of line items in this subscription (signed value).\nIf credits exceed debits, this value is a negative number.","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","x-type":"Money","x-sortable":true,"description":"Amount of the subtotal.","format":"double","example":49.95}}},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).\n\n> **Note:** The ID of the website cannot be changed after creation.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG","x-sortable":true,"x-basic":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n{% admonition type=\"warning\" %}\n- If the `delinquencyPeriod` value is `null`, the order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.\n- If you add a delinquency period to an active order, it is applied to all new invoices created for the order. It is not applied to the unpaid and past-due invoices. To apply a delinquency period to unpaid and past-due invoices, set the `delinquencyTime` parameter using the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=delinquencytime).\n{% /admonition %}\n\nIf this value is not passed during order creation,\nan [order delinquency period](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/orderdelinquencyperiod) setting is used to calculate the value.","example":"P7D","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"canceledTime":{"description":"Date and time when a subscription is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","delinquency","did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","never-started","switched-plan","organization-deactivated","other",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"initialInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"},"upcomingInvoice":{"type":"object"}}}}}},"components/schemas/OneTimeSale":{"id":"components/schemas/OneTimeSale","kind":"json-schema","title":"OneTimeSale","data":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.","type":"string","x-basic":true,"enum":["one-time-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the one-time order.","type":"string","readOnly":true,"enum":["pending","abandoned","completed","canceled"]},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"x-sortable":true,"x-basic":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice (`null` for one-time orders).","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"}}}}}},"components/schemas/SubscriptionOrOneTimeSale":{"id":"components/schemas/SubscriptionOrOneTimeSale","kind":"json-schema","title":"SubscriptionOrOneTimeSale","data":{"type":"object","description":"Subscription details.","discriminator":{"propertyName":"orderType","mapping":{"subscription-order":"#/components/schemas/Subscription","one-time-order":"#/components/schemas/OneTimeSale"}},"oneOf":[{"$ref":"#/components/schemas/Subscription"},{"$ref":"#/components/schemas/OneTimeSale"}]}},"components/schemas/SubscriptionChange":{"id":"components/schemas/SubscriptionChange","kind":"json-schema","title":"SubscriptionChange","data":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New set of items for the subscription.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the subscription order are managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless `reset` or `retain` is used.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring` or `retainTrialOnly`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the subscription can be previewed.\nSubscriptions cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}}},"components/schemas/OrderItemsChange":{"id":"components/schemas/OrderItemsChange","kind":"json-schema","title":"OrderItemsChange","data":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the specified plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order that contains subscription items is managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless the value is `reset` or `retain`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date and time that is used to calculate the renewal time for `reset` operations and proration.\nIf this field is omitted, the date and time default to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the order can be previewed.\nOrders cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}}},"components/schemas/OrderItemUpdate":{"id":"components/schemas/OrderItemUpdate","kind":"json-schema","title":"OrderItemUpdate","data":{"type":"object","properties":{"quantityFilled":{"description":"Filled quantity of the subscription item.","type":["number","null"],"format":"double","example":5.125},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"plan":{"type":"object","description":"Details of the subscription item plan.","properties":{"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}}}}}}},"components/schemas/SubscriptionInvoice":{"id":"components/schemas/SubscriptionInvoice","kind":"json-schema","title":"SubscriptionInvoice","data":{"type":"object","properties":{"transactionId":{"description":"If present, applies a payment to the invoice created.\nIf the payment is for the invoice total, it would be marked as paid.","$ref":"#/components/schemas/TransactionId"}}}},"components/schemas/SubscriptionPause":{"id":"components/schemas/SubscriptionPause","kind":"json-schema","title":"SubscriptionPause","data":{"type":"object","description":"Subscription pause details.","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the subscription pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"subscriptionId":{"type":"string","description":"ID of the paused subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the subscription pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the subscription resumes billing.\n\nTo resume a subscription from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the subscription is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month subscription on a 30-day month is paused on day 20 of the subscription.\nThere are 10 unused days on the subscription.\nTherefore, the subscription renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf the subscription uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders-(legacy)),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionCancellation":{"id":"components/schemas/SubscriptionCancellation","kind":"json-schema","title":"SubscriptionCancellation","data":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"subscriptionId":{"type":"string","description":"ID of the canceled subscription order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the subscription order.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms a subscription cancellation.\nSets the subscription to cancel when the `churnTime` is reached.","completed":"Marks a subscription cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes a subscription cancellation."}},"canceledTime":{"description":"Date and time when a subscription is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the subscription is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the subscription is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":["null","now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the subscription cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SubscriptionReactivation":{"id":"components/schemas/SubscriptionReactivation","kind":"json-schema","title":"SubscriptionReactivation","data":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"sub_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"subscriptionId":{"type":"string","description":"ID of the reactivated subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the subscription is canceled but still active.\n\nIf the subscription is still active,\nthe subscription continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next subscription renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the subscription is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the subscription payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/UpcomingInvoiceItem":{"id":"components/schemas/UpcomingInvoiceItem","kind":"json-schema","title":"UpcomingInvoiceItem","data":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","plan","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}}},"components/schemas/UpcomingInvoice":{"id":"components/schemas/UpcomingInvoice","kind":"json-schema","title":"UpcomingInvoice","data":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice, which is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"subscriptionId":{"description":"ID of the related subscription order.","type":"string","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/UpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"billingAddress":{"description":"Billing address of the invoice.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","subscription","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"}}}}}},"components/schemas/OrderTimeline":{"id":"components/schemas/OrderTimeline","kind":"json-schema","title":"OrderTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-voided","order-activated","order-autopay-changed","order-billing-address-changed","order-billing-anchor-changed","order-canceled","order-churned","order-completed","order-custom-fields-changed","order-delivery-address-changed","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-items-changed","order-paid-early","order-quantity-changed","order-reactivated","order-recurring-interval-changed","order-renewal-time-changed","order-renewed","order-risk-metadata-changed","order-trial-ended","order-upgraded","order-voided","order-abandoned","quote-accepted","subscription-paused","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-resumed","subscription-trial-end-changed","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Usage":{"id":"components/schemas/Usage","kind":"json-schema","title":"Usage","data":{"type":"object","required":["subscriptionId","quantity"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the usage record.","maxLength":50,"example":"sub_usg_0YVJ636B95DNA9M3B1638HXBCQ"},"subscriptionId":{"type":"string","description":"Subscription ID for which the usage is reported.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"invoiceItemId":{"description":"ID of the invoice item to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"quantity":{"description":"Quantity of consumed units for a subscription plan product.\nRepresents the actual usage of a billable product or service by the customer.\nAccepts both integer and decimal values with a precision of up to 3 decimal places.\nThe minimum billable unit is 0.001.","type":"number","format":"double","minimum":0.001,"example":5.125},"usageTime":{"description":"Date and time, in ISO 8601 format, when a usage occurred.\nIf this value is not provided or is empty, the date and time of the request is used.","type":"string","format":"date-time"},"acceptPartialQuantity":{"description":"Specifies whether partial usage should be accepted if the reported quantity exceeds the available limit.\n\nWhen set to `true`, the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage.\nWhen set to `false`, the system rejects the request if the reported quantity exceeds the limit.","type":"boolean","writeOnly":true,"default":false,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentCardToken":{"id":"components/schemas/PaymentCardToken","kind":"json-schema","title":"Payment card token","data":{"type":"object","title":"Payment card token","description":"Creates a payment card token.\nA payment card token is a string that represents a customer's payment card details.\nIt can be used once, and expires upon first use or within 30 minutes of token creation.\nTo generate a full payment card token, you must provide the `billingAddress`.\nIf `billingAddress` is not provided, the token can not be used for payments.","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["payment-card"]},"paymentInstrument":{"description":"Payment card instrument details.","type":"object","required":["expMonth","expYear"],"properties":{"pan":{"description":"Primary Account Number (PAN) of the payment card.\nThis value is required to perform a payment.","type":"string","writeOnly":true},"cvv":{"description":"Card Verification Value (CVV/CVC) of the payment card.\nTakes precedence over `encryptedCvv` if both are included.","type":"string","writeOnly":true},"encryptedCvv":{"description":"Encrypted CVV of the payment card.\nUse to update a payment card with a CVV stored on the client side.\nThis value is returned for client side caching if `cvv` is provided in the request.","type":["string","null"],"minLength":100,"maxLength":255},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the first 6 digits of the payment card number.","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Primary Account Number (PAN) of the payment card.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]}}},"billingAddress":{"description":"Billing address object.\nThis value is required to perform payments.\nFor payment-card updates, `billingAddress` can be ignored.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token has been used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PayPalToken":{"id":"components/schemas/PayPalToken","kind":"json-schema","title":"PayPal token","data":{"type":"object","title":"PayPal token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["paypal"]},"paymentInstrument":{"description":"Paypal instrument details required for express checkout.","type":"object","required":["billingAgreementToken","paypalMerchantId"],"properties":{"paypalMerchantId":{"description":"ID of the PayPal merchant.","type":"string"},"billingAgreementToken":{"description":"PayPal billing agreement token.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expires.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BBANInstrument":{"id":"components/schemas/BBANInstrument","kind":"json-schema","title":"BBANInstrument","data":{"description":"Bank account BBAN instrument.","type":"object","required":["accountNumberType","accountNumber","routingNumber","accountType"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.","type":"string","pattern":"^[0-9]+$","writeOnly":true},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}}},"components/schemas/IBANInstrument":{"id":"components/schemas/IBANInstrument","kind":"json-schema","title":"IBANInstrument","data":{"description":"Bank account IBAN instrument.","type":"object","required":["accountNumberType","accountNumber"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Bank account number.\nDetailed information about all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","writeOnly":true},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}}},"components/schemas/BankAccountInstrument":{"id":"components/schemas/BankAccountInstrument","kind":"json-schema","title":"BankAccountInstrument","data":{"type":"object","description":"Bank account BBAN or IBAN instrument.","discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANInstrument","IBAN":"#/components/schemas/IBANInstrument"}},"oneOf":[{"$ref":"#/components/schemas/BBANInstrument"},{"$ref":"#/components/schemas/IBANInstrument"}]}},"components/schemas/BankAccountToken":{"id":"components/schemas/BankAccountToken","kind":"json-schema","title":"Bank account token","data":{"type":"object","title":"Bank account token","required":["method","paymentInstrument","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["ach","echeck"]},"paymentInstrument":{"$ref":"#/components/schemas/BankAccountInstrument"},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DigitalWalletToken":{"id":"components/schemas/DigitalWalletToken","kind":"json-schema","title":"Digital wallet token","data":{"type":"object","title":"Digital wallet token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["digital-wallet"]},"paymentInstrument":{"description":"Payment instrument details.","type":"object","required":["type","amount","currency","descriptor","payload"],"properties":{"type":{"description":"Type of digital wallet.","type":"string","enum":["Apple Pay","Google Pay","Samsung Pay"]},"amount":{"description":"Authorized for the digital wallet amount.","type":"number","format":"double"},"currency":{"description":"Authorized for the digital wallet currency.","$ref":"#/components/schemas/CurrencyCode"},"descriptor":{"description":"Descriptor for a payment.","type":"string"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Device Primary Account Number (DPAN).","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Device Primary Account Number (DPAN) of the payment card.\nThe DPAN is the tokenized card number used in digital wallet transactions,\nas opposed to the Funding Primary Account Number (FPAN) which is the physical card number visible to the cardholder.","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThe FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in digital wallet transactions.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"expMonth":{"readOnly":true,"description":"Payment card expiration month.","type":"integer"},"expYear":{"readOnly":true,"description":"Payment card expiration year.","type":"integer"},"payload":{"writeOnly":true,"description":"Digital wallet encoded data.\nThis field may contain the digital wallet billing address.","type":"object"}}},"billingAddress":{"readOnly":true,"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PlaidAccountToken":{"id":"components/schemas/PlaidAccountToken","kind":"json-schema","title":"Plaid account token","data":{"type":"object","title":"Plaid account token","required":["method","billingAddress","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["plaid-account"]},"paymentInstrument":{"description":"Plaid payment instrument details.","type":"object","required":["linkToken","publicToken","accountId"],"properties":{"linkToken":{"type":"string","description":"Plaid link token.","writeOnly":true},"publicToken":{"type":"string","description":"Plaid public token."},"accountId":{"type":"string","description":"ID of the Plaid account."}}},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AlternativePaymentToken":{"id":"components/schemas/AlternativePaymentToken","kind":"json-schema","title":"Alternative payment token","data":{"type":"object","title":"Alternative payment token","required":["method","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck","digital-wallet","plaid-account","Klarna","cryptocurrency"]}}]},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/KlarnaToken":{"id":"components/schemas/KlarnaToken","kind":"json-schema","title":"Klarna token","data":{"type":"object","title":"Klarna token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["Klarna"]},"paymentInstrument":{"description":"Klarna instrument details required for express checkout.","type":"object","required":["klarnaAuthorizationToken","klarnaSessionId"],"properties":{"klarnaAuthorizationToken":{"description":"Klarna authorization token.","type":"string"},"klarnaSessionId":{"description":"ID of the Klarna session.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CryptocurrencyToken":{"id":"components/schemas/CryptocurrencyToken","kind":"json-schema","title":"Cryptocurrency token","data":{"type":"object","title":"Cryptocurrency token","required":["method"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["cryptocurrency"]},"walletName":{"description":"Name of the crypto wallet.","type":["string","null"],"maxLength":255},"walletAddress":{"description":"Address of the crypto wallet.","type":["string","null"],"maxLength":255},"walletCurrency":{"description":"Currency of the crypto wallet.","type":["string","null"],"maxLength":255},"walletNetwork":{"description":"Network of the crypto wallet.","type":["string","null"],"maxLength":255},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CompositeToken":{"id":"components/schemas/CompositeToken","kind":"json-schema","title":"CompositeToken","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCardToken","paypal":"#/components/schemas/PayPalToken","ach":"#/components/schemas/BankAccountToken","echeck":"#/components/schemas/BankAccountToken","digital-wallet":"#/components/schemas/DigitalWalletToken","plaid-account":"#/components/schemas/PlaidAccountToken","Khelocard":"#/components/schemas/AlternativePaymentToken","Klarna":"#/components/schemas/KlarnaToken","cash":"#/components/schemas/AlternativePaymentToken","check":"#/components/schemas/AlternativePaymentToken","AdvCash":"#/components/schemas/AlternativePaymentToken","Alfa-click":"#/components/schemas/AlternativePaymentToken","Alipay":"#/components/schemas/AlternativePaymentToken","AstroPay Card":"#/components/schemas/AlternativePaymentToken","AstroPay-GO":"#/components/schemas/AlternativePaymentToken","BankReferenced":"#/components/schemas/AlternativePaymentToken","bank-transfer":"#/components/schemas/AlternativePaymentToken","bank-transfer-2":"#/components/schemas/AlternativePaymentToken","bank-transfer-3":"#/components/schemas/AlternativePaymentToken","bank-transfer-4":"#/components/schemas/AlternativePaymentToken","bank-transfer-5":"#/components/schemas/AlternativePaymentToken","bank-transfer-6":"#/components/schemas/AlternativePaymentToken","bank-transfer-7":"#/components/schemas/AlternativePaymentToken","bank-transfer-8":"#/components/schemas/AlternativePaymentToken","bank-transfer-9":"#/components/schemas/AlternativePaymentToken","Baloto":"#/components/schemas/AlternativePaymentToken","Beeline":"#/components/schemas/AlternativePaymentToken","Belfius-direct-net":"#/components/schemas/AlternativePaymentToken","bitcoin":"#/components/schemas/AlternativePaymentToken","Bizum":"#/components/schemas/AlternativePaymentToken","Boleto":"#/components/schemas/AlternativePaymentToken","cash-deposit":"#/components/schemas/AlternativePaymentToken","CASHlib":"#/components/schemas/AlternativePaymentToken","CashToCode":"#/components/schemas/AlternativePaymentToken","China UnionPay":"#/components/schemas/AlternativePaymentToken","Cleo":"#/components/schemas/AlternativePaymentToken","CODVoucher":"#/components/schemas/AlternativePaymentToken","Conekta-oxxo":"#/components/schemas/AlternativePaymentToken","Cupon-de-pagos":"#/components/schemas/AlternativePaymentToken","cryptocurrency":"#/components/schemas/CryptocurrencyToken","domestic-cards":"#/components/schemas/AlternativePaymentToken","ecoPayz":"#/components/schemas/AlternativePaymentToken","ecoVoucher":"#/components/schemas/AlternativePaymentToken","Efecty":"#/components/schemas/AlternativePaymentToken","EPS":"#/components/schemas/AlternativePaymentToken","ePay.bg":"#/components/schemas/AlternativePaymentToken","eZeeWallet":"#/components/schemas/AlternativePaymentToken","FasterPay":"#/components/schemas/AlternativePaymentToken","Flexepin":"#/components/schemas/AlternativePaymentToken","Giropay":"#/components/schemas/AlternativePaymentToken","Gpaysafe":"#/components/schemas/AlternativePaymentToken","Google Pay":"#/components/schemas/AlternativePaymentToken","iDebit":"#/components/schemas/AlternativePaymentToken","iDEAL":"#/components/schemas/AlternativePaymentToken","ING-homepay":"#/components/schemas/AlternativePaymentToken","INOVAPAY-pin":"#/components/schemas/AlternativePaymentToken","INOVAPAY-wallet":"#/components/schemas/AlternativePaymentToken","InstaDebit":"#/components/schemas/AlternativePaymentToken","instant-bank-transfer":"#/components/schemas/AlternativePaymentToken","InstantPayments":"#/components/schemas/AlternativePaymentToken","Interac":"#/components/schemas/AlternativePaymentToken","Interac-online":"#/components/schemas/AlternativePaymentToken","Interac-eTransfer":"#/components/schemas/AlternativePaymentToken","invoice":"#/components/schemas/AlternativePaymentToken","iWallet":"#/components/schemas/AlternativePaymentToken","Jeton":"#/components/schemas/AlternativePaymentToken","jpay":"#/components/schemas/AlternativePaymentToken","KNOT":"#/components/schemas/AlternativePaymentToken","loonie":"#/components/schemas/AlternativePaymentToken","Matrix":"#/components/schemas/AlternativePaymentToken","MaxiCash":"#/components/schemas/AlternativePaymentToken","Megafon":"#/components/schemas/AlternativePaymentToken","MiFinity-eWallet":"#/components/schemas/AlternativePaymentToken","miscellaneous":"#/components/schemas/AlternativePaymentToken","Bancontact":"#/components/schemas/AlternativePaymentToken","Bancontact-mobile":"#/components/schemas/AlternativePaymentToken","MTS":"#/components/schemas/AlternativePaymentToken","MuchBetter":"#/components/schemas/AlternativePaymentToken","Multibanco":"#/components/schemas/AlternativePaymentToken","Neosurf":"#/components/schemas/AlternativePaymentToken","Netbanking":"#/components/schemas/AlternativePaymentToken","Neteller":"#/components/schemas/AlternativePaymentToken","Nordea-Solo":"#/components/schemas/AlternativePaymentToken","OchaPay":"#/components/schemas/AlternativePaymentToken","online-bank-transfer":"#/components/schemas/AlternativePaymentToken","Onlineueberweisen":"#/components/schemas/AlternativePaymentToken","oriental-wallet":"#/components/schemas/AlternativePaymentToken","OXXO":"#/components/schemas/AlternativePaymentToken","P24":"#/components/schemas/AlternativePaymentToken","Pagadito":"#/components/schemas/AlternativePaymentToken","PagoEffectivo":"#/components/schemas/AlternativePaymentToken","Pagsmile-deposit-express":"#/components/schemas/AlternativePaymentToken","Pagsmile-lottery":"#/components/schemas/AlternativePaymentToken","PayCash":"#/components/schemas/AlternativePaymentToken","Payeer":"#/components/schemas/AlternativePaymentToken","PaymentAsia-crypto":"#/components/schemas/AlternativePaymentToken","Paymero":"#/components/schemas/AlternativePaymentToken","Perfect-money":"#/components/schemas/AlternativePaymentToken","Piastrix":"#/components/schemas/AlternativePaymentToken","PayTabs":"#/components/schemas/AlternativePaymentToken","Paysafecard":"#/components/schemas/AlternativePaymentToken","Paysafecash":"#/components/schemas/AlternativePaymentToken","Pay4Fun":"#/components/schemas/AlternativePaymentToken","Paynote":"#/components/schemas/AlternativePaymentToken","PinPay":"#/components/schemas/AlternativePaymentToken","phone":"#/components/schemas/AlternativePaymentToken","PhonePe":"#/components/schemas/AlternativePaymentToken","POLi":"#/components/schemas/AlternativePaymentToken","PostFinance-card":"#/components/schemas/AlternativePaymentToken","PostFinance-e-finance":"#/components/schemas/AlternativePaymentToken","QIWI":"#/components/schemas/AlternativePaymentToken","QPay":"#/components/schemas/AlternativePaymentToken","QQPay":"#/components/schemas/AlternativePaymentToken","rapyd-checkout":"#/components/schemas/AlternativePaymentToken","Resurs":"#/components/schemas/AlternativePaymentToken","SafetyPay":"#/components/schemas/AlternativePaymentToken","SEPA":"#/components/schemas/AlternativePaymentToken","Skrill":"#/components/schemas/AlternativePaymentToken","Skrill Rapid Transfer":"#/components/schemas/AlternativePaymentToken","SMSVoucher":"#/components/schemas/AlternativePaymentToken","Sofort":"#/components/schemas/AlternativePaymentToken","SparkPay":"#/components/schemas/AlternativePaymentToken","swift-dbt":"#/components/schemas/AlternativePaymentToken","Tele2":"#/components/schemas/AlternativePaymentToken","Terminaly-RF":"#/components/schemas/AlternativePaymentToken","ToditoCash-card":"#/components/schemas/AlternativePaymentToken","Trustly":"#/components/schemas/AlternativePaymentToken","UPayCard":"#/components/schemas/AlternativePaymentToken","UPI":"#/components/schemas/AlternativePaymentToken","USD-coin":"#/components/schemas/AlternativePaymentToken","VCreditos":"#/components/schemas/AlternativePaymentToken","VenusPoint":"#/components/schemas/AlternativePaymentToken","voucher":"#/components/schemas/AlternativePaymentToken","voucher-2":"#/components/schemas/AlternativePaymentToken","voucher-3":"#/components/schemas/AlternativePaymentToken","voucher-4":"#/components/schemas/AlternativePaymentToken","Webmoney":"#/components/schemas/AlternativePaymentToken","Webpay":"#/components/schemas/AlternativePaymentToken","Webpay-2":"#/components/schemas/AlternativePaymentToken","Webpay Card":"#/components/schemas/AlternativePaymentToken","WeChat Pay":"#/components/schemas/AlternativePaymentToken","XPay-P2P":"#/components/schemas/AlternativePaymentToken","XPay-QR":"#/components/schemas/AlternativePaymentToken","Yandex-money":"#/components/schemas/AlternativePaymentToken","Zotapay":"#/components/schemas/AlternativePaymentToken","Zimpler":"#/components/schemas/AlternativePaymentToken"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCardToken"},{"$ref":"#/components/schemas/PayPalToken"},{"$ref":"#/components/schemas/BankAccountToken"},{"$ref":"#/components/schemas/DigitalWalletToken"},{"$ref":"#/components/schemas/PlaidAccountToken"},{"$ref":"#/components/schemas/KlarnaToken"},{"$ref":"#/components/schemas/AlternativePaymentToken"},{"$ref":"#/components/schemas/CryptocurrencyToken"}]}},"components/schemas/DigitalWalletValidation":{"id":"components/schemas/DigitalWalletValidation","kind":"json-schema","title":"DigitalWalletValidation","data":{"type":"object","required":["type"],"discriminator":{"propertyName":"type","mapping":{"Apple Pay":"#/components/schemas/ApplePayValidation"}},"properties":{"type":{"description":"Type of digital wallet to validate.","type":"string","enum":["Apple Pay"]}}}},"components/schemas/ApplePayValidation":{"id":"components/schemas/ApplePayValidation","kind":"json-schema","title":"ApplePayValidation","data":{"description":"Apple Pay session validation.","allOf":[{"$ref":"#/components/schemas/DigitalWalletValidation"},{"type":"object","required":["validationRequest"],"properties":{"type":{"type":"string"},"validationRequest":{"description":"Validation request.","type":"object","properties":{"validationUrl":{"type":"string","description":"Apple Pay SDK URL that is used to perform validation."},"domainName":{"type":"string","description":"Domain where the client code, such as [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/), is executed.\nThe domain name must be registered in the Apple Pay console.\nFor more information, see [Register a domain for Apple Pay](https://www.rebilly.com/catalog/all/gateway-accounts/postdigitalwalletonboardingapplepay).","example":"www.example.com"},"displayName":{"type":"string","description":"Display name of your store.","example":"My Store"}},"writeOnly":true},"validationResponse":{"description":"Apple Pay SDK validation response.","type":"object","readOnly":true}}}]}},"components/schemas/PaymentInstructionToken":{"id":"components/schemas/PaymentInstructionToken","kind":"json-schema","title":"Payment token","data":{"type":"object","title":"Payment token","required":["token"],"properties":{"token":{"description":"Token ID of the payment.","type":"string"}}}},"components/schemas/PaymentInstructionInstrument":{"id":"components/schemas/PaymentInstructionInstrument","kind":"json-schema","title":"Payment instrument","data":{"type":"object","title":"Payment instrument","required":["paymentInstrumentId"],"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}}},"components/schemas/PaymentInstructionMethods":{"id":"components/schemas/PaymentInstructionMethods","kind":"json-schema","title":"Payment Methods","data":{"type":"object","title":"Payment Methods","properties":{"methods":{"type":"array","description":"List of available payment methods.\nOnly payment methods with at least one active gateway account are allowed.\n\nIf not specified all available payment methods are displayed.\n\nCustomer can choose any of those as well as the payment instrument for them.\nAdditional steps occur via a redirect to `approvalUrl`.","items":{"$ref":"#/components/schemas/PaymentMethod"}},"receivedBy":{"description":"Name of the cash receiver.\nThis field is available only for the `cash` payment method.","type":"string"},"reference":{"description":"Reference data.\nThis field is available only for the `check` and `bank-transfer` payment methods.","type":"string"}}}},"components/schemas/PaymentInstruction":{"id":"components/schemas/PaymentInstruction","kind":"json-schema","title":"PaymentInstruction","data":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstructionToken"},{"$ref":"#/components/schemas/PaymentInstructionInstrument"},{"$ref":"#/components/schemas/PaymentInstructionMethods"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"}]}},"components/schemas/TransactionQuery":{"id":"components/schemas/TransactionQuery","kind":"json-schema","title":"TransactionQuery","data":{"type":"object","properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"result":{"description":"Result of the transaction.","type":"string","readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","suspended","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/TransactionUpdate":{"id":"components/schemas/TransactionUpdate","kind":"json-schema","title":"TransactionUpdate","data":{"type":"object","description":"Updates the status of a transaction to `completed` with a specified `result` and optional currency and amount values.","required":["result"],"properties":{"result":{"description":"Result of the transaction.","type":"string","enum":["abandoned","approved","canceled","declined"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double"},"currency":{"description":"Currency of the transaction.","$ref":"#/components/schemas/CurrencyCode"}}}},"components/schemas/TransactionRefund":{"id":"components/schemas/TransactionRefund","kind":"json-schema","title":"TransactionRefund","data":{"type":"object","required":["amount"],"properties":{"amount":{"description":"Amount of the refund.","type":"number","format":"double"},"description":{"description":"Description of the refund.","type":"string","maxLength":255},"isProcessedOutside":{"description":"Specifies if the refund is processed outside of Rebilly.","type":"boolean","default":false}}}},"components/schemas/TransactionTimeline":{"id":"components/schemas/TransactionTimeline","kind":"json-schema","title":"TransactionTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["amount-adjusted","blocklist-matched","bump-offer-accepted","bump-offer-presented","bump-offer-rejected","customer-redirected-offsite","customer-returned","dcc-offer-accepted","dcc-offer-forced","dcc-offer-presented","dcc-offer-rejected","dispute-changed","dispute-created","dispute-forfeited","dispute-lost","dispute-responded","dispute-won","gateway-connection-failed","gateway-connection-timed-out","gateway-response-received","offsite-transaction-completed","quickbooks-payment-created","quickbooks-refund-receipt-created","quickbooks-transaction-task-failed","risk-score-changed","timeline-comment-created","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-capture-delayed","transaction-captured","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-initiated","transaction-payment-method-changed","transaction-partially-refunded","transaction-process-requested","transaction-processed","transaction-queried","transaction-reconciled","transaction-refunded","transaction-retried","transaction-rules-processed","transaction-scheduled-time-changed","transaction-timeout-resolved","transaction-updated","transaction-voided","transaction-waiting-gateway","transaction-waiting-gateway-completed"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AllowedIps":{"id":"components/schemas/AllowedIps","kind":"json-schema","title":"AllowedIps","data":{"description":"List of IP addresses that are permitted access.\nPrivate subnets are prohibited.\nTo remove restrictions, set this value to `null`.","type":["array","null"],"items":{"type":"string","format":"ip"},"example":["153.12.32.33","201.54.122.0/24","2001:0db8:abcd:0012:0000:0000:0000:ffff","2001:db8:abcd:12::0/64"]}},"components/schemas/ApiKey":{"id":"components/schemas/ApiKey","kind":"json-schema","title":"ApiKey","data":{"type":"object","description":"API secret Key.","required":["description"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"description":{"description":"API key description.","type":"string"},"type":{"description":"Type of API key.","type":"string","default":"secret","enum":["secret","publishable"]},"acl":{"description":"Specify access control list here if creating a restricted API key.\nSend all matching permission with an empty scope to allow all permissions.","$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"apiUser":{"description":"API user name.","type":"string","readOnly":true},"secretKey":{"description":"Value of the API secret key.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ChargeTransaction":{"id":"components/schemas/ChargeTransaction","kind":"json-schema","title":"ChargeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["charge"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RefundTransaction":{"id":"components/schemas/RefundTransaction","kind":"json-schema","title":"RefundTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["refund"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BuyFeeTransaction":{"id":"components/schemas/BuyFeeTransaction","kind":"json-schema","title":"BuyFeeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["buy-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SellFeeTransaction":{"id":"components/schemas/SellFeeTransaction","kind":"json-schema","title":"SellFeeTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["sell-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RiskReserveTransaction":{"id":"components/schemas/RiskReserveTransaction","kind":"json-schema","title":"RiskReserveTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve"]},"riskReserve":{"type":"object","properties":{"releaseTime":{"description":"Time of risk reserve release.","type":["string","null"],"format":"date-time","readOnly":true}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/RiskReserveReleaseTransaction":{"id":"components/schemas/RiskReserveReleaseTransaction","kind":"json-schema","title":"RiskReserveReleaseTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve-release"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ReverseTransaction":{"id":"components/schemas/ReverseTransaction","kind":"json-schema","title":"ReverseTransaction","data":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["reverse"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/BalanceTransaction":{"id":"components/schemas/BalanceTransaction","kind":"json-schema","title":"Balance transaction","data":{"type":"object","title":"Balance transaction","discriminator":{"propertyName":"type","mapping":{"charge":"#/components/schemas/ChargeTransaction","refund":"#/components/schemas/RefundTransaction","buy-fee":"#/components/schemas/BuyFeeTransaction","sell-fee":"#/components/schemas/SellFeeTransaction","risk-reserve":"#/components/schemas/RiskReserveTransaction","risk-reserve-release":"#/components/schemas/RiskReserveReleaseTransaction","reverse":"#/components/schemas/ReverseTransaction"}},"oneOf":[{"$ref":"#/components/schemas/ChargeTransaction"},{"$ref":"#/components/schemas/RefundTransaction"},{"$ref":"#/components/schemas/BuyFeeTransaction"},{"$ref":"#/components/schemas/SellFeeTransaction"},{"$ref":"#/components/schemas/RiskReserveTransaction"},{"$ref":"#/components/schemas/RiskReserveReleaseTransaction"},{"$ref":"#/components/schemas/ReverseTransaction"}]}},"components/schemas/BillingPortal":{"id":"components/schemas/BillingPortal","kind":"json-schema","title":"BillingPortal","data":{"type":"object","required":["websiteId","slug","name"],"properties":{"id":{"type":"string","description":"ID of the billing portal.","readOnly":true,"maxLength":50,"example":"bill_prt_0YV7K5TYV5D1P9ZNKDT39KZC3C"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"slug":{"description":"Path segment that is appended to the billing portal URL to help make it human-readable.\nExample: `https://example.com/billing-portal/{slug}`.","type":"string","minLength":5,"maxLength":100},"name":{"description":"Billing portal name.\nThis name is for internal use and helps you to organize and differentiate billing portals.\nThis value is not displayed to your customers.","type":"string"},"customDomain":{"description":"Custom domain for the billing portal.\nThe default domain is: `portal.secure-payments.app`.","type":["string","null"],"maxLength":255},"features":{"description":"Features that can be enabled for the billing portal.","type":"object","properties":{"authenticateWithPassword":{"description":"Specifies if a customer can authenticate with a password.","type":"boolean","default":true},"orderCancel":{"description":"Specifies if a customer can cancel an order.","type":"boolean","default":true},"orderAddressEdit":{"description":"Specifies if a customer can change an order address.","type":"boolean","default":true},"paymentInstrumentAdd":{"description":"Specifies if a customer can add a new payment instrument.","type":"boolean","default":true},"paymentInstrumentUpdate":{"description":"Specifies if a customer can update their payment instruments.","type":"boolean","default":true},"paymentInstrumentDeactivate":{"description":"Specifies if a customer can disable their payment instruments.","type":"boolean","default":true}}},"customization":{"description":"Visual customization options for the billing portal.","type":"object","properties":{"logoId":{"type":["string","null"],"description":"File ID of the billing portal logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"colors":{"description":"Various colors used in the billing portal.","type":"object","properties":{"primary":{"description":"Primary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"secondary":{"description":"Secondary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed in the billing portal.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}}}},"status":{"description":"Status of the billing portal. If the status is `inactive`,\nthe billing portal URL results in a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SmtpAuthorizationNone":{"id":"components/schemas/SmtpAuthorizationNone","kind":"json-schema","title":"SmtpAuthorizationNone","data":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"],"default":"none"}}}},"components/schemas/SmtpAuthorizationCramMd5":{"id":"components/schemas/SmtpAuthorizationCramMd5","kind":"json-schema","title":"SmtpAuthorizationCramMd5","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["cram-md5"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorizationLogin":{"id":"components/schemas/SmtpAuthorizationLogin","kind":"json-schema","title":"SmtpAuthorizationLogin","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["login"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorizationPlain":{"id":"components/schemas/SmtpAuthorizationPlain","kind":"json-schema","title":"SmtpAuthorizationPlain","data":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["plain"],"default":"none"}},"required":["username","password","type"]}},"components/schemas/SmtpAuthorization":{"id":"components/schemas/SmtpAuthorization","kind":"json-schema","title":"SmtpAuthorization","data":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/SmtpAuthorizationNone","cram-md5":"#/components/schemas/SmtpAuthorizationCramMd5","login":"#/components/schemas/SmtpAuthorizationLogin","plain":"#/components/schemas/SmtpAuthorizationPlain"}},"oneOf":[{"$ref":"#/components/schemas/SmtpAuthorizationNone"},{"$ref":"#/components/schemas/SmtpAuthorizationCramMd5"},{"$ref":"#/components/schemas/SmtpAuthorizationLogin"},{"$ref":"#/components/schemas/SmtpAuthorizationPlain"}]}},"components/schemas/SmtpCredential":{"id":"components/schemas/SmtpCredential","kind":"json-schema","title":"SmtpCredential","data":{"type":"object","description":"SMTP credential.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["smtp"]},"host":{"type":"string","description":"SMTP host name."},"port":{"type":"integer","description":"SMTP port value.","minimum":1,"maximum":65535,"default":25},"encryption":{"type":"string","description":"Encryption value.","enum":["none","tls","ssl"],"default":"none"},"auth":{"$ref":"#/components/schemas/SmtpAuthorization"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/WebhookAuthorizationNone":{"id":"components/schemas/WebhookAuthorizationNone","kind":"json-schema","title":"WebhookAuthorizationNone","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["none"],"default":"none"}},"required":["type"]}},"components/schemas/WebhookAuthorizationBasic":{"id":"components/schemas/WebhookAuthorizationBasic","kind":"json-schema","title":"WebhookAuthorizationBasic","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["basic"],"default":"none"},"username":{"description":"Username for basic authentication.","type":"string"},"password":{"description":"Password for basic authentication.","type":"string","format":"password"}},"required":["username","password","type"]}},"components/schemas/WebhookAuthorizationDigest":{"id":"components/schemas/WebhookAuthorizationDigest","kind":"json-schema","title":"WebhookAuthorizationDigest","data":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["digest"],"default":"none"},"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"}},"required":["username","password","type"]}},"components/schemas/WebhookAuthorization":{"id":"components/schemas/WebhookAuthorization","kind":"json-schema","title":"WebhookAuthorization","data":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/WebhookAuthorizationNone","basic":"#/components/schemas/WebhookAuthorizationBasic","digest":"#/components/schemas/WebhookAuthorizationDigest"}},"oneOf":[{"$ref":"#/components/schemas/WebhookAuthorizationNone"},{"$ref":"#/components/schemas/WebhookAuthorizationBasic"},{"$ref":"#/components/schemas/WebhookAuthorizationDigest"}]}},"components/schemas/WebhookCredential":{"id":"components/schemas/WebhookCredential","kind":"json-schema","title":"WebhookCredential","data":{"type":"object","description":"Credential for webhook authentication.\nCredentials are associated with a host and contain authentication details.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["webhook"]},"host":{"type":"string","description":"Name of the host.","pattern":"^[A-Za-z0-9-.]+$","example":"app-prod.example.com"},"auth":{"$ref":"#/components/schemas/WebhookAuthorization"}}}},"components/schemas/ExperianCredential":{"id":"components/schemas/ExperianCredential","kind":"json-schema","title":"ExperianCredential","data":{"type":"object","description":"Experian integration provides identity verification.\nFor more information, see [Experian integration](https://www.rebilly.com/docs/automations/experian-integration/#experian-integration).","required":["username","password","hmacKey","publicKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["experian"]},"username":{"type":"string","description":"Username of the Experian account."},"password":{"type":"string","description":"Password of the Experian account.","format":"password"},"hmacKey":{"type":"string","description":"HMAC key that is used to generate the signature for Experian requests.","format":"password","example":"PxOclToLSxW4oAB5N5HSdfoslyEWuvfkLjfHeNG2aZY~"},"publicKey":{"type":"string","description":"HMAC public key that is included in the signature for Experian requests.","example":"8831AA5552FE10CD"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/MailgunCredential":{"id":"components/schemas/MailgunCredential","kind":"json-schema","title":"MailgunCredential","data":{"type":"object","description":"Mailgun credential.","required":["emailFrom","apiKey","domain","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["mailgun"]},"emailFrom":{"type":"string","format":"email","description":"Address from which emails are sent.","minLength":1,"maxLength":254},"apiKey":{"type":"string","description":"Mailgun API key."},"domain":{"type":"string","description":"Mailgun domain."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OAuth2Credential":{"id":"components/schemas/OAuth2Credential","kind":"json-schema","title":"OAuth2Credential","data":{"type":"object","description":"OAuth2 credential.","required":["code","scopes","service","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["oauth2"]},"service":{"description":"Name of the service to which the OAuth2 credential relates.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"code":{"description":"OAuth2 code provided by the authentication server.","type":"string","example":"2/smAHUUr9jOxw_IOp47Y_dH1r2Y"},"accessToken":{"description":"OAuth2 access token.","readOnly":true,"type":"string","example":"S9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkh"},"refreshToken":{"description":"OAuth2 refresh token.","readOnly":true,"type":"string","example":"2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94"},"expirationTime":{"description":"Date and time when the access token expires.","readOnly":true,"type":["string","null"],"format":"date-time"},"scopes":{"description":"List of URLs that are granted OAuth2 access.","type":"array","items":{"type":"string"},"example":["https://www.googleapis.com/auth/drive.metadata.readonly"]},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PostmarkCredential":{"id":"components/schemas/PostmarkCredential","kind":"json-schema","title":"PostmarkCredential","data":{"type":"object","description":"Postmark credential.","required":["serverApiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["postmark"]},"serverApiToken":{"type":"string","description":"Postmark server API token.","example":"dd0508z9-2291-6794-3376-z0a70g12eqm9"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SendGridCredential":{"id":"components/schemas/SendGridCredential","kind":"json-schema","title":"SendGridCredential","data":{"type":"object","description":"SendGrid credential.","required":["apiKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["sendgrid"]},"apiKey":{"type":"string","description":"SendGrid API key.","example":"SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SESCredential":{"id":"components/schemas/SESCredential","kind":"json-schema","title":"SESCredential","data":{"type":"object","description":"Amazon Web Services (AWS) Simple Email Service (SES) credential.","required":["key","secret","region","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["aws-ses"]},"key":{"type":"string","description":"ID of the AWS access key.","example":"BWITYO4UARGDLMFY6UDP"},"secret":{"type":"string","description":"Secret AWS access key.","example":"8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG"},"region":{"type":"string","description":"AWS region name.","example":"us-west-2"},"configurationSetName":{"type":"string","description":"Name of configuration set from which emails are sent.","example":"SpecialConfigurationSet"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/TaxJarCredential":{"id":"components/schemas/TaxJarCredential","kind":"json-schema","title":"TaxJarCredential","data":{"type":"object","description":"TaxJar integration enables you to calculate taxes and create transactions for the Sales Tax AutoFile feature in your TaxJar account.\nFor more information, see [TaxJar integration](https://www.rebilly.com/docs/automations/tax-jar-integration/#taxjar-integration).","required":["apiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["taxjar"]},"apiToken":{"type":"string","description":"TaxJar API token.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","default":false,"example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/AvalaraCredential":{"id":"components/schemas/AvalaraCredential","kind":"json-schema","title":"AvalaraCredential","data":{"type":"object","description":"Avalara integration enables you to calculate taxes and create transactions in your Avalara account.","required":["licenseKey","accountId","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["avalara"]},"licenseKey":{"type":"string","description":"Avalara license key.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"accountId":{"type":"string","description":"ID of the Avalara account.","example":"a1b2c3d4e5f6"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PlaidCredential":{"id":"components/schemas/PlaidCredential","kind":"json-schema","title":"PlaidCredential","data":{"type":"object","description":"Plaid integration provides customer bank credential verification,\nand simplifies the process of providing credentials for your customers.\nFor more information, see [Plaid integration](https://www.rebilly.com/docs/automations/plaid-integration/).","required":["clientId","secretToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["plaid"]},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/ServiceCredential":{"id":"components/schemas/ServiceCredential","kind":"json-schema","title":"ServiceCredential","data":{"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/SmtpCredential","webhook":"#/components/schemas/WebhookCredential","experian":"#/components/schemas/ExperianCredential","mailgun":"#/components/schemas/MailgunCredential","oauth2":"#/components/schemas/OAuth2Credential","postmark":"#/components/schemas/PostmarkCredential","sendgrid":"#/components/schemas/SendGridCredential","aws-ses":"#/components/schemas/SESCredential","taxjar":"#/components/schemas/TaxJarCredential","avalara":"#/components/schemas/AvalaraCredential","plaid":"#/components/schemas/PlaidCredential"}},"oneOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"$ref":"#/components/schemas/WebhookCredential"},{"$ref":"#/components/schemas/ExperianCredential"},{"$ref":"#/components/schemas/MailgunCredential"},{"$ref":"#/components/schemas/OAuth2Credential"},{"$ref":"#/components/schemas/PostmarkCredential"},{"$ref":"#/components/schemas/SendGridCredential"},{"$ref":"#/components/schemas/SESCredential"},{"$ref":"#/components/schemas/TaxJarCredential"},{"$ref":"#/components/schemas/AvalaraCredential"},{"$ref":"#/components/schemas/PlaidCredential"}]}},"components/schemas/PostSmtpCredential":{"id":"components/schemas/PostSmtpCredential","kind":"json-schema","title":"PostSmtpCredential","data":{"allOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp"],"readOnly":false}}}]}},"components/schemas/PostWebhookCredential":{"id":"components/schemas/PostWebhookCredential","kind":"json-schema","title":"PostWebhookCredential","data":{"allOf":[{"$ref":"#/components/schemas/WebhookCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["webhook"],"readOnly":false}}}]}},"components/schemas/PostExperianCredential":{"id":"components/schemas/PostExperianCredential","kind":"json-schema","title":"PostExperianCredential","data":{"allOf":[{"$ref":"#/components/schemas/ExperianCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["experian"],"readOnly":false}}}]}},"components/schemas/PostMailgunCredential":{"id":"components/schemas/PostMailgunCredential","kind":"json-schema","title":"PostMailgunCredential","data":{"allOf":[{"$ref":"#/components/schemas/MailgunCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["mailgun"],"readOnly":false}}}]}},"components/schemas/PostOAuth2Credential":{"id":"components/schemas/PostOAuth2Credential","kind":"json-schema","title":"PostOAuth2Credential","data":{"allOf":[{"$ref":"#/components/schemas/OAuth2Credential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["oauth2"],"readOnly":false}}}]}},"components/schemas/PostPostmarkCredential":{"id":"components/schemas/PostPostmarkCredential","kind":"json-schema","title":"PostPostmarkCredential","data":{"allOf":[{"$ref":"#/components/schemas/PostmarkCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["postmark"],"readOnly":false}}}]}},"components/schemas/PostSendGridCredential":{"id":"components/schemas/PostSendGridCredential","kind":"json-schema","title":"PostSendGridCredential","data":{"allOf":[{"$ref":"#/components/schemas/SendGridCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["sendgrid"],"readOnly":false}}}]}},"components/schemas/PostAwsSesCredential":{"id":"components/schemas/PostAwsSesCredential","kind":"json-schema","title":"PostAwsSesCredential","data":{"allOf":[{"$ref":"#/components/schemas/SESCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["aws-ses"],"readOnly":false}}}]}},"components/schemas/PostTaxJarCredential":{"id":"components/schemas/PostTaxJarCredential","kind":"json-schema","title":"PostTaxJarCredential","data":{"allOf":[{"$ref":"#/components/schemas/TaxJarCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"],"readOnly":false}}}]}},"components/schemas/PostAvalaraCredential":{"id":"components/schemas/PostAvalaraCredential","kind":"json-schema","title":"PostAvalaraCredential","data":{"allOf":[{"$ref":"#/components/schemas/AvalaraCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["avalara"],"readOnly":false}}}]}},"components/schemas/PostPlaidCredential":{"id":"components/schemas/PostPlaidCredential","kind":"json-schema","title":"PostPlaidCredential","data":{"allOf":[{"$ref":"#/components/schemas/PlaidCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"],"readOnly":false}}}]}},"components/schemas/PatchServiceCredentialRequest":{"id":"components/schemas/PatchServiceCredentialRequest","kind":"json-schema","title":"PatchServiceCredentialRequest","data":{"type":"object","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","avalara"]}}}},"components/schemas/PatchPlaidCredentialRequest":{"id":"components/schemas/PatchPlaidCredentialRequest","kind":"json-schema","title":"PatchPlaidCredentialRequest","data":{"type":"object","description":"Plaid credential.","required":["type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"]}}}},"components/schemas/PatchTaxJarCredentialRequest":{"id":"components/schemas/PatchTaxJarCredentialRequest","kind":"json-schema","title":"PatchTaxJarCredentialRequest","data":{"type":"object","description":"TaxJar credential.","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","example":false},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"]}}}},"components/schemas/CustomDomain":{"id":"components/schemas/CustomDomain","kind":"json-schema","title":"CustomDomain","data":{"type":"object","required":["domain"],"properties":{"id":{"description":"ID of the custom domain.","type":"string","maxLength":255,"readOnly":true},"domain":{"description":"Fully qualified domain name.","type":"string","maxLength":255},"isVerified":{"description":"True if the domain is verified by Rebilly.","type":"boolean","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EmailDeliverySetting":{"id":"components/schemas/EmailDeliverySetting","kind":"json-schema","title":"EmailDeliverySetting","data":{"type":"object","required":["from","name"],"properties":{"id":{"type":"string","description":"ID of the email delivery setting.","readOnly":true,"maxLength":50,"example":"mail_dst_0YVCNQV8PSCERAJ7N1V4WWPZN2"},"from":{"description":"Email address of the sender.\n\n> **Important:** This email address must be unique within your account.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"name":{"description":"Name of the sender.","type":"string","example":"John Doe"},"status":{"description":"Status of the email message.","readOnly":true,"type":"string","enum":["pending","verified"]},"credentialId":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"provider":{"readOnly":true,"description":"Email service provider name.","type":"string","enum":["rebilly","smtp","aws-ses","mailgun","postmark","sendgrid"],"example":"rebilly"},"isDefault":{"type":"boolean","description":"Specifies if the email delivery setting is used by default.","default":false},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EmailMessage":{"id":"components/schemas/EmailMessage","kind":"json-schema","title":"EmailMessage","data":{"type":"object","required":["from","to","subject","text","html"],"properties":{"id":{"type":"string","description":"ID of the email message.","readOnly":true,"maxLength":50,"example":"mail_msg_0YVCNR8ZRBCVMAX28DP4XRFZVA"},"status":{"description":"Status of the email message.","type":"string","enum":["draft","outbox","sent","failed"],"default":"draft"},"metadata":{"description":"Metadata associated with the email message.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"eventType":"subscription-canceled"}},"credentialHash":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"from":{"description":"Email address of the sender.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"to":{"description":"List of email addresses to which the email message is sent.","type":"array","minItems":1,"items":{"type":"string","format":"email","maxLength":254},"example":["to-example@rebilly.com"]},"cc":{"description":"List of CC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"bcc":{"description":"List of BCC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"subject":{"description":"Subject of the email message.","type":"string","maxLength":998,"example":"Welcome dear customer!"},"text":{"description":"Body of the email message in plain text.","type":"string","example":"Email message text body"},"html":{"description":"Body of the email message in HTML format.","type":"string","example":"<p>Email message html body</p>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"description":"Type of attachment resource.","type":"string","example":"invoice"},"resourceId":{"type":"string","description":"ID of the attachment resource.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"}}}},"responseCode":{"type":["integer","null"],"description":"Status code returned by a mail service after an attempt to send email.","readOnly":true,"example":250},"responseBody":{"type":["string","null"],"description":"Body of response returned by a mail service after an attempt to send email.","readOnly":true},"initiatedTime":{"type":["string","null"],"description":"Date and time when the email is initiated.","format":"date-time","readOnly":true},"sentTime":{"type":["string","null"],"description":"Date and time when the email is sent.","format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/EventType":{"id":"components/schemas/EventType","kind":"json-schema","title":"EventType","data":{"type":"string","description":"Type of Rebilly event.","readOnly":true,"enum":["account-password-reset-requested","account-verification-requested","aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","customer-created","customer-one-time-password-requested","customer-updated","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-modified","kyc-document-rejected","kyc-request-fulfilled","order-abandon-reminder","order-abandoned","order-completed","order-change-applied","order-change-canceled","order-change-created","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-created","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","ready-to-payout-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","trial-usage-limit-reached","order-delinquency-reached","autodeposit-lookup-performed"]}},"components/schemas/EmailNotification":{"id":"components/schemas/EmailNotification","kind":"json-schema","title":"EmailNotification","data":{"type":"object","description":"Email notification event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"count":{"type":"integer","readOnly":true,"description":"Total number of binds with `send-email` actions per event."},"activeCount":{"type":"integer","readOnly":true,"description":"Number of active binds with `send-email` actions per event."},"notifications":{"readOnly":true,"type":"array","description":"List of notifications.","items":{"type":"object","properties":{"labels":{"description":"Labels of the notification.","type":"array","items":{"type":"string"}},"title":{"type":"string","description":"Title of the notification."},"isActive":{"type":"boolean","description":"Specifies if the notification is enabled."}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SystemEvent":{"id":"components/schemas/SystemEvent","kind":"json-schema","title":"SystemEvent","data":{"type":"object","description":"Application event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"description":"Title of the system event.","type":"string"},"description":{"description":"Description of the system event.","type":"string"},"category":{"description":"Category of system event.","type":"string","enum":["billing","payments"]},"rulesCount":{"description":"Total number of rules associated with the system event.\nA rule is a configuration of an event and one or more actions.\nA rule can be configured to stop subsequent rules in the event list from being executed.","type":"integer","readOnly":true},"bindsCount":{"description":"Total number of binds associated with the system event.\nA bind is a configuration of an event and one or more actions.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}}},"components/schemas/RuleAction":{"id":"components/schemas/RuleAction","kind":"json-schema","title":"RuleAction","data":{"type":"object","discriminator":{"propertyName":"name","mapping":{"abandon-scheduled-payments":"#/components/schemas/RuleActionAbandonScheduledPayments","add-risk-score":"#/components/schemas/RuleActionAddRiskScore","adjust-ready-to-pay":"#/components/schemas/RuleActionAdjustReadyToPay","adjust-ready-to-payout":"#/components/schemas/RuleActionAdjustReadyToPayout","blocklist":"#/components/schemas/RuleActionAddBlockList","cancel-scheduled-payments":"#/components/schemas/RuleActionCancelScheduledPayments","create-intuit-quickbooks-balance-transaction-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","create-intuit-quickbooks-invoice":"#/components/schemas/RuleActionCreateIntuitQuickbooksInvoice","create-intuit-quickbooks-payment":"#/components/schemas/RuleActionCreateIntuitQuickbooksPayment","create-intuit-quickbooks-refund-receipt":"#/components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","create-intuit-quickbooks-revenue-recognition-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","decline-transaction":"#/components/schemas/RuleActionDeclineTransaction","check-ontario-restriction":"#/components/schemas/RuleActionCheckOntarioRestriction","display-other-choices":"#/components/schemas/RuleActionDisplayOtherChoices","guess-payment-card-expiration":"#/components/schemas/RuleActionGuessPaymentCardExpiration","perform-experian-check":"#/components/schemas/RuleActionPerformExperianCheck","pick-gateway-account":"#/components/schemas/RuleActionPickGatewayAccount","request-kyc":"#/components/schemas/RuleActionRequestKyc","request-physical-address":"#/components/schemas/RuleActionRequestPhysicalAddress","schedule-invoice-retry":"#/components/schemas/RuleActionScheduleInvoiceRetry","schedule-payment":"#/components/schemas/RuleActionSchedulePayment","schedule-reminder":"#/components/schemas/RuleActionScheduleReminder","send-email":"#/components/schemas/RuleActionSendEmail","stop-subscriptions":"#/components/schemas/RuleActionStopSubscriptions","tag-or-untag-customer":"#/components/schemas/RuleActionTagOrUntagCustomer","update-intuit-quickbooks-invoice":"#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","void-intuit-quickbooks-invoice":"#/components/schemas/RuleActionVoidIntuitQuickbooksInvoice"}},"properties":{"name":{"type":"string","description":"Name of the action.","enum":["abandon-scheduled-payments","add-risk-score","adjust-ready-to-pay","adjust-ready-to-payout","blocklist","cancel-scheduled-payments","create-intuit-quickbooks-balance-transaction-entry","create-intuit-quickbooks-invoice","create-intuit-quickbooks-payment","create-intuit-quickbooks-refund-receipt","create-intuit-quickbooks-revenue-recognition-entry","decline-transaction","check-ontario-restriction","display-other-choices","guess-payment-card-expiration","perform-experian-check","pick-gateway-account","remove-reminder","request-kyc","request-physical-address","reset-reminder","schedule-invoice-retry","schedule-payment","schedule-reminder","send-email","stop-subscriptions","tag-or-untag-customer","update-intuit-quickbooks-invoice","void-intuit-quickbooks-invoice","trigger-webhook","show-descriptor-disclaimer"]},"status":{"description":"Status of the action.","type":"string","default":"active","enum":["active","inactive"]}},"required":["name"]}},"components/schemas/RuleActionAbandonScheduledPayments":{"id":"components/schemas/RuleActionAbandonScheduledPayments","kind":"json-schema","title":"RuleActionAbandonScheduledPayments","data":{"description":"Abandon scheduled payments for an order that exceeds the configured delinquency period.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionAddRiskScore":{"id":"components/schemas/RuleActionAddRiskScore","kind":"json-schema","title":"RuleActionAddRiskScore","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Add risk score.","properties":{"score":{"type":"integer","default":0}}}]}},"components/schemas/AdjustReadyToPayPaymentCard":{"id":"components/schemas/AdjustReadyToPayPaymentCard","kind":"json-schema","title":"Payment card","data":{"type":"object","title":"Payment card","properties":{"paymentMethod":{"type":"string","enum":["payment-card"]},"feature":{"type":["string","null"],"description":"Name of the feature.","enum":["Apple Pay","Google Pay"]}}}},"components/schemas/AdjustReadyToPayAch":{"id":"components/schemas/AdjustReadyToPayAch","kind":"json-schema","title":"ACH","data":{"type":"object","title":"ACH","properties":{"paymentMethod":{"type":"string","enum":["ach"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["Plaid"]}}}},"components/schemas/AdjustReadyToPayPaypal":{"id":"components/schemas/AdjustReadyToPayPaypal","kind":"json-schema","title":"PayPal","data":{"type":"object","title":"PayPal","properties":{"paymentMethod":{"type":"string","enum":["paypal"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["PayPal billing agreement"]}}}},"components/schemas/AdjustReadyToPayGeneric":{"id":"components/schemas/AdjustReadyToPayGeneric","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["paypal"]}}]},"feature":{"type":["string","null"]}}}},"components/schemas/AdjustPaymentMethod":{"id":"components/schemas/AdjustPaymentMethod","kind":"json-schema","title":"AdjustPaymentMethod","data":{"type":"object","required":["paymentMethod","feature"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayPaymentCard","ach":"#/components/schemas/AdjustReadyToPayAch","paypal":"#/components/schemas/AdjustReadyToPayPaypal","cash":"#/components/schemas/AdjustReadyToPayGeneric","check":"#/components/schemas/AdjustReadyToPayGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayGeneric","Alipay":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayGeneric","Baloto":"#/components/schemas/AdjustReadyToPayGeneric","Beeline":"#/components/schemas/AdjustReadyToPayGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayGeneric","Bizum":"#/components/schemas/AdjustReadyToPayGeneric","Boleto":"#/components/schemas/AdjustReadyToPayGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayGeneric","Cleo":"#/components/schemas/AdjustReadyToPayGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayGeneric","echeck":"#/components/schemas/AdjustReadyToPayGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Efecty":"#/components/schemas/AdjustReadyToPayGeneric","EPS":"#/components/schemas/AdjustReadyToPayGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayGeneric","Giropay":"#/components/schemas/AdjustReadyToPayGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayGeneric","iDebit":"#/components/schemas/AdjustReadyToPayGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayGeneric","Interac":"#/components/schemas/AdjustReadyToPayGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayGeneric","invoice":"#/components/schemas/AdjustReadyToPayGeneric","iWallet":"#/components/schemas/AdjustReadyToPayGeneric","Jeton":"#/components/schemas/AdjustReadyToPayGeneric","jpay":"#/components/schemas/AdjustReadyToPayGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayGeneric","Klarna":"#/components/schemas/AdjustReadyToPayGeneric","KNOT":"#/components/schemas/AdjustReadyToPayGeneric","loonie":"#/components/schemas/AdjustReadyToPayGeneric","Matrix":"#/components/schemas/AdjustReadyToPayGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayGeneric","Megafon":"#/components/schemas/AdjustReadyToPayGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayGeneric","MTS":"#/components/schemas/AdjustReadyToPayGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayGeneric","Neteller":"#/components/schemas/AdjustReadyToPayGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayGeneric","OXXO":"#/components/schemas/AdjustReadyToPayGeneric","P24":"#/components/schemas/AdjustReadyToPayGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayGeneric","PayCash":"#/components/schemas/AdjustReadyToPayGeneric","Payeer":"#/components/schemas/AdjustReadyToPayGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayGeneric","Paymero":"#/components/schemas/AdjustReadyToPayGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayGeneric","Paynote":"#/components/schemas/AdjustReadyToPayGeneric","PinPay":"#/components/schemas/AdjustReadyToPayGeneric","phone":"#/components/schemas/AdjustReadyToPayGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayGeneric","POLi":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayGeneric","QIWI":"#/components/schemas/AdjustReadyToPayGeneric","QPay":"#/components/schemas/AdjustReadyToPayGeneric","QQPay":"#/components/schemas/AdjustReadyToPayGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayGeneric","Resurs":"#/components/schemas/AdjustReadyToPayGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayGeneric","SEPA":"#/components/schemas/AdjustReadyToPayGeneric","Skrill":"#/components/schemas/AdjustReadyToPayGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Sofort":"#/components/schemas/AdjustReadyToPayGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayGeneric","Tele2":"#/components/schemas/AdjustReadyToPayGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayGeneric","Trustly":"#/components/schemas/AdjustReadyToPayGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayGeneric","UPI":"#/components/schemas/AdjustReadyToPayGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayGeneric","voucher":"#/components/schemas/AdjustReadyToPayGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayGeneric","Webpay":"#/components/schemas/AdjustReadyToPayGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayPaymentCard"},{"$ref":"#/components/schemas/AdjustReadyToPayAch"},{"$ref":"#/components/schemas/AdjustReadyToPayPaypal"},{"$ref":"#/components/schemas/AdjustReadyToPayGeneric"}]}},"components/schemas/RuleActionAdjustReadyToPay":{"id":"components/schemas/RuleActionAdjustReadyToPay","kind":"json-schema","title":"RuleActionAdjustReadyToPay","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to pay.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if the payment methods associated to with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of payment methods allowed.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustPaymentMethod"}}}}]}},"components/schemas/AdjustReadyToPayoutGeneric":{"id":"components/schemas/AdjustReadyToPayoutGeneric","kind":"json-schema","title":"Generic","data":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","$ref":"#/components/schemas/AlternativePaymentMethods"}}}},"components/schemas/AdjustReadyToPayoutPaymentMethod":{"id":"components/schemas/AdjustReadyToPayoutPaymentMethod","kind":"json-schema","title":"AdjustReadyToPayoutPaymentMethod","data":{"type":"object","required":["paymentMethod"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayoutGeneric","ach":"#/components/schemas/AdjustReadyToPayoutGeneric","paypal":"#/components/schemas/AdjustReadyToPayoutGeneric","cash":"#/components/schemas/AdjustReadyToPayoutGeneric","check":"#/components/schemas/AdjustReadyToPayoutGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayoutGeneric","Alipay":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayoutGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayoutGeneric","Baloto":"#/components/schemas/AdjustReadyToPayoutGeneric","Beeline":"#/components/schemas/AdjustReadyToPayoutGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayoutGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayoutGeneric","Bizum":"#/components/schemas/AdjustReadyToPayoutGeneric","Boleto":"#/components/schemas/AdjustReadyToPayoutGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayoutGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayoutGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayoutGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Cleo":"#/components/schemas/AdjustReadyToPayoutGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayoutGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayoutGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayoutGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayoutGeneric","echeck":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Efecty":"#/components/schemas/AdjustReadyToPayoutGeneric","EPS":"#/components/schemas/AdjustReadyToPayoutGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayoutGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayoutGeneric","Giropay":"#/components/schemas/AdjustReadyToPayoutGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayoutGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","iDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayoutGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayoutGeneric","invoice":"#/components/schemas/AdjustReadyToPayoutGeneric","iWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","Jeton":"#/components/schemas/AdjustReadyToPayoutGeneric","jpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayoutGeneric","Klarna":"#/components/schemas/AdjustReadyToPayoutGeneric","KNOT":"#/components/schemas/AdjustReadyToPayoutGeneric","loonie":"#/components/schemas/AdjustReadyToPayoutGeneric","Matrix":"#/components/schemas/AdjustReadyToPayoutGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Megafon":"#/components/schemas/AdjustReadyToPayoutGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayoutGeneric","MTS":"#/components/schemas/AdjustReadyToPayoutGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayoutGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayoutGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayoutGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayoutGeneric","Neteller":"#/components/schemas/AdjustReadyToPayoutGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayoutGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayoutGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayoutGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","OXXO":"#/components/schemas/AdjustReadyToPayoutGeneric","P24":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayoutGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayoutGeneric","PayCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Payeer":"#/components/schemas/AdjustReadyToPayoutGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayoutGeneric","Paymero":"#/components/schemas/AdjustReadyToPayoutGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayoutGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayoutGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayoutGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayoutGeneric","Paynote":"#/components/schemas/AdjustReadyToPayoutGeneric","PinPay":"#/components/schemas/AdjustReadyToPayoutGeneric","phone":"#/components/schemas/AdjustReadyToPayoutGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayoutGeneric","POLi":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayoutGeneric","QIWI":"#/components/schemas/AdjustReadyToPayoutGeneric","QPay":"#/components/schemas/AdjustReadyToPayoutGeneric","QQPay":"#/components/schemas/AdjustReadyToPayoutGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayoutGeneric","Resurs":"#/components/schemas/AdjustReadyToPayoutGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayoutGeneric","SEPA":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Sofort":"#/components/schemas/AdjustReadyToPayoutGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayoutGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayoutGeneric","Tele2":"#/components/schemas/AdjustReadyToPayoutGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayoutGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayoutGeneric","Trustly":"#/components/schemas/AdjustReadyToPayoutGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayoutGeneric","UPI":"#/components/schemas/AdjustReadyToPayoutGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayoutGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayoutGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayoutGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayoutGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayoutGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayoutGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayoutGeneric"}]}},"components/schemas/RuleActionAdjustReadyToPayout":{"id":"components/schemas/RuleActionAdjustReadyToPayout","kind":"json-schema","title":"RuleActionAdjustReadyToPayout","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to payout.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if payment methods that are associated with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of allowed payment methods.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustReadyToPayoutPaymentMethod"}}}}]}},"components/schemas/RuleActionAddBlockList":{"id":"components/schemas/RuleActionAddBlockList","kind":"json-schema","title":"RuleActionAddBlockList","data":{"description":"Add customer data to blocklist.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"type":{"type":"string","enum":["customer-id","email","fingerprint","ip-address","payment-card"]},"ttl":{"type":"integer","description":"Blocklist TTL.\nThe default value is zero, which means the blocklist record does not expire.","default":0}},"required":["type"]}]}},"components/schemas/RuleActionCancelScheduledPayments":{"id":"components/schemas/RuleActionCancelScheduledPayments","kind":"json-schema","title":"RuleActionCancelScheduledPayments","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"skipStartedServicePeriod":{"type":"boolean","description":"Skip invoices with started service period.","default":false}}}]}},"components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","data":{"description":"Create an Intuit QuickBooks balance transaction entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks balance transaction entry description.\n\nFor example, `Balance transaction of type {{ balanceTransaction.type }} for transaction #{{ transaction.id }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksInvoice","data":{"description":"Create an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."},"customerDisplayName":{"description":"Customer display name in QuickBooks. Duplicate names are mapped to a single QuickBooks customer.\n\nEvent placeholders could be used as follows:\n- Organization name: `{{ invoice.customer.primaryAddress.organization }}`;\n- Full customer name: `{{ invoice.customer.firstName }} {{ invoice.customer.lastName }}`;\n- Customer ID: `{{ invoice.customer.id }}`.","type":"string"}},"required":["credentialHash","customerDisplayName","unearnedRevenueAccount","customerDisplayName"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksPayment":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksPayment","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksPayment","data":{"description":"Create an Intuit QuickBooks payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksRefundReceipt","data":{"description":"Create an Intuit QuickBooks refund receipt.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]}},"components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry":{"id":"components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","kind":"json-schema","title":"RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","data":{"description":"Create an Intuit QuickBooks revenue recognition entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks revenue recognition entry description.\n\nFor example, `Revenue recognition for invoice #{{ invoice.id }} item #{{ item.id }} – {{ item.description }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]}},"components/schemas/RuleActionDeclineTransaction":{"id":"components/schemas/RuleActionDeclineTransaction","kind":"json-schema","title":"RuleActionDeclineTransaction","data":{"description":"Decline transaction.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionCheckOntarioRestriction":{"id":"components/schemas/RuleActionCheckOntarioRestriction","kind":"json-schema","title":"RuleActionCheckOntarioRestriction","data":{"description":"Decline transactions not conforming to the Ontario restrictions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionDisplayOtherChoices":{"id":"components/schemas/RuleActionDisplayOtherChoices","kind":"json-schema","title":"RuleActionDisplayOtherChoices","data":{"description":"Display other choices.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"choices":{"type":"array","minItems":1,"items":{"type":"object","properties":{"langIso":{"description":"Language in ISO 639-1 code format.","type":"string"},"content":{"type":"string"}},"required":["langIso","content"]}}},"required":["choices"]}]}},"components/schemas/RuleActionGuessPaymentCardExpiration":{"id":"components/schemas/RuleActionGuessPaymentCardExpiration","kind":"json-schema","title":"RuleActionGuessPaymentCardExpiration","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionPerformExperianCheck":{"id":"components/schemas/RuleActionPerformExperianCheck","kind":"json-schema","title":"RuleActionPerformExperianCheck","data":{"description":"Perform Experian ProveID check on the customer.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"experianCredentialHash":{"description":"Hash of the Experian credential to use for performing the check.","type":"string","example":"58816e40-387e-4834-982f-fa1855a75f64"},"tagOnApprove":{"description":"Tag ID that should be used to tag the customer when the identity matches Experian records.","type":"string"},"tagOnReject":{"description":"Tag ID that should be used to tag the customer when the identity doesn't match Experian records.","type":"string"},"tagOnUnknown":{"description":"Tag ID that should be used to tag the customer when the identity is not found in Experian records or further analysis needed.","type":"string"}},"required":["experianCredentialHash"]}]}},"components/schemas/GatewayAccountPickInstruction":{"id":"components/schemas/GatewayAccountPickInstruction","kind":"json-schema","title":"GatewayAccountPickInstruction","data":{"type":"object","discriminator":{"propertyName":"method","mapping":{"gateway-account-weights":"#/components/schemas/PickInstructionGatewayAccountWeights","gateway-acquirer-weights":"#/components/schemas/PickInstructionGatewayAcquirerWeights"}},"properties":{"strategy":{"type":"string","enum":["weighted-random","round-robin"],"description":"Controls the picking strategy for gateway accounts.\nThe weighted-random strategy picks based on weighted-random every time.\nThe round-robin strategy tries a weighted-random different gateway account for consecutive attempts from same payment instrument.","default":"weighted-random"},"method":{"type":"string","enum":["gateway-account-weights","gateway-acquirer-weights"]}},"required":["method"]}},"components/schemas/PickInstructionGatewayAccountWeights":{"id":"components/schemas/PickInstructionGatewayAccountWeights","kind":"json-schema","title":"PickInstructionGatewayAccountWeights","data":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayAccountId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"weight":{"type":"integer","minimum":0}},"required":["gatewayAccountId","weight"]},"example":[{"gatewayAccountId":"my_gateway_account_1","weight":80},{"gatewayAccountId":"my_gateway_account_2","weight":20}]}},"required":["weightedList"]}]}},"components/schemas/PickInstructionGatewayAcquirerWeights":{"id":"components/schemas/PickInstructionGatewayAcquirerWeights","kind":"json-schema","title":"PickInstructionGatewayAcquirerWeights","data":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"$ref":"#/components/schemas/AcquirerName"},"weight":{"type":"integer","minimum":0}},"required":["gatewayName","acquirerName","weight"]},"example":[{"gatewayName":"TestProcessor","acquirerName":"AIB","weight":80},{"gatewayName":"TestProcessor","acquirerName":"B+S","weight":20}]}},"required":["weightedList"]}]}},"components/schemas/RuleActionPickGatewayAccount":{"id":"components/schemas/RuleActionPickGatewayAccount","kind":"json-schema","title":"RuleActionPickGatewayAccount","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"pickInstruction":{"$ref":"#/components/schemas/GatewayAccountPickInstruction"}},"required":["pickInstruction"]}]}},"components/schemas/RuleActionRequestKyc":{"id":"components/schemas/RuleActionRequestKyc","kind":"json-schema","title":"RuleActionRequestKyc","data":{"description":"Request KYC page to verify customer identity.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"excludePolicy":{"type":"string","description":"Specifies who should be excluded from the verification.","enum":["customers-with-accepted-document","customers-with-document","none"],"default":"customers-with-accepted-document"},"isMandatory":{"type":"boolean","description":"Is the verification mandatory.","default":true},"promptPolicy":{"type":"string","description":"When to prompt, before or after processing the transaction.","enum":["before-transaction-process","after-transaction-process"],"default":"before-transaction-process"},"rejectedBeforeTransactionProcessPolicy":{"type":"string","description":"What to do if verification is before transaction processing, and is rejected.","enum":["process-transaction","decline","use-alternate-gateway"],"default":"decline"},"alternateGatewayAccountIfRejected":{"type":"string","description":"Gateway account to use if use-alternate-gateway is selected for rejectedBeforeTransactionProcessPolicy."},"rejectedAfterTransactionProcessPolicy":{"type":"string","description":"What to do if verification is after transaction processing, and is rejected.","enum":["proceed"],"default":"proceed"},"optionalPolicy":{"type":"string","description":"What to do if verification is optional.","enum":["allow-bypass","allow-use-alternate-gateway"],"default":"allow-bypass"},"alternateGatewayAccountIfOptional":{"type":"string","description":"Gateway account to use if allow-use-alternate-gateway is selected for optionalPolicy."},"bypassCurrencyToDisplay":{"description":"Currency three letter code to display on the bypass link, if optional.","type":"string","default":"USD"}},"required":["documents","excludePolicy","isMandatory","promptPolicy","rejectedBeforeTransactionProcessPolicy","rejectedAfterTransactionProcessPolicy","optionalPolicy"]}]}},"components/schemas/RuleActionRequestPhysicalAddress":{"id":"components/schemas/RuleActionRequestPhysicalAddress","kind":"json-schema","title":"RuleActionRequestPhysicalAddress","data":{"description":"Displays a Rebilly-hosted page where the customer can provide a street address and postal code before the payment is sent to the gateway.\nThe page is displayed only if the customer's primary address is a PO Box.\nThe submitted values are stored in the `referenceData` field of the transaction using the `physicalAddress` and `physicalAddressPostalCode` keys.\nAfter the customer provides an address, the page is not displayed on their later payments.\nIf the customer skips this step, the page is displayed again on their next payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"instructionsText":{"description":"Text that is displayed above the form.\nHTML is permitted.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":65535},"buttonText":{"description":"Text of the button that the customer can press to submit the address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255},"skipLinkText":{"description":"Text of the link that the customer can select to skip the address step and continue the payment without providing an address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255}}}]}},"components/schemas/RuleActionScheduleInvoiceRetry":{"id":"components/schemas/RuleActionScheduleInvoiceRetry","kind":"json-schema","title":"RuleActionScheduleInvoiceRetry","data":{"description":"Schedule an invoice retry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Policy on the attempt finishes.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Policy on the retry ends.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}},"overrideRetryInstruction":{"description":"Specifies whether to replace the existing retry.","type":"boolean"}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies","overrideRetryInstruction"]}]}},"components/schemas/SchedulingMethodAuto":{"id":"components/schemas/SchedulingMethodAuto","kind":"json-schema","title":"SchedulingMethodAuto","data":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["auto"]}}}},"components/schemas/ScheduleInstruction":{"id":"components/schemas/ScheduleInstruction","kind":"json-schema","title":"ScheduleInstruction","data":{"type":"object","description":"Specifies when the instruction is performed.","discriminator":{"propertyName":"method","mapping":{"auto":"#/components/schemas/SchedulingMethodAuto","date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodAuto"},{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]}},"components/schemas/RuleActionSchedulePayment":{"id":"components/schemas/RuleActionSchedulePayment","kind":"json-schema","title":"RuleActionSchedulePayment","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Calculation instruction of scheduled time for payment.","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/ScheduleInstruction"},"amountPolicy":{"type":"string","enum":["invoice-amount-due"]}},"required":["scheduleInstruction","amountPolicy"]}]}},"components/schemas/ReminderScheduleInstruction":{"id":"components/schemas/ReminderScheduleInstruction","kind":"json-schema","title":"ReminderScheduleInstruction","data":{"type":"object","description":"Calculation instruction of the scheduled time.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]}},"components/schemas/RuleActionScheduleReminder":{"id":"components/schemas/RuleActionScheduleReminder","kind":"json-schema","title":"RuleActionScheduleReminder","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","deprecated":true,"properties":{"role":{"type":"string","enum":["all","renewal","trial-end"],"description":"Specifies the types of events that the reminder is applicable to.\nThe `renewal` and `trial-end` options are only available for order events.\nOther events must use the `all` option."},"schedule":{"type":"object","description":"Collection of schedule instructions.","properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/ReminderScheduleInstruction"}},"chronology":{"type":"string","enum":["before","after"]}},"required":["instructions","chronology"]}},"required":["role"]}]}},"components/schemas/RulesEmailNotification":{"id":"components/schemas/RulesEmailNotification","kind":"json-schema","title":"RulesEmailNotification","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the message."},"version":{"type":"string","description":"Version number of the message.\nUse this field to distinguish between multiple messages by name and version number.\nIf there are no versions, this field is empty."},"weight":{"type":"integer","description":"Weight distribution value that is assigned to a template for a split test.\nEach template in a split test can be assigned a weight.\nThe higher the weight value, the more likely the message template is used.\n\nThe split test algorithm does not assess locale when making a weighted template selection.","minimum":0,"maximum":100,"example":75,"default":100},"templates":{"description":"Array of message templates with language locale identifiers in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.\nA language is selected based on the customer's locale.\n\nIf no locale is configured for the customer, `en-US` (US English) is used.\n\nIf no template is available in the customer's locale,\na template locale is selected using a closest match algorithm.\n\nIf your email message templates are localized into more than one language,\nset a customer locale.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.","type":"array","minItems":1,"items":{"type":"object","required":["locale","subject","text","html","from","to"],"properties":{"locale":{"type":"string","description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR"},"from":{"type":"string","description":"Email address of the sender.\n\n> **Important:** This value must be a verified email address.\n\nTo verify an email address:\n  1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/).\n    In the response, you receive the email and a token.\n  1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter.\n\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to a verified `from` address,\nthe default verified `from` address is used.","maxLength":254,"example":"example@example.com"},"to":{"type":"array","description":"List of email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","minItems":1,"items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"cc":{"type":"array","description":"List of CC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"bcc":{"type":"array","description":"List of BCC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"subject":{"type":"string","description":"Subject of the message.\nThe use of template placeholders is permitted for this field.","maxLength":998,"example":"Demonstration subject"},"text":{"type":"string","description":"Text body of the message.\nTo use content from the `html` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"Demonstration text"},"html":{"type":"string","description":"HTML body of the message.\nTo use content from the `text` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"<p>Demonstration text</p>"},"editor":{"type":"string","description":"Source of the message.\nThis value is required for the email editor.\nThis value is not used for sending emails.\nIt is used by the editor to reproduce the message for future updates.","example":"<div class=\"block\">Demonstration text</div>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"type":"string","description":"Type of the attachment resource.","example":"customer"},"resourceId":{"type":"string","description":"ID of the attachment resource.\nTemplate placeholders are permitted.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"}}}}},"example":{"locale":"fr-FR","from":"example@example.com","to":["{{ invoice.customer.email }}"],"subject":"Sujet de démonstration","text":"Texte de démonstration","html":"<p>Texte de démonstration</p>","editor":"<div class=\"block\">Texte de démonstration</div>"}}}},"required":["templates"]}},"components/schemas/RuleActionSendEmail":{"id":"components/schemas/RuleActionSendEmail","kind":"json-schema","title":"RuleActionSendEmail","data":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the action."},"title":{"type":"string","description":"Title of the messages (this title appears in reports)."},"emails":{"type":"array","description":"List of messages.","minItems":1,"items":{"$ref":"#/components/schemas/RulesEmailNotification"}},"splitTestStartTime":{"type":"string","format":"date-time","description":"Split test start time."}},"required":["emails"]}]}},"components/schemas/RuleActionStopSubscriptions":{"id":"components/schemas/RuleActionStopSubscriptions","kind":"json-schema","title":"RuleActionStopSubscriptions","data":{"description":"Stop active subscriptions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]}},"components/schemas/RuleActionTagOrUntagCustomer":{"id":"components/schemas/RuleActionTagOrUntagCustomer","kind":"json-schema","title":"RuleActionTagOrUntagCustomer","data":{"description":"Tag or untag a customer with a specified list of tags.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"addingTags":{"description":"List of tag ID customer should be tagged with.","type":"array","maxItems":1000,"items":{"type":"string"}},"removingTags":{"description":"List of tag ID customer should be untagged from.","type":"array","maxItems":1000,"items":{"type":"string"}}},"required":["addingTags","removingTags"]}]}},"components/schemas/RuleActionUpdateIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionUpdateIntuitQuickbooksInvoice","data":{"description":"Update an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","unearnedRevenueAccount"]}]}},"components/schemas/RuleActionVoidIntuitQuickbooksInvoice":{"id":"components/schemas/RuleActionVoidIntuitQuickbooksInvoice","kind":"json-schema","title":"RuleActionVoidIntuitQuickbooksInvoice","data":{"description":"Void an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash"]}]}},"components/schemas/Bind":{"id":"components/schemas/Bind","kind":"json-schema","title":"Bind","data":{"type":"object","description":"Rule information.","properties":{"id":{"description":"ID of the rule.","$ref":"#/components/schemas/ResourceId"},"name":{"description":"Name of the rule.","type":"string"},"labels":{"description":"Labels of the rule.","type":"array","uniqueItems":true,"example":["test-rule","category:foo"],"items":{"type":"string","pattern":"[a-zA-Z][a-zA-Z0-9:-]*"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"actions":{"description":"Actions that execute when an event occurs.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RuleAction"}}},"required":["name","actions"]}},"components/schemas/Rule":{"id":"components/schemas/Rule","kind":"json-schema","title":"Rule","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/Bind"},{"type":"object","properties":{"final":{"description":"Specifies if the rule stops subsequent rules in the event list from being executed.","type":"boolean","default":true}}}]}},"components/schemas/RuleSet":{"id":"components/schemas/RuleSet","kind":"json-schema","title":"RuleSet","data":{"type":"object","description":"Ruleset for a specific event.","properties":{"version":{"description":"Version of the ruleset.","type":"integer","readOnly":true},"binds":{"type":"array","description":"Binds always execute, regardless of rule based events.\nA bind is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Bind"}},"rules":{"type":"array","description":"Rules can be configured to stop subsequent rules in the event list from being executed.\nA rule is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Rule"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}},"required":["rules"]}},"components/schemas/RuleSetHistoryItem":{"id":"components/schemas/RuleSetHistoryItem","kind":"json-schema","title":"RuleSetHistoryItem","data":{"type":"object","description":"Version of ruleset.","readOnly":true,"properties":{"version":{"description":"Version of the ruleset.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}}},"components/schemas/GatewayAccount":{"id":"components/schemas/GatewayAccount","kind":"json-schema","title":"GatewayAccount","data":{"description":"Gateway account details.","type":"object","required":["gatewayName","method","acceptedCurrencies"],"discriminator":{"propertyName":"gatewayName","mapping":{"A1Gateway":"#/components/schemas/A1Gateway","ACI":"#/components/schemas/ACI","Adyen":"#/components/schemas/Adyen","Aera":"#/components/schemas/Aera","Aircash":"#/components/schemas/Aircash","Airpay":"#/components/schemas/Airpay","Airwallex":"#/components/schemas/Airwallex","AmazonPay":"#/components/schemas/AmazonPay","AmexVPC":"#/components/schemas/AmexVPC","Antom":"#/components/schemas/Antom","ApcoPay":"#/components/schemas/ApcoPay","AsiaPay":"#/components/schemas/AsiaPay","AsiaPaymentGateway":"#/components/schemas/AsiaPaymentGateway","AstroPayCard":"#/components/schemas/AstroPayCard","AuthorizeNet":"#/components/schemas/AuthorizeNet","Awepay":"#/components/schemas/Awepay","Bambora":"#/components/schemas/Bambora","BankSEND":"#/components/schemas/BankSEND","BitPay":"#/components/schemas/BitPay","BlueSnap":"#/components/schemas/BlueSnap","BraintreePayments":"#/components/schemas/BraintreePayments","Buckaroo":"#/components/schemas/Buckaroo","BVNK":"#/components/schemas/BVNK","CASHlib":"#/components/schemas/CASHlib","CODVoucher":"#/components/schemas/CODVoucher","Coinbase":"#/components/schemas/Coinbase","CoinGate":"#/components/schemas/CoinGate","CoinPayments":"#/components/schemas/CoinPayments","Cardknox":"#/components/schemas/Cardknox","Cashflows":"#/components/schemas/Cashflows","Cashterminal":"#/components/schemas/Cashterminal","CashToCode":"#/components/schemas/CashToCode","CauriPayment":"#/components/schemas/CauriPayment","Cayan":"#/components/schemas/Cayan","CCAvenue":"#/components/schemas/CCAvenue","Chase":"#/components/schemas/Chase","CheckoutCom":"#/components/schemas/CheckoutCom","Chillstock":"#/components/schemas/Chillstock","Circle":"#/components/schemas/Circle","Citadel":"#/components/schemas/Citadel","Clearhaus":"#/components/schemas/Clearhaus","Cleo":"#/components/schemas/Cleo","Conekta":"#/components/schemas/Conekta","Coppr":"#/components/schemas/Coppr","Cps":"#/components/schemas/Cps","Credorax":"#/components/schemas/Credorax","Cryptomus":"#/components/schemas/Cryptomus","Cryptonator":"#/components/schemas/Cryptonator","CyberSource":"#/components/schemas/CyberSource","DataCash":"#/components/schemas/DataCash","Dengi":"#/components/schemas/Dengi","Dimoco":"#/components/schemas/Dimoco","dLocal":"#/components/schemas/dLocal","Dragonphoenix":"#/components/schemas/Dragonphoenix","Dropayment":"#/components/schemas/Dropayment","Directa24":"#/components/schemas/Directa24","EasyPayDirect":"#/components/schemas/EasyPayDirect","EBANX":"#/components/schemas/EBANX","EPG":"#/components/schemas/EPG","EPro":"#/components/schemas/EPro","EcorePay":"#/components/schemas/EcorePay","Elavon":"#/components/schemas/Elavon","EMS":"#/components/schemas/EMS","ePay":"#/components/schemas/ePay","Euteller":"#/components/schemas/Euteller","Ezeebill":"#/components/schemas/Ezeebill","eZeeWallet":"#/components/schemas/eZeeWallet","ezyEFT":"#/components/schemas/ezyEFT","FinTecSystems":"#/components/schemas/FinTecSystems","Finrax":"#/components/schemas/Finrax","Flexepin":"#/components/schemas/Flexepin","Forte":"#/components/schemas/Forte","FundSend":"#/components/schemas/FundSend","gate2way":"#/components/schemas/gate2way","GET":"#/components/schemas/GET","Gigadat":"#/components/schemas/Gigadat","GlobalOne":"#/components/schemas/GlobalOne","GoCardless":"#/components/schemas/GoCardless","Gooney":"#/components/schemas/Gooney","Gpaysafe":"#/components/schemas/Gpaysafe","Greenbox":"#/components/schemas/Greenbox","HiPay":"#/components/schemas/HiPay","iCashOne":"#/components/schemas/iCashOne","ICEPAY":"#/components/schemas/ICEPAY","INOVAPAY":"#/components/schemas/INOVAPAY","Ilixium":"#/components/schemas/Ilixium","IMerchant":"#/components/schemas/IMerchant","Ingenico":"#/components/schemas/Ingenico","Inovio":"#/components/schemas/Inovio","InstaDebit":"#/components/schemas/InstaDebit","Intuit":"#/components/schemas/Intuit","IpayOptions":"#/components/schemas/IpayOptions","Isx":"#/components/schemas/Isx","JetPay":"#/components/schemas/JetPay","Jeton":"#/components/schemas/Jeton","JPMOrbital":"#/components/schemas/JPMOrbital","Khelocard":"#/components/schemas/Khelocard","Klarna":"#/components/schemas/Klarna","Konnektive":"#/components/schemas/Konnektive","Kushki":"#/components/schemas/Kushki","LaCore":"#/components/schemas/LaCore","Limepay":"#/components/schemas/Limepay","Loonio":"#/components/schemas/Loonio","loonie":"#/components/schemas/loonie","LPG":"#/components/schemas/LPG","MaxiCash":"#/components/schemas/MaxiCash","MercadoPago":"#/components/schemas/MercadoPago","MiFinity":"#/components/schemas/MiFinity","MobilePay":"#/components/schemas/MobilePay","Mollie":"#/components/schemas/Mollie","Moneris":"#/components/schemas/Moneris","Monolo":"#/components/schemas/Monolo","MonRem":"#/components/schemas/MonRem","MtaPay":"#/components/schemas/MtaPay","MuchBetter":"#/components/schemas/MuchBetter","MuchBetterGateway":"#/components/schemas/MuchBetterGateway","MyFatoorah":"#/components/schemas/MyFatoorah","Naewe":"#/components/schemas/Naewe","Neosurf":"#/components/schemas/Neosurf","NMI":"#/components/schemas/NMI","Netbanking":"#/components/schemas/Netbanking","Neteller":"#/components/schemas/Neteller","NGenius":"#/components/schemas/NGenius","NinjaWallet":"#/components/schemas/NinjaWallet","NordikCoin":"#/components/schemas/NordikCoin","NOWPayments":"#/components/schemas/NOWPayments","NuaPay":"#/components/schemas/NuaPay","OchaPay":"#/components/schemas/OchaPay","OmniMatrix":"#/components/schemas/OmniMatrix","Onlineueberweisen":"#/components/schemas/Onlineueberweisen","OnRamp":"#/components/schemas/OnRamp","Orbital":"#/components/schemas/Orbital","Pagadito":"#/components/schemas/Pagadito","Pagsmile":"#/components/schemas/Pagsmile","Panamerican":"#/components/schemas/Panamerican","PandaGateway":"#/components/schemas/PandaGateway","ParamountCommerce":"#/components/schemas/ParamountCommerce","ParamountEft":"#/components/schemas/ParamountEft","ParamountInterac":"#/components/schemas/ParamountInterac","Pay4Fun":"#/components/schemas/Pay4Fun","Paybilt":"#/components/schemas/Paybilt","PayCash":"#/components/schemas/PayCash","PayClub":"#/components/schemas/PayClub","Paycly":"#/components/schemas/Paycly","PayCom":"#/components/schemas/PayCom","PayEcards":"#/components/schemas/PayEcards","Paynote":"#/components/schemas/Paynote","PayPal":"#/components/schemas/PayPal","Payeezy":"#/components/schemas/Payeezy","Payflow":"#/components/schemas/Payflow","PayGlocal":"#/components/schemas/PayGlocal","PaymentAsia":"#/components/schemas/PaymentAsia","PaymenTechnologies":"#/components/schemas/PaymenTechnologies","PaymentsOS":"#/components/schemas/PaymentsOS","Paymero":"#/components/schemas/Paymero","Payper":"#/components/schemas/Payper","Payr":"#/components/schemas/Payr","PayRedeem":"#/components/schemas/PayRedeem","PayRetailers":"#/components/schemas/PayRetailers","Paysafe":"#/components/schemas/Paysafe","Paysafecard":"#/components/schemas/Paysafecard","Paysafecash":"#/components/schemas/Paysafecash","PayTabs":"#/components/schemas/PayTabs","PayU":"#/components/schemas/PayU","PayULatam":"#/components/schemas/PayULatam","Payvision":"#/components/schemas/Payvision","PayXpert":"#/components/schemas/PayXpert","PharosPayments":"#/components/schemas/PharosPayments","Piastrix":"#/components/schemas/Piastrix","Pin4Pay":"#/components/schemas/Pin4Pay","Plugnpay":"#/components/schemas/Plugnpay","PostFinance":"#/components/schemas/PostFinance","Powertranz":"#/components/schemas/Powertranz","PSiGate":"#/components/schemas/PSiGate","PPRO":"#/components/schemas/PPRO","Prosa":"#/components/schemas/Prosa","Quickpay":"#/components/schemas/Quickpay","Rapyd":"#/components/schemas/Rapyd","RPN":"#/components/schemas/RPN","Realex":"#/components/schemas/Realex","Realtime":"#/components/schemas/Realtime","Redsys":"#/components/schemas/Redsys","Rotessa":"#/components/schemas/Rotessa","Safecharge":"#/components/schemas/Safecharge","SaltarPay":"#/components/schemas/SaltarPay","SMSVoucher":"#/components/schemas/SMSVoucher","Sofort":"#/components/schemas/Sofort","Sagepay":"#/components/schemas/Sagepay","SeamlessChex":"#/components/schemas/SeamlessChex","SecureTrading":"#/components/schemas/SecureTrading","SecurionPay":"#/components/schemas/SecurionPay","Skrill":"#/components/schemas/Skrill","SmartInvoice":"#/components/schemas/SmartInvoice","SparkPay":"#/components/schemas/SparkPay","Splitit":"#/components/schemas/Splitit","StaticGateway":"#/components/schemas/StaticGateway","STPMexico":"#/components/schemas/STPMexico","Stripe":"#/components/schemas/Stripe","Tabby":"#/components/schemas/Tabby","Telr":"#/components/schemas/Telr","TestProcessor":"#/components/schemas/TestProcessor","Thunes":"#/components/schemas/Thunes","ToditoCash":"#/components/schemas/ToditoCash","Triple000":"#/components/schemas/Triple000","Truevo":"#/components/schemas/Truevo","TrustsPay":"#/components/schemas/TrustsPay","Trustly":"#/components/schemas/Trustly","TWINT":"#/components/schemas/TWINT","Txn":"#/components/schemas/Txn","Unlimit":"#/components/schemas/Unlimit","UPayCard":"#/components/schemas/UPayCard","USAePay":"#/components/schemas/USAePay","VantivLitle":"#/components/schemas/VantivLitle","VCreditos":"#/components/schemas/VCreditos","VegaWallet":"#/components/schemas/VegaWallet","Viva":"#/components/schemas/Viva","Wallet88":"#/components/schemas/Wallet88","Walpay":"#/components/schemas/Walpay","WesternUnion":"#/components/schemas/WesternUnion","Wirecard":"#/components/schemas/Wirecard","WorldlineAtosFrankfurt":"#/components/schemas/WorldlineAtosFrankfurt","Worldpay":"#/components/schemas/Worldpay","Zotapay":"#/components/schemas/Zotapay","eMerchantPay":"#/components/schemas/eMerchantPay","ecoPayz":"#/components/schemas/ecoPayz","ecoPayzTurkey":"#/components/schemas/ecoPayzTurkey","iCanPay":"#/components/schemas/iCanPay","iCheque":"#/components/schemas/iCheque","iDebit":"#/components/schemas/iDebit","vegaaH":"#/components/schemas/vegaaH","XPay":"#/components/schemas/XPay","Zimpler":"#/components/schemas/Zimpler"}},"properties":{"id":{"type":"string","description":"ID of the payment gateway account.","readOnly":true,"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"default":"Other","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"$ref":"#/components/schemas/PaymentMethod"},"acceptedCurrencies":{"description":"Accepted currencies.\nThis is an array of ISO 4217 currency codes.","type":"array","items":{"type":"string"}},"paymentCardSchemes":{"description":"Accepted payment card brands.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"status":{"description":"Status of the gateway account.","readOnly":true,"type":"string","enum":["active","inactive","pending","closed"]},"merchantCategoryCode":{"description":"Merchant category code of the payment gateway account.","type":"string","pattern":"^[0-9]{4}$","default":"0000"},"dccMarkup":{"description":"Dynamic currency conversion markup in basis points.\nThis value cannot be `0` if the `dccForceCurrency` field is empty.","type":["integer","null"],"minimum":-10000,"maximum":10000},"dccForceCurrency":{"type":["string","null"],"description":"Forces Dynamic Currency Conversion (DCC) to the specified currency on each sale.\nTo disable forced DCC, leave this field empty."},"dccForceConfirmation":{"type":"boolean","default":false,"description":"Specifies whether a confirmation step is required when `dccForceCurrency` is set."},"dccForceRounding":{"type":"boolean","default":false,"description":"Specifies that DCC quote amounts must be rounded half up to the nearest whole number."},"descriptor":{"description":"Gateway account descriptor value.","type":["string","null"]},"cityField":{"description":"Gateway account city field.\nThis value is also known as a line 2 descriptor.","type":["string","null"]},"excludedDccQuoteCurrencies":{"description":"Excluded Dynamic Currency Conversion (DCC) quote currencies.","type":"array","items":{"type":"string"}},"monthlyLimit":{"description":"Monthly limit on the amount money that the gateway account can process.","type":["number","null"],"format":"double","minimum":0},"approvalWindowTtl":{"description":"Allotted time, in seconds, in which an offsite transaction must be approved before it is automatically `abandoned`.","type":"integer","default":3600,"minimum":300,"maximum":16777215},"reconciliationWindowEnabled":{"description":"Specifies that if a transaction is not reconciled within the `reconciliationWindowTtl` time, the transaction is marked as `abandoned`.","type":"boolean","default":false},"reconciliationWindowTtl":{"description":"Allotted time, in seconds, in which a reconciliation must occur before it is automatically `abandoned`.","type":["integer","null"],"minimum":300,"maximum":16777215},"threeDSecure":{"description":"Specifies if a gateway account allows 3D Secure.","type":"boolean","default":false},"dynamicDescriptor":{"description":"Specifies if a gateway allows dynamic descriptors.","type":"boolean","default":false},"digitalWallets":{"$ref":"#/components/schemas/DigitalWallets"},"isDown":{"description":"Specifies if a gateway is in a downtime period.","type":"boolean","readOnly":true},"additionalFilters":{"description":"Additional filters used to determine if the gateway account can be selected to process a transaction.\n\nFor example, the filter may place a maximum amount value on transaction.\nIf a transaction exceeds this value, the gateway account is not used.\n\nFor more information see,\n[Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"],"example":"amount:1..100;bin:411111,444433"},"timeout":{"description":"Gateway account request timeout, in seconds.","type":["integer","null"],"minimum":10,"maximum":120},"token":{"description":"Gateway account token.","type":["string","null"],"readOnly":true,"example":"TwiX3f92k4AiBE27BzTbQ38hHjicBz_w"},"sticky":{"description":"Specifies if all future payments by the customer's payment instrument are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":"boolean","default":true},"setupInstruction":{"type":"string","default":"do-nothing","description":"Creates zero, one, or more child transactions such as `authorize` and `void`.\nThe transactions are linked to the `setup` transaction by the `parentTransactionId` relationship.","enum":["authorize","authorize-and-void","sca","do-nothing"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount and currency of the request.","authorize-and-void":"Creates an `authorize` transaction followed by a `void`, if the `authorize` is approved.\nIf the request amount is $0, then a $1 authorize is created. Otherwise the request amount is used.","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}},"readyToPayoutInstruction":{"type":"string","default":"none","description":"Defines the mode of gateway payout behaviour for the Ready to payout operation.","enum":["all","covered-payout","approved-payment","none"],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway. This is the default value, merchants must opt into payouts."}},"payoutLimits":{"description":"Payout limits for the gateway account applied during payout request auto-allocation.\nThese limits do not apply to manual allocations.\n\nThis field is distinct from deposit and sale\n[volume limits](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountlimitcollection/).","oneOf":[{"$ref":"#/components/schemas/GatewayAccountPayoutLimits"},{"type":"null"}]},"transactionEmailAliasTemplate":{"description":"Email address template used in place of a customer's real email address when sending transaction data to a processor.\nUse `{{customerId}}` as a placeholder for the customer's ID.\nWhen empty, the customer's real email address is used.","type":["string","null"],"example":"{{customerId}}@receipts.example.com"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","onBoardingUrl","dynamicIpnUrl","staticIpnUrl"]}}}}}}},"components/schemas/A1Gateway":{"id":"components/schemas/A1Gateway","kind":"json-schema","title":"A1Gateway","data":{"description":"A1Gateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"A1Gateway credentials object.","properties":{"accountId":{"type":"string","description":"ID of the A1Gateway account."},"password":{"type":"string","description":"A1Gateway password.","format":"password","writeOnly":true}},"required":["accountId","password"]}}}]}},"components/schemas/ThreeDSecureIO3dsServer":{"id":"components/schemas/ThreeDSecureIO3dsServer","kind":"json-schema","title":"ThreeDSecureIO3dsServer","data":{"description":"ThreeDSecureIO 3DS Server configuration.\nAt least one of the Acquirer merchant ID and BIN fields from the same provider (Amex ID and BIN, JCB ID and BIN, Discover ID and BIN, Mastercard ID and BIN, or Visa ID and BIN) must be provided.","type":"object","required":["name","merchantName","merchantCountry","merchantUrl","transactionType"],"properties":{"name":{"type":"string","description":"Merchant plug-in name.","enum":["ThreeDSecureIO3dsServer"]},"acquirerMerchantIdVisa":{"type":"string","description":"Merchant ID (MID) of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdMastercard":{"type":"string","description":"Merchant ID (MID) of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdAmex":{"type":"string","description":"Merchant ID (MID) of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdDiscover":{"type":"string","description":"Merchant ID (MID) of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdJcb":{"type":"string","description":"Merchant ID (MID) of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"merchantName":{"type":"string","description":"Name of the merchant.","maxLength":40},"merchantAcquirerBinVisa":{"type":"string","description":"BIN of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinMastercard":{"type":"string","description":"BIN of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinAmex":{"type":"string","description":"BIN of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinDiscover":{"type":"string","description":"BIN of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinJcb":{"type":"string","description":"BIN of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantCountry":{"type":"string","description":"Merchant country in ISO Alpha-2 code format.","maxLength":2,"example":"US"},"merchantUrl":{"type":"string","description":"URL of the merchant's website.","maxLength":2048},"transactionType":{"type":"string","enum":["01","03","10","11","28"],"description":"Identifies the type of transaction that is being authenticated.","x-enumDescriptions":{"1":"Goods/Service purchase.","3":"Check acceptance.","10":"Account funding.","11":"Quasi-Cash transaction. Indicates the type of 3RI request.","28":"Prepaid activation and load."}},"declineNotEnrolled":{"type":"boolean","description":"Specifies whether to decline transactions if a payment card is not enrolled.","default":false},"forceChallenge":{"type":"boolean","description":"Specifies if the 3D Secure authentication must be forced into challenge flow.","default":false}}}},"components/schemas/ACI":{"id":"components/schemas/ACI","kind":"json-schema","title":"ACI","data":{"description":"ACI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ACI credentials object.","properties":{"entityId":{"type":"string"},"accessToken":{"type":"string","format":"password","writeOnly":true}},"required":["entityId","accessToken"]},"settings":{"type":"object","description":"ACI settings object.","properties":{"url":{"type":"string","description":"ACI custom server URL."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Adyen":{"id":"components/schemas/Adyen","kind":"json-schema","title":"Adyen","data":{"description":"Adyen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Adyen credentials object.","properties":{"merchantAccount":{"type":"string","description":"Adyen merchant account."},"apiKey":{"type":"string","description":"Adyen API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Adyen HMAC key to verify IPN signature.","format":"password","writeOnly":true}},"required":["merchantAccount","apiKey"]},"settings":{"type":"object","description":"Adyen settings object.","properties":{"store":{"type":"string","description":"E-commerce or point-of-sale store that is processing the payment.","minLength":1,"maxLength":16},"url":{"type":"string","description":"Adyen post URL."},"splitPayments":{"type":"array","description":"Adyen split payments.","items":{"type":"object","properties":{"percentage":{"description":"Percentage of the transaction amount.","type":"number","format":"double","minimum":0,"maximum":100,"example":0.5},"commissionAmount":{"description":"Fixed commission amount in minor units.","type":"number","format":"integer","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"account":{"description":"ID of the balance account where the split amount is sent.","type":"string"},"merchantCountry":{"description":"Two-letter ISO 3166 alpha-2 code of the merchant's country.","type":"string","example":"US"},"type":{"description":"Account type of the split payment.","type":"string","enum":["BalanceAccount","Commission","Remainder","PaymentFee"]}}}},"totalTaxRate":{"type":"number","format":"double","description":"Total tax percentage as a decimal.\nUse this field to calculate the total tax amount to send with level 2 enhanced scheme data.","example":5.5,"minimum":0.01,"maximum":100},"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false,"example":false},"riskProfile":{"type":"string","description":"Adyen risk profile."},"levelTwoThreeDataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Level 2/3 data."},"mastercardDpaId":{"type":"string","description":"ID of the Digital Payment Application (DPA) for Mastercard Secure Card on File (SCOF)."},"mastercardServiceId":{"type":"string","description":"ID of the Mastercard Secure Card on File (SCOF) service."}},"required":["url"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Aera":{"id":"components/schemas/Aera","kind":"json-schema","title":"Aera","data":{"description":"Aera gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aera credentials object.","properties":{"clientId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["clientId","apiKey","ipnSecret"]}}}]}},"components/schemas/Aircash":{"id":"components/schemas/Aircash","kind":"json-schema","title":"Aircash","data":{"description":"Aircash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aircash credentials object.","properties":{"partnerId":{"type":"string","description":"ID of the Aircash partner."},"privateKey":{"writeOnly":true,"type":"string","description":"Private key of the Aircash partner.","format":"password","x-multiline":true},"privateKeyPassword":{"writeOnly":true,"type":"string","description":"Private key password of the Aircash partner.","format":"password"}},"required":["partnerId","privateKey","privateKeyPassword"]}}}]}},"components/schemas/Airpay":{"id":"components/schemas/Airpay","kind":"json-schema","title":"Airpay","data":{"description":"Airpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airpay credentials object.","properties":{"username":{"type":"string","description":"Airpay username."},"merchantId":{"type":"string","description":"ID of the Airpay merchant."},"password":{"writeOnly":true,"type":"string","description":"Airpay password.","format":"password"},"apiKey":{"type":"string","description":"Airpay API key.","format":"password","writeOnly":true}},"required":["username","merchantId","password","apiKey"]}}}]}},"components/schemas/Airwallex":{"id":"components/schemas/Airwallex","kind":"json-schema","title":"Airwallex","data":{"description":"Airwallex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airwallex credentials object.","properties":{"clientId":{"type":"string","description":"Airwallex client ID."},"apiKey":{"type":"string","description":"Airwallex API key.","format":"password","writeOnly":true}},"required":["clientId","apiKey"]},"settings":{"type":"object","description":"Airwallex settings object.","properties":{"deviceIdCustomField":{"type":"string","description":"Name of the transaction custom field that holds the device ID."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/AmazonPay":{"id":"components/schemas/AmazonPay","kind":"json-schema","title":"AmazonPay","data":{"description":"AmazonPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the AmazonPay merchant."},"storeId":{"type":"string","description":"ID of the AmazonPay store."},"publicKeyId":{"type":"string","description":"ID of the AmazonPay public key."},"privateKey":{"description":"ID of the AmazonPay private key.","type":"string","format":"password","x-multiline":true,"writeOnly":true}},"required":["privateKey","storeId","publicKeyId","merchantId"]}}}]}},"components/schemas/AmexVPC":{"id":"components/schemas/AmexVPC","kind":"json-schema","title":"AmexVPC","data":{"description":"AmexVPC gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"AmexVPC credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the AmexVPC merchant."},"accessCode":{"type":"string","description":"AmexVPC access Code.","format":"password","writeOnly":true},"user":{"type":"string","description":"AmexVPC account user.\nThis field is used for refund, void, and capture transactions."},"password":{"type":"string","description":"AmexVPC account password.\nThis field is used for refund, void, and capture transactions.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","user","password"]},"settings":{"type":"object","description":"AmexVPC settings object.","properties":{"url":{"type":"string","description":"Virtual payment client URL."}},"required":["url"]}}}]}},"components/schemas/Antom":{"id":"components/schemas/Antom","kind":"json-schema","title":"Antom","data":{"description":"Antom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Antom credentials object.","properties":{"clientId":{"type":"string","description":"Antom client ID."},"privateKey":{"type":"string","description":"Antom private key.","format":"password","writeOnly":true,"x-multiline":true}},"required":["clientId","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ApcoPay":{"id":"components/schemas/ApcoPay","kind":"json-schema","title":"ApcoPay","data":{"description":"ApcoPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ApcoPay credentials object.","properties":{"profileID":{"type":"string","description":"ID of the ApcoPay profile."},"secretWord":{"type":"string","description":"ApcoPay secret word.","format":"password","writeOnly":true},"MerchantID":{"type":"string","description":"ID of the ApcoPay merchant."},"MerchantPassword":{"type":"string","description":"ApcoPay merchant password.","format":"password","writeOnly":true}},"required":["profileID","secretWord","MerchantID","MerchantPassword"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"ApcoPay method.","enum":["AFTERPAY","BANCONTACT","CREDITCLICK","FLEXEPIN","IDEAL","JPAY","OCTAPAY","ONLINEUBERWEISEN","ORIENTALWALLET","VENUSPOINT","ZIMPLER"]}},"required":["method"]}}}]}},"components/schemas/AsiaPay":{"id":"components/schemas/AsiaPay","kind":"json-schema","title":"AsiaPay","data":{"description":"AsiaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPay credentials object.","properties":{"merchantId":{"type":"string","description":"AsiaPay merchant number."},"loginId":{"type":"string","description":"AsiaPay login ID."},"secretKey":{"type":"string","description":"AsiaPay secret key for hash.","format":"password","writeOnly":true},"password":{"type":"string","description":"AsiaPay password.","format":"password","writeOnly":true}},"required":["merchantId","loginId","password","secretKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for AsiaPay API."}},"required":["baseUrl"]}}}]}},"components/schemas/AsiaPaymentGateway":{"id":"components/schemas/AsiaPaymentGateway","kind":"json-schema","title":"AsiaPaymentGateway","data":{"description":"AsiaPaymentGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPaymentGateway credentials object.","properties":{"merchantNumber":{"type":"string","description":"AsiaPaymentGateway merchant number."},"secretKey":{"type":"string","description":"AsiaPaymentGateway secret key for hash.","format":"password","writeOnly":true}},"required":["merchantNumber","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/AstroPayCard":{"id":"components/schemas/AstroPayCard","kind":"json-schema","title":"AstroPayCard","data":{"description":"AstroPay Card gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AstroPay Card credentials object.","properties":{"x_login":{"type":"string","description":"AstroPay Card login."},"x_tran_key":{"type":"string","description":"AstroPay Card transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"AstroPay Card secret key.","format":"password","writeOnly":true},"api_key":{"type":"string","description":"OneTouch Astropay API key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key"]},"settings":{"type":"object","description":"AstroPay Card settings object.","properties":{"oneTouchApi":{"type":"boolean","description":"Specifies whether to use a OneTouch AstroPay API.","default":false},"useOneTouchSdk":{"type":"boolean","description":"Specifies whether to use the OneTouch AstroPay SDK.","default":false},"merchantName":{"type":"string","description":"Displayed merchant name for AstroPay OneTouch."},"merchantLogoUrl":{"type":"string","description":"Displayed merchant logo for AstroPay OneTouch."}}}}}]}},"components/schemas/AuthorizeNet":{"id":"components/schemas/AuthorizeNet","kind":"json-schema","title":"AuthorizeNet","data":{"description":"AuthorizeNet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiLoginId":{"type":"string","description":"ID of the AuthorizeNet API login."},"transactionKey":{"description":"AuthorizeNet transaction key.","type":"string","format":"password","writeOnly":true}},"required":["apiLoginId","transactionKey"]}}}]}},"components/schemas/Awepay":{"id":"components/schemas/Awepay","kind":"json-schema","title":"Awepay","data":{"description":"Awepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Awepay credentials object.","properties":{"sid":{"type":"string","description":"ID of the Awepay site."},"rcode":{"type":"string","description":"Awepay rcode.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Awepay secret key for the P2P REST API.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Awepay API key for REST API.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Awepay public key for REST API.","x-multiline":true},"privateKey":{"type":"string","description":"Awepay private key for REST API.","format":"password","x-multiline":true,"writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Awepay setting.","properties":{"useP2pRest":{"type":"boolean","description":"Specifies whether to use the P2P REST API."},"useRestApi":{"type":"boolean","description":"Specifies whether to use REST API."},"methodType":{"type":"string","description":"Awepay method type."}}}}}]}},"components/schemas/Bambora":{"id":"components/schemas/Bambora","kind":"json-schema","title":"Bambora","data":{"description":"Bambora gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Bambora merchant."},"apiPasscode":{"type":"string","description":"Bambora API passcode.","format":"password","writeOnly":true}},"required":["merchantId","apiPasscode"]}}}]}},"components/schemas/BankSEND":{"id":"components/schemas/BankSEND","kind":"json-schema","title":"BankSEND","data":{"description":"BankSEND gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BankSEND credentials object.","properties":{"merchantId":{"description":"ID of the BankSEND merchant.","type":"string"},"merchantToken":{"type":"string","format":"password","description":"BankSEND merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/BitPay":{"id":"components/schemas/BitPay","kind":"json-schema","title":"BitPay","data":{"description":"BitPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BitPay credentials object.","properties":{"token":{"type":"string","description":"BitPay merchant API token.","format":"password","writeOnly":true}},"required":["token"]}}}]}},"components/schemas/BlueSnap":{"id":"components/schemas/BlueSnap","kind":"json-schema","title":"BlueSnap","data":{"description":"BlueSnap gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BlueSnap credentials object.","properties":{"username":{"type":"string","description":"API username of the BlueSnap merchant."},"merchantId":{"type":"string","description":"ID of the BlueSnap merchant."},"password":{"type":"string","description":"API password of the BlueSnap merchant.","format":"password","writeOnly":true},"dataProtectionKey":{"type":"string","description":"Data protection key of the BlueSnap merchant.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false},"salesTaxAmount":{"type":"number","format":"double","description":"Sales tax amount as a decimal to send with level 2/3 data.","example":0.06},"metadataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the BlueSnap transaction metadata."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/BraintreePayments":{"id":"components/schemas/BraintreePayments","kind":"json-schema","title":"BraintreePayments","data":{"description":"BraintreePayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"BraintreePayments public key."},"privateKey":{"type":"string","description":"BraintreePayments private key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the BraintreePayments merchant.","format":"password","writeOnly":true},"merchantAccountId":{"type":"string","description":"ID of the BraintreePayments merchant account.","format":"password","writeOnly":true}},"required":["publicKey","privateKey","merchantId","merchantAccountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Buckaroo":{"id":"components/schemas/Buckaroo","kind":"json-schema","title":"Buckaroo","data":{"description":"Buckaroo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Buckaroo credentials object.","properties":{"schemeKey":{"type":"string","description":"Scheme key."},"websiteKey":{"type":"string","description":"Website key."},"secretKey":{"description":"Secret key.","type":"string","format":"password"}},"required":["websiteKey","secretKey"]},"settings":{"type":"object","properties":{"useSepaRecurring":{"type":"boolean","description":"Specifies whether to use SEPA as recurring method.","default":false}}}}}]}},"components/schemas/BVNK":{"id":"components/schemas/BVNK","kind":"json-schema","title":"BVNK","data":{"description":"BVNK gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BVNK credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID of the BVNK merchant."},"hawkAuthId":{"type":"string","description":"HAWK auth ID.","format":"password","writeOnly":true},"hawkAuthKey":{"type":"string","description":"HAWK auth key.","format":"password","writeOnly":true}},"required":["merchantId","hawkAuthId","hawkAuthKey"]},"settings":{"type":"object","description":"BVNK settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/CASHlib":{"id":"components/schemas/CASHlib","kind":"json-schema","title":"CASHlib","data":{"description":"CASHlib gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CASHlib credentials object.","properties":{"apiKey":{"type":"string","description":"CASHlib API key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the CASHlib merchant."}},"required":["apiKey","merchantId"]}}}]}},"components/schemas/CODVoucher":{"id":"components/schemas/CODVoucher","kind":"json-schema","title":"CODVoucher","data":{"description":"CODVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CODVoucher credentials object.","properties":{"apiKey":{"type":"string","description":"CODVoucher API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"CODVoucher API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/AmountAdjustmentTolerance":{"id":"components/schemas/AmountAdjustmentTolerance","kind":"json-schema","title":"AmountAdjustmentTolerance","data":{"type":"integer","description":"Tolerance percentage for the settled amount.","minimum":0,"maximum":5,"example":5}},"components/schemas/Coinbase":{"id":"components/schemas/Coinbase","kind":"json-schema","title":"Coinbase","data":{"description":"Coinbase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coinbase credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Coinbase settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/CoinGate":{"id":"components/schemas/CoinGate","kind":"json-schema","title":"CoinGate","data":{"description":"CoinGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"authToken":{"type":"string","format":"password","description":"Authentication token.","writeOnly":true}},"required":["authToken"]},"settings":{"type":"object","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.\nThis field defaults to the transaction currency.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"},"adjustAmount":{"type":"boolean","description":"Specifies whether to adjust the amount that is received from the downstream gateway.","default":false,"example":false}}}}}]}},"components/schemas/CoinPayments":{"id":"components/schemas/CoinPayments","kind":"json-schema","title":"CoinPayments","data":{"description":"CoinPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CoinPayments credentials object.","required":["publicKey","privateKey","ipnSecret"],"properties":{"publicKey":{"type":"string","description":"CoinPayments public key."},"privateKey":{"type":"string","format":"password","description":"CoinPayments private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"CoinPayments IPN secret.","writeOnly":true},"merchantId":{"type":"string","format":"password","description":"ID of the CoinPayments merchant.","writeOnly":true},"clientId":{"type":"string","description":"CoinPayments client ID required for API (version 2)."},"clientSecret":{"type":"string","format":"password","description":"CoinPayments client secret required for API (version 2).","writeOnly":true}}},"settings":{"type":"object","properties":{"useCallbackAddress":{"type":"boolean","description":"Specifies if the callback address payment type must be used."},"useV2Api":{"type":"boolean","description":"Specifies if the CoinPayments API (version 2) must be used.\nThis requires both CoinPayments client ID and secret to be provided."},"apiUrl":{"type":"string","description":"URL of the CoinPayments API (version 2).","default":"https://api.coinpayments.com"}}}}}]}},"components/schemas/Cardknox":{"id":"components/schemas/Cardknox","kind":"json-schema","title":"Cardknox","data":{"description":"Cardknox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xKey":{"type":"string","description":"Cardknox xKey.","format":"password","writeOnly":true}},"required":["xKey"]}}}]}},"components/schemas/Cashflows":{"id":"components/schemas/Cashflows","kind":"json-schema","title":"Cashflows","data":{"description":"Cashflows gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authId":{"type":"string","description":"ID of the Cashflows authentication."},"authPassword":{"type":"string","description":"ID of the Cashflows authentication password.","format":"password","writeOnly":true}},"required":["authPassword","authId"]}}}]}},"components/schemas/Cashterminal":{"id":"components/schemas/Cashterminal","kind":"json-schema","title":"Cashterminal","data":{"description":"Cashterminal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"secretKey":{"description":"Cashterminal secret key.","type":"string","format":"password","writeOnly":true}},"required":["secretKey"]}}}]}},"components/schemas/CashToCode":{"id":"components/schemas/CashToCode","kind":"json-schema","title":"CashToCode","data":{"description":"CashToCode gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CashToCode credentials object.","properties":{"cashToCodeUsername":{"type":"string","description":"CashToCode credentials username."},"cashToCodePassword":{"type":"string","description":"CashToCode credentials password.","format":"password","writeOnly":true},"merchantUsername":{"type":"string","description":"Merchant credentials username."},"merchantPassword":{"type":"string","description":"Merchant credentials password.","format":"password","writeOnly":true},"mid":{"type":"string","description":"CashToCode Merchant Identifier Number (MID) or brand name."}},"required":["cashToCodeUsername","cashToCodePassword","merchantUsername","merchantPassword"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base API URL."},"skipAmountSelection":{"type":"boolean","description":"Specifies whether to skip the amount selection screen.","default":false},"amounts":{"type":"array","description":"Amounts for which transactions are processed.","items":{"type":"number","format":"double","minimum":0}}}}}}]}},"components/schemas/CauriPayment":{"id":"components/schemas/CauriPayment","kind":"json-schema","title":"CauriPayment","data":{"description":"CauriPayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CauriPayment credentials object.","properties":{"publicKey":{"type":"string","description":"CauriPayment merchant public key."},"privateKey":{"type":"string","description":"CauriPayment merchant private key.","format":"password","writeOnly":true}},"required":["publicKey","privateKey"]}}}]}},"components/schemas/Cayan":{"id":"components/schemas/Cayan","kind":"json-schema","title":"Cayan","data":{"description":"Cayan gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSiteId":{"type":"string","description":"ID of the Cayan merchant site."},"merchantName":{"type":"string","description":"Cayan merchant name."},"merchantKey":{"type":"string","description":"Cayan merchant key.","format":"password","writeOnly":true}},"required":["merchantSiteId","merchantName","merchantKey"]}}}]}},"components/schemas/CCAvenue":{"id":"components/schemas/CCAvenue","kind":"json-schema","title":"CCAvenue","data":{"description":"CCAvenue gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CCAvenue credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the CCAvenue merchant."},"accessCode":{"type":"string","description":"CCAvenue access code.","format":"password","writeOnly":true},"workingKey":{"type":"string","description":"CCAvenue working key.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","workingKey"]},"settings":{"type":"object","properties":{"useStandingInstructionApi":{"description":"Specifies whether to use the Standing Instruction API.","type":"boolean","default":false}}}}}]}},"components/schemas/Chase":{"id":"components/schemas/Chase","kind":"json-schema","title":"Chase","data":{"description":"Chase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Chase NetConnect username."},"password":{"type":"string","description":"Chase NetConnect password.","format":"password","writeOnly":true},"coNumber":{"type":"string","description":"Chase CO number used for delimited file reports."},"divisionId":{"type":"string","description":"ID of the Chase division."},"partialAuth":{"type":"boolean","description":"Specifies whether to support partial authentications.","default":false}},"required":["username","password","coNumber","divisionId","partialAuth"]}}}]}},"components/schemas/CheckoutCom":{"id":"components/schemas/CheckoutCom","kind":"json-schema","title":"CheckoutCom","data":{"description":"Checkout.com gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Checkout.com credentials object.","properties":{"secretKey":{"type":"string","format":"password","description":"Checkout.com secret API key.\nGenerate this key in the Checkout.com dashboard under Developers->API keys section.","writeOnly":true},"signatureKey":{"type":"string","format":"password","description":"Checkout.com webhook signature key.\nGenerate this key in the Checkout.com dashboard under Developers->Webhooks section.","writeOnly":true}},"required":["secretKey"]},"settings":{"type":"object","properties":{"markAsWaitingGatewayOnPendingPayout":{"type":"boolean","description":"Specifies whether to mark pending payouts as 'waiting-gateway/unknown' instead of 'approved'.","default":false},"subEntityIdWebsiteCustomField":{"type":"string","description":"Name of the website custom field that holds the sub-entity ID."},"processingChannelId":{"type":"string","description":"Checkout.com processing channel ID.\nCheckout.com secret API key can be configured with a default processing channel ID.\nOtherwise the processing channel ID needs to be set."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Chillstock":{"id":"components/schemas/Chillstock","kind":"json-schema","title":"Chillstock","data":{"description":"Chillstock gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Chillstock credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID)."},"privateKey":{"type":"string","description":"Chillstock private key.","format":"password","x-multiline":true,"writeOnly":true},"publicKey":{"type":"string","description":"Chillstock public key."}},"required":["merchantId","privateKey"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is forced to sandbox mode.","default":false}}}}}]}},"components/schemas/Circle":{"id":"components/schemas/Circle","kind":"json-schema","title":"Circle","data":{"description":"Circle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Circle credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"Circle API key.","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Citadel":{"id":"components/schemas/Citadel","kind":"json-schema","title":"Citadel","data":{"description":"Citadel gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Citadel credentials object.","properties":{"storeName":{"type":"string","description":"Citadel store name."},"storeId":{"type":"string","description":"ID of the Citadel store."},"username":{"type":"string","description":"Citadel username."},"password":{"type":"string","description":"Citadel password.","format":"password","writeOnly":true}},"required":["storeName","storeId","username","password"]}}}]}},"components/schemas/Clearhaus":{"id":"components/schemas/Clearhaus","kind":"json-schema","title":"Clearhaus","data":{"description":"Clearhaus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Clearhaus API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Cleo":{"id":"components/schemas/Cleo","kind":"json-schema","title":"Cleo","data":{"description":"Cleo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cleo credentials object.","properties":{"accessToken":{"type":"string","description":"Cleo access token.","format":"password","writeOnly":true}},"required":["accessToken"]}}}]}},"components/schemas/Conekta":{"id":"components/schemas/Conekta","kind":"json-schema","title":"Conekta","data":{"description":"Conekta gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Conekta credentials object.","properties":{"apiKey":{"type":"string","description":"Conekta private API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Conekta settings object.","properties":{"baseUrl":{"type":"string","description":"Base API URL."}}}}}]}},"components/schemas/Coppr":{"id":"components/schemas/Coppr","kind":"json-schema","title":"Coppr","data":{"description":"Coppr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coppr credentials object.","properties":{"organizationId":{"type":"string","description":"ID of the Coppr organization."},"apiKey":{"type":"string","description":"Coppr API key.","format":"password","writeOnly":true}},"required":["organizationId","apiKey"]},"settings":{"type":"object","description":"Coppr settings object.","properties":{"rebillyPublishableKey":{"type":"string","description":"Rebilly publishable API key.\nIf this value is provided, a payment token is created for each transaction.\nPayment card transactions are declined if this value is not provided.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)."}}}}}]}},"components/schemas/Cps":{"id":"components/schemas/Cps","kind":"json-schema","title":"Cps","data":{"description":"CPS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CPS credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the CPS gateway."},"password":{"type":"string","description":"Password of the CPS gateway.","format":"password","writeOnly":true}},"required":["clientKey","password"]},"settings":{"type":"object","properties":{"paymentUrl":{"type":"string","description":"Payment URL of the CPS gateway for server-to-server integration."}},"required":["paymentUrl"]}}}]}},"components/schemas/Credorax":{"id":"components/schemas/Credorax","kind":"json-schema","title":"Credorax","data":{"description":"Credorax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Credorax merchant."},"merchantMd5Signature":{"type":"string","description":"Credorax MD5 signature.","format":"password","writeOnly":true}},"required":["merchantId","merchantMd5Signature"]}}}]}},"components/schemas/Cryptomus":{"id":"components/schemas/Cryptomus","kind":"json-schema","title":"Cryptomus","data":{"description":"Cryptomus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptomus credentials object.","properties":{"merchantId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]},"settings":{"type":"object","properties":{"refundAddress":{"type":"string","description":"Address where the refund is sent."}}}}}]}},"components/schemas/Cryptonator":{"id":"components/schemas/Cryptonator","kind":"json-schema","title":"Cryptonator","data":{"description":"Cryptonator gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptonator credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the Cryptonator merchant."},"secret":{"type":"string","description":"Cryptonator secret.","format":"password","writeOnly":true}},"required":["merchant_id","secret"]}}}]}},"components/schemas/CyberSource":{"id":"components/schemas/CyberSource","kind":"json-schema","title":"CyberSource","data":{"description":"CyberSource gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CyberSource credentials object.","properties":{"accessKey":{"type":"string","description":"CyberSource access key."},"profileId":{"type":"string","description":"ID of the CyberSource profile."},"secretKey":{"type":"string","description":"CyberSource secret key.","format":"password","writeOnly":true}},"required":["accessKey","profileId","secretKey"]}}}]}},"components/schemas/DataCash":{"id":"components/schemas/DataCash","kind":"json-schema","title":"DataCash","data":{"description":"DataCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"client":{"type":"string","description":"DataCash client."},"password":{"type":"string","description":"DataCash password.","format":"password","writeOnly":true},"reportGroup":{"type":"string","description":"DataCash report group."},"reportUser":{"type":"string","description":"DataCash report user."},"reportPassword":{"type":"string","description":"DataCash report password.","format":"password","writeOnly":true},"visaPayoutsClient":{"type":"string","description":"DataCash client for Visa OCT (Original Credit Transfer) payouts."},"visaPayoutsPassword":{"type":"string","description":"DataCash password for Visa OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true},"masterCardPayoutsClient":{"type":"string","description":"DataCash client for MasterCard OCT (Original Credit Transfer) payouts."},"masterCardPayoutsPassword":{"type":"string","description":"DataCash password for MasterCard OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true}},"required":["client","password"]},"settings":{"type":"object","description":"Datacash settings object.","properties":{"policy":{"type":"integer","description":"Policy.","minimum":0,"maximum":7,"default":2},"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]}},"components/schemas/Dengi":{"id":"components/schemas/Dengi","kind":"json-schema","title":"Dengi","data":{"description":"Dengi gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"projectId":{"type":"string","description":"ID of the Dengi project."},"publicKey":{"type":"string","description":"Dengi public key.","format":"password","writeOnly":true},"refundKey":{"type":"string","description":"Dengi refund key.","format":"password","writeOnly":true}},"required":["projectId","publicKey","refundKey"]}}}]}},"components/schemas/Dimoco":{"id":"components/schemas/Dimoco","kind":"json-schema","title":"Dimoco","data":{"description":"Dimoco gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Dimoc merchant."},"orderId":{"type":"string","description":"ID of the Dimoc project."},"password":{"type":"string","format":"password","description":"ID of the Dimoc project.","writeOnly":true}},"required":["merchantId","orderId","password"]}}}]}},"components/schemas/dLocal":{"id":"components/schemas/dLocal","kind":"json-schema","title":"dLocal","data":{"description":"dLocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"dLocal login."},"xTransKey":{"type":"string","description":"dLocal transKey."},"secretKey":{"type":"string","format":"password","description":"dLocal secret key.","writeOnly":true},"xPayoutLogin":{"type":"string","description":"dLocal payout login."},"xPayoutTransKey":{"type":"string","description":"dLocal payout transKey."},"payoutSecretKey":{"type":"string","format":"password","description":"dLocal payout secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"dLocal settings object.","properties":{"createInstallmentPlan":{"type":"boolean","default":false,"description":"Specifies whether to create an installment plan and use it for payment."},"customerDocumentCustomField":{"type":"string","description":"Name of the transaction custom field that holds the customer document.\nUse this setting to skip the intermediate step of collecting the customer document for payment card transactions."},"requestAddress":{"type":"boolean","default":false,"description":"Specifies if the customer is asked for a billing address on the document ID page."}}}}}]}},"components/schemas/Dragonphoenix":{"id":"components/schemas/Dragonphoenix","kind":"json-schema","title":"Dragonphoenix","data":{"description":"Dragonphoenix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dragonphoenix credentials object.","properties":{"sid":{"type":"string","description":"ID of the Dragonphoenix site."},"rcode":{"type":"string","description":"Dragonphoenix rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]}}}]}},"components/schemas/Dropayment":{"id":"components/schemas/Dropayment","kind":"json-schema","title":"Dropayment","data":{"description":"Dropayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dropayment credentials object.","properties":{"login":{"type":"string","description":"Dropayment login."},"endpointId":{"type":"string","description":"ID of the Dropayment end point."},"secretKey":{"type":"string","description":"Dropayment secret key.","format":"password","writeOnly":true}},"required":["login","endpointId","secretKey"]}}}]}},"components/schemas/Directa24Banks":{"id":"components/schemas/Directa24Banks","kind":"json-schema","title":"Directa24Banks","data":{"type":"string","enum":["AA","AL","AZ","B","BAB","BB","BC","BE","BL","BM","BN","BP","BQ","BU","BV","BW","BX","BZ","CA","CE","CI","CU","EF","EN","EY","FA","FB","FC","GC","GG","HC","I","IA","IB","JM","LC","LE","LL","MC","ME","MD","MP","MT","NB","OM","OX","PC","PH","PL","SB","SC","SE","SF","SM","SS","ST","SU","TC","TK","TG","TR","TY","RY","UB","UI","UL","US","VD","VI","WA","WP","WU","XA"]}},"components/schemas/Directa24":{"id":"components/schemas/Directa24","kind":"json-schema","title":"Directa24","data":{"description":"Directa24 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Directa24 credentials object.","properties":{"x_login":{"type":"string","description":"Directa24 login."},"x_tran_key":{"type":"string","description":"Directa24 transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"Directa24 secret key.","format":"password","writeOnly":true},"web_pay_login":{"type":"string","description":"Directa24 web pay status login."},"web_pay_tran_key":{"type":"string","description":"Directa24 web pay status password.","format":"password","writeOnly":true},"cashout_login":{"type":"string","description":"Directa24 cashout login."},"cashout_password":{"type":"string","description":"Directa24 cashout password.","format":"password","writeOnly":true},"chargebackAccessKey":{"type":"string","description":"Directa24 chargeback access key (email)."},"chargebackSecretKey":{"type":"string","description":"Directa24 chargeback secret key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key","web_pay_login","web_pay_tran_key"]},"settings":{"type":"object","description":"Directa24 settings object.","properties":{"banks":{"type":"array","description":"List of banks that is displayed to customers.","items":{"$ref":"#/components/schemas/Directa24Banks"}},"skipStep":{"type":"boolean","description":"Specifies whether to skip the enter user personal information step."},"useV3Api":{"type":"boolean","description":"Specifies whether to use Directa24 API version 3."},"storeIdNumber":{"type":"boolean","description":"Specifies whether to store the customer ID number for future use."}}}}}]}},"components/schemas/EasyPayDirect":{"id":"components/schemas/EasyPayDirect","kind":"json-schema","title":"EasyPayDirect","data":{"description":"EasyPayDirect gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EasyPayDirect credentials object.","properties":{"secretKey":{"type":"string","description":"API secret key of the EasyPayDirect account.","format":"password","writeOnly":true}},"required":["secretKey"]}}}]}},"components/schemas/EBANX":{"id":"components/schemas/EBANX","kind":"json-schema","title":"EBANX","data":{"description":"EBANX gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EBANX credentials object.","properties":{"integrationKey":{"type":"string","description":"EBANX integration key.","format":"password","writeOnly":true}},"required":["integrationKey"]}}}]}},"components/schemas/EPG":{"id":"components/schemas/EPG","kind":"json-schema","title":"EPG","data":{"description":"EPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPG credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the merchant."},"productId":{"type":"string","description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"merchantPassword":{"type":"string","description":"Merchant password.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Merchant key.","format":"password","writeOnly":true}},"required":["merchantId","productId","merchantPassword","merchantKey"]}}}]}},"components/schemas/EPro":{"id":"components/schemas/EPro","kind":"json-schema","title":"EPro","data":{"description":"EPro gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPro credentials object.","properties":{"apiSecretKey":{"type":"string","description":"EPro secret API key.","format":"password","writeOnly":true}},"required":["apiSecretKey"]}}}]}},"components/schemas/EcorePay":{"id":"components/schemas/EcorePay","kind":"json-schema","title":"EcorePay","data":{"description":"EcorePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the EcorePay account."},"accountAuth":{"type":"string","description":"EcorePay account authentication.","format":"password","writeOnly":true}},"required":["accountId","accountAuth"]}}}]}},"components/schemas/Elavon":{"id":"components/schemas/Elavon","kind":"json-schema","title":"Elavon","data":{"description":"Elavon gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Elavon credentials object.","properties":{"ssl_merchant_id":{"type":"string","description":"ID of the Elavon merchant."},"ssl_user_id":{"type":"string","description":"ID of the Elavon user."},"ssl_pin":{"type":"string","description":"Elavon pin.","format":"password","writeOnly":true}},"required":["ssl_merchant_id","ssl_user_id","ssl_pin"]}}}]}},"components/schemas/EMS":{"id":"components/schemas/EMS","kind":"json-schema","title":"EMS","data":{"description":"EMS e-Commerce (XML) API gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"settings":{"type":"object","description":"EMS settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours."}}},"credentials":{"type":"object","description":"EMS credentials object.","properties":{"storeId":{"type":"string","description":"ID of the EMS store."},"userId":{"type":"string","description":"ID of the EMS account."},"password":{"type":"string","format":"password","description":"EMS password.","writeOnly":true},"privateKey":{"type":"string","format":"password","description":"Private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"Private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Client certificate.","x-multiline":true},"clientCertificatePassword":{"type":"string","format":"password","description":"Client certificate password.","writeOnly":true},"serverCertificate":{"type":"string","description":"Server certificate.","x-multiline":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPassword":{"type":"string","format":"password","description":"SFTP reconciliation password.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["storeId","userId","password","privateKey","privateKeyPassword","clientCertificate","clientCertificatePassword","serverCertificate"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ePay":{"id":"components/schemas/ePay","kind":"json-schema","title":"ePay","data":{"description":"ePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ePay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ePay merchant."},"secretKey":{"type":"string","format":"password","description":"ePay secret key.","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/Euteller":{"id":"components/schemas/Euteller","kind":"json-schema","title":"Euteller","data":{"description":"Euteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Euteller credentials object.","properties":{"username":{"type":"string","description":"Euteller username."},"password":{"type":"string","format":"password","description":"Euteller password.","writeOnly":true}},"required":["username","password"]}}}]}},"components/schemas/Ezeebill":{"id":"components/schemas/Ezeebill","kind":"json-schema","title":"Ezeebill","data":{"description":"Ezeebill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ezeebill credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID) of the Ezeebill gateway."},"accessId":{"type":"string","description":"Access ID of the Ezeebill gateway.","format":"password","writeOnly":true},"terminalId":{"type":"string","description":"Terminal ID of the Ezeebill gateway."},"operatorId":{"type":"string","description":"Operator ID of the Ezeebill gateway."},"password":{"type":"string","description":"API access operator password of the Ezeebill gateway.","format":"password","writeOnly":true},"hashKey":{"type":"string","description":"Hash key of the Ezeebill gateway.","format":"password","writeOnly":true}},"required":["merchantId","accessId","terminalId","operatorId","password","hashKey"]}}}]}},"components/schemas/eZeeWallet":{"id":"components/schemas/eZeeWallet","kind":"json-schema","title":"eZeeWallet","data":{"description":"eZeeWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"eZeeWallet credentials object.","properties":{"apiUsername":{"type":"string","description":"eZeeWallet API username.","format":"password","writeOnly":true},"apiPassword":{"type":"string","description":"eZeeWallet API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]}},"components/schemas/ezyEFT":{"id":"components/schemas/ezyEFT","kind":"json-schema","title":"ezyEFT","data":{"description":"ezyEFT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ezyEFT credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ezyEFT merchant."},"merchantToken":{"type":"string","format":"password","description":"ezyEFT merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/FinTecSystems":{"id":"components/schemas/FinTecSystems","kind":"json-schema","title":"FinTecSystems","data":{"description":"FinTecSystems gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"FinTecSystems credentials object.","properties":{"apiKey":{"type":"string","description":"FinTecSystems API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"FinTecSystems settings object.","properties":{"recipientIBAN":{"type":"string","description":"IBAN of the recipient account."},"recipientBIC":{"type":"string","description":"BIC of the recipient account."},"recipientCountry":{"type":"string","description":"Two letter country code.","enum":["AT","CH","DE"]},"recipientHolder":{"type":"string","description":"Account holder of the recipient account."}},"required":["recipientIBAN","recipientBIC","recipientHolder","recipientCountry"]}}}]}},"components/schemas/Finrax":{"id":"components/schemas/Finrax","kind":"json-schema","title":"Finrax","data":{"description":"Finrax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Finrax credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Finrax business."},"apiKey":{"type":"string","description":"Finrax API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Finrax API secret.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Finrax public key.\nThis value is used to verify IPN signature.","x-multiline":true}},"required":["businessId","apiKey","apiSecret"]},"settings":{"type":"object","description":"Finrax settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/Flexepin":{"id":"components/schemas/Flexepin","kind":"json-schema","title":"Flexepin","data":{"description":"Flexepin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Flexepin API key."},"apiSecret":{"type":"string","description":"Flexepin API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]},"settings":{"type":"object","description":"Flexepin settings object.","properties":{"adjustAmountFromVoucher":{"type":"boolean","description":"Specifies whether to adjust the amount or currency based on a Flexepin voucher.","default":false,"example":false}}}}}]}},"components/schemas/Forte":{"id":"components/schemas/Forte","kind":"json-schema","title":"Forte","data":{"description":"Forte gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the Forte account."},"locationId":{"type":"string","description":"ID of the Forte location."},"apiAccessId":{"type":"string","description":"ID of the Forte API access.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Forte API secret key.","format":"password","writeOnly":true}},"required":["accountId","locationId","apiAccessId","apiSecretKey"]}}}]}},"components/schemas/FundSend":{"id":"components/schemas/FundSend","kind":"json-schema","title":"FundSend","data":{"description":"FundSend gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the FundSend client."},"secretWord":{"type":"string","description":"FundSend secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/gate2way":{"id":"components/schemas/gate2way","kind":"json-schema","title":"gate2way","data":{"description":"gate2way gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"gate2way credentials object.","properties":{"apiKey":{"type":"string","description":"API key of gate2way account.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"API secret of gate2way account.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/GET":{"id":"components/schemas/GET","kind":"json-schema","title":"GET","data":{"description":"GET gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the GET account."}},"required":["accountId"]}}}]}},"components/schemas/Gigadat":{"id":"components/schemas/Gigadat","kind":"json-schema","title":"Gigadat","data":{"description":"Gigadat gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gigadat credentials object.","properties":{"campaignId":{"type":"string","description":"ID of the Gigadat campaign."},"accessToken":{"type":"string","description":"Gigadat access token.","format":"password","writeOnly":true},"securityToken":{"type":"string","description":"Gigadat security token.","format":"password","writeOnly":true}},"required":["campaignId","accessToken","securityToken"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"methodType":{"type":"string","description":"Specifies whether the Gigadat method type is enforced as CPI or ETI, regardless of the payment method associated with the gateway account.","enum":["CPI","ETI"]},"autodepositLookup":{"type":"boolean","description":"Perform Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Autodeposit lookup result."}},"required":["sandbox"]}}}]}},"components/schemas/GlobalOne":{"id":"components/schemas/GlobalOne","kind":"json-schema","title":"GlobalOne","data":{"description":"GlobalOne gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the GlobalOne terminal."},"sharedSecret":{"type":"string","description":"GlobalOne shared secret.","format":"password","writeOnly":true}},"required":["terminalId","sharedSecret"]}}}]}},"components/schemas/GoCardless":{"id":"components/schemas/GoCardless","kind":"json-schema","title":"GoCardless","data":{"description":"GoCardless gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"GoCardless API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Gooney":{"id":"components/schemas/Gooney","kind":"json-schema","title":"Gooney","data":{"description":"Gooney gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gooney credentials object.","properties":{"apiUser":{"type":"string","description":"Gooney API user."},"apiPassword":{"type":"string","description":"Gooney API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Gooney API key."},"apiSecret":{"type":"string","description":"Gooney API secret.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey","apiSecret"]}}}]}},"components/schemas/Gpaysafe":{"id":"components/schemas/Gpaysafe","kind":"json-schema","title":"Gpaysafe","data":{"description":"Gpaysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Gpaysafe apiKey."}},"required":["apiKey"]}}}]}},"components/schemas/Greenbox":{"id":"components/schemas/Greenbox","kind":"json-schema","title":"Greenbox","data":{"description":"Greenbox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Greenbox credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Greenbox client."},"locationId":{"type":"string","description":"ID of the Greenbox location."},"clientSecret":{"type":"string","description":"Greenbox client secret.","format":"password","writeOnly":true}},"required":["clientId","clientSecret","locationId"]}}}]}},"components/schemas/HiPay":{"id":"components/schemas/HiPay","kind":"json-schema","title":"HiPay","data":{"description":"HiPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"HiPay credentials object.","properties":{"apiUsername":{"type":"string","description":"HiPay API user name."},"apiPassword":{"type":"string","description":"HiPay API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]}},"components/schemas/iCashOne":{"id":"components/schemas/iCashOne","kind":"json-schema","title":"iCashOne","data":{"description":"Configuration object for the iCashOne gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for the iCashOne gateway.","properties":{"apiKey":{"writeOnly":true,"format":"password","type":"string","description":"API key for the iCashOne API."},"secretKey":{"writeOnly":true,"format":"password","type":"string","description":"Secret key for the iCashOne API."}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"Settings object for the iCashOne gateway.","properties":{"merchantName":{"type":"string","description":"Merchant name to be displayed on the checkout page."}}}}}]}},"components/schemas/ICEPAY":{"id":"components/schemas/ICEPAY","kind":"json-schema","title":"ICEPAY","data":{"description":"ICEPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ICEPAY credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ICEPAY merchant.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"ICEPAY API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/INOVAPAY":{"id":"components/schemas/INOVAPAY","kind":"json-schema","title":"INOVAPAY","data":{"description":"INOVAPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"INOVAPAY credentials object.","properties":{"apiKey":{"type":"string","description":"INOVAPAY API key."},"apiSecret":{"type":"string","description":"INOVAPAY API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]}},"components/schemas/Ilixium":{"id":"components/schemas/Ilixium","kind":"json-schema","title":"Ilixium","data":{"description":"Ilixium gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ilixium credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Ilixium merchant."},"accountId":{"type":"string","description":"ID of the Ilixium account."},"digestPassword":{"type":"string","description":"Ilixium digest password.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantId","accountId","digestPassword"]},"settings":{"type":"object","description":"Ilixium settings object.","properties":{"useIpFrame":{"type":"boolean","description":"Specifies whether to force Ilixium to process using Ip Frame."},"useCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a previous approval credit endpoint for payouts."},"useStandaloneCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a standalone (token) credit endpoint for payouts."},"platform":{"type":"string","description":"Direct API platform.","default":"itix","enum":["itix","tpg"]},"usePaceCreditEndpoint":{"type":"boolean","description":"Specifies whether to use PACE API endpoint for payouts."}}},"threeDSecureServer":{"type":"object","description":"Ilixium 3DS server.","properties":{"name":{"description":"Name of the merchant plug-in.","type":"string","enum":["Ilixium3dsServer"]}}}}}]}},"components/schemas/IMerchant":{"id":"components/schemas/IMerchant","kind":"json-schema","title":"IMerchant","data":{"description":"IMerchant gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials of the IMerchant gateway.","properties":{"apiKey":{"type":"string","description":"IMerchant API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Ingenico":{"id":"components/schemas/Ingenico","kind":"json-schema","title":"Ingenico","data":{"description":"Ingenico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Ingenico merchant."},"apiKeyId":{"type":"string","description":"ID of the Ingenico API key."},"apiSecretKey":{"type":"string","description":"Ingenico API secret key.","format":"password","writeOnly":true},"skipFraudService":{"type":"boolean","description":"Ingenico skip fraud service."}},"required":["merchantId","apiKeyId","apiSecretKey"]}}}]}},"components/schemas/Inovio":{"id":"components/schemas/Inovio","kind":"json-schema","title":"Inovio","data":{"description":"Inovio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Inovio credentials object.","properties":{"username":{"type":"string","description":"Inovio username."},"password":{"type":"string","description":"Inovio password.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","description":"Inovio settings object.","properties":{"websiteId":{"type":"string","description":"ID of the Inovio website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"merchantAccountId":{"type":"string","description":"ID of the Inovio merchant account."},"productId":{"type":"string","description":"ID of the Inovio product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"required":["websiteId","merchantAccountId","productId"]}}}]}},"components/schemas/InstaDebit":{"id":"components/schemas/InstaDebit","kind":"json-schema","title":"InstaDebit","data":{"description":"InstaDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"InstaDebit credentials object.","properties":{"merchantId":{"type":"string","description":"InstaDebit merchant account number."},"password":{"type":"string","description":"InstaDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."}}}}}]}},"components/schemas/Intuit":{"id":"components/schemas/Intuit","kind":"json-schema","title":"Intuit","data":{"description":"Intuit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"Intuit client_id key."},"clientSecret":{"type":"string","description":"Intuit client_secret key.","format":"password","writeOnly":true}},"required":["clientId","clientSecret"]}}}]}},"components/schemas/IpayOptions":{"id":"components/schemas/IpayOptions","kind":"json-schema","title":"IpayOptions","data":{"description":"Ipay Options gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Ipay Options credentials object.","properties":{"sid":{"type":"string","description":"ID of the Ipay Options website."},"rcode":{"type":"string","description":"Ipay Options rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Ipay Options settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display an extra step where the user must enter their email and DNI number."},"subdomain":{"type":"string","description":"Subdomain to use when sending request to IpayOptions.","enum":["miglite","w88asiapay"]},"platform":{"type":"string","description":"Platform which IpayOptions processes.","enum":["SOAP","TxHandler","SecureHosted"]},"cardType":{"type":"string","description":"Manually set the card_type for iDEAL.","enum":["ideal","idealqr","sofort"]}}}}}]}},"components/schemas/Isx":{"id":"components/schemas/Isx","kind":"json-schema","title":"Isx","data":{"description":"Isx gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Isx credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Isx API merchant."},"workflow":{"type":"string","description":"Isx workflow."},"apiClient":{"type":"string","description":"Isx API client."},"apiToken":{"type":"string","description":"Isx API token.","format":"password","writeOnly":true}},"required":["merchantId","workflow","apiClient","apiToken"]}}}]}},"components/schemas/JetPay":{"id":"components/schemas/JetPay","kind":"json-schema","title":"JetPay","data":{"description":"JetPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"TerminalID":{"type":"string","description":"ID of the JetPay terminal."}},"required":["TerminalID"]}}}]}},"components/schemas/Jeton":{"id":"components/schemas/Jeton","kind":"json-schema","title":"Jeton","data":{"description":"Jeton gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Jeton API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Jeton secret.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"Jeton method.","enum":["CHECKOUT","DIRECT","QR","JETGO"]}},"required":["method"]}}}]}},"components/schemas/JPMOrbital":{"id":"components/schemas/JPMOrbital","kind":"json-schema","title":"JPMOrbital","data":{"description":"JPMOrbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the JPMOrbital merchant."},"username":{"type":"string","description":"Username of the JPMOrbital merchant."},"password":{"type":"string","description":"Password of the JPMOrbital merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]}}}]}},"components/schemas/Khelocard":{"id":"components/schemas/Khelocard","kind":"json-schema","title":"Khelocard","data":{"description":"Khelocard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["merchantId","referrer","apiKey","apiSecret"],"properties":{"merchantId":{"type":"string","description":"ID of the Khelocard merchant."},"referrer":{"type":"string","description":"Referrer URL registered at Khelocard.","format":"uri"},"apiKey":{"type":"string","description":"Khelocard API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Khelocard API secret.","format":"password","writeOnly":true}}}}}]}},"components/schemas/Klarna":{"id":"components/schemas/Klarna","kind":"json-schema","title":"Klarna","data":{"description":"Klarna gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","password"],"properties":{"username":{"type":"string","description":"Klarna API username."},"password":{"type":"string","description":"Klarna API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["region"],"properties":{"region":{"type":"string","description":"Klarna API region.","enum":["EU","NA","OC"]},"usePayNowStandalone":{"type":"boolean","description":"Specifies whether to use the Klarna Pay Now Standalone method.","default":false,"example":false}}}}}]}},"components/schemas/Konnektive":{"id":"components/schemas/Konnektive","kind":"json-schema","title":"Konnektive","data":{"description":"Konnektive gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["loginId","password"],"properties":{"loginId":{"type":"string","description":"ID of the Konnektive API login."},"password":{"type":"string","description":"Konnektive API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["campaignId","productId"],"properties":{"campaignId":{"type":"string","description":"Konnektive campaign ID for which the order is being placed."},"productId":{"type":"string","description":"Konnektive campaign product ID for which the order is being placed.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}}}]}},"components/schemas/Kushki":{"id":"components/schemas/Kushki","kind":"json-schema","title":"Kushki","data":{"description":"Kushki gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Kushki credentials object.","properties":{"privateKey":{"writeOnly":true,"format":"password","type":"string","description":"Kushki private API key."}},"required":["privateKey"]},"settings":{"type":"object","description":"Kushki settings object.","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/LaCore":{"id":"components/schemas/LaCore","kind":"json-schema","title":"LaCore","data":{"description":"LaCore gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LaCore credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the LaCore merchant."},"username":{"type":"string","description":"Username of the LaCore merchant."},"password":{"type":"string","description":"Password of the LaCore merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Limepay":{"id":"components/schemas/Limepay","kind":"json-schema","title":"Limepay","data":{"description":"Limepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"Limepay login."},"xTransKey":{"type":"string","description":"Limepay transKey."},"secretKey":{"type":"string","format":"password","description":"Limepay secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"Limepay settings object.","properties":{"storeDocumentId":{"type":"boolean","description":"Specifies whether to store the document ID."}}}}}]}},"components/schemas/Loonio":{"id":"components/schemas/Loonio","kind":"json-schema","title":"Loonio","data":{"description":"Loonio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Loonio credentials object.","properties":{"username":{"type":"string","description":"Username of the merchant."},"password":{"type":"string","description":"Password of the merchant.","format":"password","writeOnly":true},"accountId":{"type":"string","description":"Account ID of the merchant."}},"required":["username","password","accountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/loonie":{"id":"components/schemas/loonie","kind":"json-schema","title":"loonie","data":{"description":"loonie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"loonie credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the loonie merchant."},"merchantToken":{"type":"string","format":"password","description":"loonie merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]}},"components/schemas/LPG":{"id":"components/schemas/LPG","kind":"json-schema","title":"LPG","data":{"description":"LPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LPG credentials object.","properties":{"publicKey":{"type":"string","description":"LPG public API key."},"secureKey":{"type":"string","description":"LPG secure API key.","format":"password","writeOnly":true},"payoutUsername":{"type":"string","description":"LPG payout account username.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"LPG payout account password.","format":"password","writeOnly":true}},"required":["publicKey","secureKey"]}}}]}},"components/schemas/MaxiCash":{"id":"components/schemas/MaxiCash","kind":"json-schema","title":"MaxiCash","data":{"description":"MaxiCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MaxiCash credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the MaxiCash API merchant."},"password":{"type":"string","description":"MaxiCash API password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/MercadoPago":{"id":"components/schemas/MercadoPago","kind":"json-schema","title":"MercadoPago","data":{"description":"MercadoPago gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MercadoPago credentials object.","properties":{"publicKey":{"type":"string","description":"MercadoPago public key."},"accessToken":{"type":"string","description":"MercadoPago access token.","format":"password","writeOnly":true}},"required":["publicKey","accessToken"]},"settings":{"type":"object","description":"Settings object.","properties":{"collectDeviceId":{"type":"boolean","description":"Specifies collect and send device ID to MercadoPago.","default":false,"example":false}}}}}]}},"components/schemas/MiFinity":{"id":"components/schemas/MiFinity","kind":"json-schema","title":"MiFinity","data":{"description":"MiFinity gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MiFinity credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"MiFinity API key.","writeOnly":true},"mifinityAccountNumber":{"type":"string","format":"password","description":"MiFinity account number.","writeOnly":true},"accountHolderId":{"type":"string","description":"ID of the MiFinity account holder."},"brandId":{"type":"string","description":"Three-digit ID provided by MiFinity which indicates through which brand the call made."}},"required":["apiKey","mifinityAccountNumber","accountHolderId"]}}}]}},"components/schemas/MobilePay":{"id":"components/schemas/MobilePay","kind":"json-schema","title":"MobilePay","data":{"description":"MobilePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSerialNumber":{"type":"string","description":"Serial number of the MobilePay merchant."},"subscriptionKey":{"type":"string","description":"Subscription key of the MobilePay merchant."},"clientId":{"type":"string","description":"ID of the MobilePay client."},"clientSecret":{"type":"string","description":"MobilePay client secret.","format":"password","writeOnly":true}},"required":["merchantSerialNumber","subscriptionKey","clientId","clientSecret"]}}}]}},"components/schemas/Mollie":{"id":"components/schemas/Mollie","kind":"json-schema","title":"Mollie","data":{"description":"Mollie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Mollie credentials object.","properties":{"apiKey":{"type":"string","description":"Mollie API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Moneris":{"id":"components/schemas/Moneris","kind":"json-schema","title":"Moneris","data":{"description":"Moneris gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiToken":{"type":"string","description":"Moneris API token.","format":"password","writeOnly":true},"storeId":{"type":"string","description":"ID of the Moneris store."}},"required":["storeId","apiToken"]}}}]}},"components/schemas/Monolo":{"id":"components/schemas/Monolo","kind":"json-schema","title":"Monolo","data":{"description":"Monolo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Monolo credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Monolo merchant account."},"apiKey":{"type":"string","description":"Monolo API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Monolo secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Monolo settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/MonRem":{"id":"components/schemas/MonRem","kind":"json-schema","title":"MonRem","data":{"description":"MonRem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MonRem credentials object.","properties":{"clientId":{"type":"string","description":"Client ID of the MonRem."},"username":{"type":"string","description":"Username of the MonRem."},"password":{"type":"string","description":"Password of the MonRem.","format":"password","writeOnly":true},"clientSecret":{"type":"string","description":"Client secret of the MonRem.","format":"password","writeOnly":true}},"required":["clientId","username","password","clientSecret"]}}}]}},"components/schemas/MtaPay":{"id":"components/schemas/MtaPay","kind":"json-schema","title":"MtaPay","data":{"description":"MTA Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the MTA Pay account."},"partyId":{"type":"string","description":"ID of the MTA Pay party."},"md5key":{"type":"string","description":"MTA Pay MD5 key.","format":"password","writeOnly":true}},"required":["accountId","partyId","md5key"]},"settings":{"type":"object","description":"MTA Pay settings object.","properties":{"goods":{"type":"string","description":"MTA Pay goods."},"mobilePay":{"type":"string","description":"MTA Pay mobile pay parameter."}},"required":["mobilePay","goods"]}}}]}},"components/schemas/MuchBetter":{"id":"components/schemas/MuchBetter","kind":"json-schema","title":"MuchBetter","data":{"description":"MuchBetter gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetter credentials object.","properties":{"merchantAccountId":{"type":"string","description":"ID of the MuchBetter merchant account."},"apiKey":{"type":"string","description":"MuchBetter API key.","format":"password","writeOnly":true}},"required":["merchantAccountId","apiKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"brandName":{"type":"string","description":"MuchBetter brand name used for reporting and logo."},"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetter.","default":false}}}}}]}},"components/schemas/MuchBetterGateway":{"id":"components/schemas/MuchBetterGateway","kind":"json-schema","title":"MuchBetterGateway","data":{"description":"MuchBetterGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetterGateway credentials object.","properties":{"apiKey":{"type":"string","description":"MuchBetterGateway API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"MuchBetterGateway secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetterGateway.","default":false}}}}}]}},"components/schemas/MyFatoorah":{"id":"components/schemas/MyFatoorah","kind":"json-schema","title":"MyFatoorah","data":{"description":"MyFatoorah gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MyFatoorah credentials object.","properties":{"apiKey":{"type":"string","description":"MyFatoorah API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Naewe":{"id":"components/schemas/Naewe","kind":"json-schema","title":"Naewe","data":{"description":"Naewe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Naewe credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Naewe merchant account."},"apiKey":{"type":"string","description":"Naewe API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Naewe secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Naewe settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]}},"components/schemas/Neosurf":{"id":"components/schemas/Neosurf","kind":"json-schema","title":"Neosurf","data":{"description":"Neosurf gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neosurf credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Neosurf merchant."},"secretKey":{"type":"string","description":"Neosurf API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]}},"components/schemas/NMI":{"id":"components/schemas/NMI","kind":"json-schema","title":"NMI","data":{"description":"NMI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username of the NMI merchant."},"password":{"type":"string","description":"Password of the NMI merchant.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"NMI API key.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"disableStoredCredentials":{"description":"Specifies whether to disable NMI stored credentials for Customer Initiated Transactions (CIT) and Merchant Initiated Transactions (MIT).","type":"boolean","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Netbanking":{"id":"components/schemas/Netbanking","kind":"json-schema","title":"Netbanking","data":{"description":"Netbanking gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Netbanking credentials object.","properties":{"midcode":{"type":"string","description":"Netbanking Merchant Identification (MID) code."},"midsecret":{"type":"string","description":"Netbanking Merchant Identification (MID) secret key.","format":"password","writeOnly":true}},"required":["midcode","midsecret"]}}}]}},"components/schemas/Neteller":{"id":"components/schemas/Neteller","kind":"json-schema","title":"Neteller","data":{"description":"Neteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neteller credentials object.","properties":{"paysafePaymentsApiUsername":{"type":"string","description":"Neteller Paysafe Payments API username for a private key."},"paysafePaymentsApiPassword":{"type":"string","description":"Neteller Paysafe Payments API password for a private key.","format":"password","writeOnly":true}},"required":["paysafePaymentsApiUsername","paysafePaymentsApiPassword"]},"settings":{"type":"object","properties":{"populateCustomerEmail":{"type":"boolean","description":"Specifies whether to the populate customer email at payment."}}}}}]}},"components/schemas/NGenius":{"id":"components/schemas/NGenius","kind":"json-schema","title":"NGenius","data":{"description":"NGenius gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NGenius credentials object.","properties":{"outletId":{"type":"string","description":"ID of the NGenius outlet."},"apiKey":{"type":"string","description":"NGenius API key.","format":"password","writeOnly":true}},"required":["outletId","apiKey"]}}}]}},"components/schemas/NinjaWallet":{"id":"components/schemas/NinjaWallet","kind":"json-schema","title":"NinjaWallet","data":{"description":"NinjaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NinjaWallet credentials object.","properties":{"apiKey":{"type":"string","description":"NinjaWallet API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"NinjaWallet secret.","format":"password","writeOnly":true},"passphrase":{"type":"string","description":"NinjaWallet passphrase.","format":"password","writeOnly":true}},"required":["apiKey","secret","passphrase"]}}}]}},"components/schemas/NordikCoin":{"id":"components/schemas/NordikCoin","kind":"json-schema","title":"NordikCoin","data":{"description":"NordikCoin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NordikCoin credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the NordikCoin merchant."},"secret":{"type":"string","description":"NordikCoin secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]}}}]}},"components/schemas/NOWPayments":{"id":"components/schemas/NOWPayments","kind":"json-schema","title":"NOWPayments","data":{"description":"NOWPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NOWPayments credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey","ipnSecret"]},"settings":{"type":"object","description":"NOWPayments settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/NuaPay":{"id":"components/schemas/NuaPay","kind":"json-schema","title":"NuaPay","data":{"description":"NuaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NuaPay credentials object.","properties":{"nuaPayCommonName":{"type":"string","description":"NuaPay common name."},"nuaPaySerialNumber":{"type":"string","description":"NuaPay serial number."},"nuaPayAccountId":{"type":"string","description":"ID of the NuaPay account."},"nuaPayOriginatorIban":{"type":"string","description":"NuaPay origiantor IBAN.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key.","format":"password","writeOnly":true},"nuaPayPrivateKey":{"type":"string","description":"NuaPay private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["nuaPayCommonName","nuaPaySerialNumber","nuaPayAccountId","nuaPayOriginatorIban","nuaPayApiKey","nuaPayPrivateKey"]}}}]}},"components/schemas/OchaPay":{"id":"components/schemas/OchaPay","kind":"json-schema","title":"OchaPay","data":{"description":"OchaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiUsername":{"type":"string","description":"OchaPay username."},"apiPassword":{"type":"string","description":"OchaPay API password.","format":"password","writeOnly":true},"secretWord":{"type":"string","description":"OchaPay secret word.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword","secretWord"]}}}]}},"components/schemas/OmniMatrix":{"id":"components/schemas/OmniMatrix","kind":"json-schema","title":"OmniMatrix","data":{"description":"OmniMatrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OmniMatrix credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the OmniMatrix merchant."},"secret":{"type":"string","description":"OmniMatrix secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]},"settings":{"type":"object","description":"OmniMatrix settings object.","properties":{"usePreconfiguredAmounts":{"type":"boolean","description":"Specifies if the user must be redirected to a hosted page to select the closest amount when it is not in the list of preconfigured amounts.","default":false,"example":false}}}}}]}},"components/schemas/Onlineueberweisen":{"id":"components/schemas/Onlineueberweisen","kind":"json-schema","title":"Onlineueberweisen","data":{"description":"Onlineueberweisen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Onlineueberweisen credentials object.","properties":{"apiKey":{"type":"string","description":"Onlineueberweisen API key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"isxSiinSecret":{"type":"string","description":"Secret for checksum verification for SEPA Instant Instant Notification (SIIN).","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["apiKey"]},"settings":{"type":"object","description":"Onlineueberweisen settings object.","properties":{"payformCode":{"type":"string","description":"Onlineueberweisen code to use a customized PayForm template.","default":"default"},"extraStep":{"type":"boolean","description":"Specifies whether to display a page where the user must enter their bank country and account holder name.","default":false}}}}}]}},"components/schemas/OnRamp":{"id":"components/schemas/OnRamp","kind":"json-schema","title":"OnRamp","data":{"description":"OnRamp gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OnRamp credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"OnRamp settings object.","properties":{"useServerToServerApi":{"type":"boolean","description":"Specifies whether to use OnRamp server to server API.","default":false},"logoUrl":{"type":"string","description":"Set this value to use a custom logo.","format":"uri"}}}}}]}},"components/schemas/Orbital":{"id":"components/schemas/Orbital","kind":"json-schema","title":"Orbital","data":{"description":"Orbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Orbital credentials object.","properties":{"apiKey":{"type":"string","description":"Orbital API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Orbital settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","enum":["USD","EUR","GBP"]},"mainCryptoCurrency":{"description":"Blockchain network to be used.","type":"string","enum":["ETH","SOL","TRX"]},"logoImageUrl":{"description":"Logo image in PNG or SVG format to be displayed on the deposit screen.","type":"string"},"productImageUrl":{"description":"Product image in JPEG format to be displayed on the deposit screen.","type":"string"}}}}}]}},"components/schemas/Pagadito":{"id":"components/schemas/Pagadito","kind":"json-schema","title":"Pagadito","data":{"description":"Pagadito gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pagadito credentials object.","properties":{"uid":{"type":"string","format":"password","description":"Pagadito UID.","writeOnly":true},"wsk":{"type":"string","format":"password","description":"Pagadito WSK.","writeOnly":true}},"required":["uid","wsk"]},"settings":{"type":"object","properties":{"useRecurringApi":{"type":"boolean","default":false,"description":"Specifies whether to use the Pagadito API for reoccurring payments."}}}}}]}},"components/schemas/Pagsmile":{"id":"components/schemas/Pagsmile","kind":"json-schema","title":"Pagsmile","data":{"description":"Pagsmile gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Pagsmile merchant."},"appId":{"type":"string","description":"ID of the Pagsmile application."},"secretKey":{"type":"string","description":"Pagsmile MD5 key.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Pagsmile secret key for the Trade Pay API.\nThe key starts with `Pagsmile_sk`.","format":"password","writeOnly":true}},"required":["merchantId","appId","secretKey"]},"settings":{"type":"object","description":"Pagsmile settings object.","properties":{"useTradePay":{"type":"boolean","description":"Specifies whether to use the Trade Pay API.","default":false,"example":false}}}}}]}},"components/schemas/Panamerican":{"id":"components/schemas/Panamerican","kind":"json-schema","title":"Panamerican","data":{"description":"Panamerican gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Panamerican credentials object.","properties":{"key":{"type":"string","description":"Panamerican key."},"password":{"type":"string","description":"Panamerican password.","format":"password","writeOnly":true}},"required":["key","password"]},"settings":{"type":"object","description":"Panamerican settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display a step where the user must enter their ID number."},"convertToAscii":{"type":"boolean","description":"Specifies whether to convert all chars to ascii."}},"required":["extraStep"]}}}]}},"components/schemas/PandaGateway":{"id":"components/schemas/PandaGateway","kind":"json-schema","title":"PandaGateway","data":{"description":"Panda gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Panda merchant code."},"apiCode":{"type":"string","description":"Panda API code."},"signKey":{"type":"string","description":"Panda sign key.","format":"password","writeOnly":true}},"required":["merchantCode","apiCode","signKey"]}}}]}},"components/schemas/ParamountCommerce":{"id":"components/schemas/ParamountCommerce","kind":"json-schema","title":"ParamountCommerce","data":{"description":"ParamountCommerce gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountCommerce credentials object.","properties":{"merchantId":{"type":"string","description":"ParamountCommerce merchant ID."},"appId":{"type":"string","description":"ParamountCommerce application ID."},"clientId":{"type":"string","description":"ParamountCommerce client ID."},"clientSecret":{"type":"string","description":"ParamountCommerce client secret.","format":"password","writeOnly":true}},"required":["merchantId","appId","clientId","clientSecret"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"string","description":"ParamountCommerce merchant sub ID."},"merchantTransactionType":{"type":"string","description":"ParamountCommerce merchant transaction type.","enum":["POKER","CASINO","BINGO","SPORTS_BETTING","DIGITAL_REMITTANCE","E_SPORTS"]},"useDirectDeposit":{"type":"boolean","description":"Specifies whether to use One-Click Payments.","default":false,"example":false}},"required":["merchantSubId","merchantTransactionType"]}}}]}},"components/schemas/ParamountEft":{"id":"components/schemas/ParamountEft","kind":"json-schema","title":"ParamountEft","data":{"description":"Paramount gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paramount credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the merchant account."},"merchant_pass":{"type":"string","description":"Merchant account password.","format":"password","writeOnly":true},"payee":{"type":"string","description":"Merchant name or descriptor."}},"required":["merchant_id","merchant_pass","payee"]}}}]}},"components/schemas/ParamountInterac":{"id":"components/schemas/ParamountInterac","kind":"json-schema","title":"ParamountInterac","data":{"description":"ParamountInterac gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountInterac credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ParamountInterac merchant."},"encryptionKey":{"type":"string","description":"ParamountInterac encryption key.","format":"password","writeOnly":true},"password":{"type":"string","description":"ParamountInterac password for query.","format":"password","writeOnly":true}},"required":["merchantId","encryptionKey","password"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."},"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."},"paymentFlow":{"type":"string","description":"Specifies whether to create an Interac payment request loaded directly on a specific preselected payment flow, and skip the flow selection page.","enum":["request_money","manual"]}}}}}]}},"components/schemas/Pay4Fun":{"id":"components/schemas/Pay4Fun","kind":"json-schema","title":"Pay4Fun","data":{"description":"Pay4Fun gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pay4Fun credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Pay4Fun merchant."},"merchantSecret":{"type":"string","description":"Pay4Fun merchant secret.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Pay4Fun merchant key.","format":"password","writeOnly":true}},"required":["merchantId","merchantSecret","merchantKey"]}}}]}},"components/schemas/Paybilt":{"id":"components/schemas/Paybilt","kind":"json-schema","title":"Paybilt","data":{"description":"Paybilt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paybilt credentials object.","properties":{"tokenId":{"type":"string","description":"ID of the Paybilt token API."},"tokenApiKey":{"type":"string","description":"Paybilt token API key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Paybilt API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Paybilt HMAC key used to verify webhook signatures.","format":"password","writeOnly":true}},"required":["tokenId","tokenApiKey","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]}},"components/schemas/PayCash":{"id":"components/schemas/PayCash","kind":"json-schema","title":"PayCash","data":{"description":"PayCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCash credentials object.","properties":{"emisor":{"type":"string","description":"PayCash merchant identifier."},"token":{"type":"string","description":"PayCash token.","format":"password","writeOnly":true}},"required":["emisor","token"]}}}]}},"components/schemas/PayClub":{"id":"components/schemas/PayClub","kind":"json-schema","title":"PayClub","data":{"description":"PayClub gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayClub credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayClub merchant."},"accountNumber":{"type":"string","description":"PayClub account number."},"signKey":{"type":"string","format":"password","description":"PayClub sign key.","writeOnly":true}},"required":["merchantId","accountNumber","signKey"]},"settings":{"type":"object","properties":{"use3DSChannel":{"type":"boolean","description":"Specifies whether to use a 3DS channel."}}}}}]}},"components/schemas/Paycly":{"id":"components/schemas/Paycly","kind":"json-schema","title":"Paycly","data":{"description":"Paycly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paycly credentials object.","properties":{"apiToken":{"writeOnly":true,"format":"password","type":"string","description":"Paycly API token."},"websiteId":{"writeOnly":true,"type":"string","description":"Paycly Website ID."}},"required":["apiToken","websiteId"]}}}]}},"components/schemas/PayCom":{"id":"components/schemas/PayCom","kind":"json-schema","title":"PayCom","data":{"description":"PayCom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCom credentials object.","properties":{"apiKey":{"type":"string","description":"PayCom API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayEcards":{"id":"components/schemas/PayEcards","kind":"json-schema","title":"PayEcards","data":{"description":"PayEcards gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayEcards credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the PayEcards gateway."},"password":{"type":"string","description":"Password of the PayEcards gateway.","format":"password","writeOnly":true},"paymentUrl":{"type":"string","description":"Payment URL of the PayEcards gateway for S2S integration."}},"required":["clientKey","password","paymentUrl"]}}}]}},"components/schemas/Paynote":{"id":"components/schemas/Paynote","kind":"json-schema","title":"Paynote","data":{"description":"Paynote gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"Paynote public key."},"secretKey":{"type":"string","format":"password","description":"Paynote secret key.","writeOnly":true}},"required":["publicKey","secretKey"]}}}]}},"components/schemas/PayPal":{"id":"components/schemas/PayPal","kind":"json-schema","title":"PayPal","data":{"description":"PayPal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"PayPal credentials object.\nThis object specifies the PayPal Partner account from which a gateway account is registered.","properties":{"partnerId":{"type":"string","description":"ID of the PayPal Partner account."},"partnerClientId":{"type":"string","description":"ID of the PayPal Partner account API client."},"partnerSecret":{"type":"string","description":"Secret key for the PayPal Partner account API client.","format":"password","writeOnly":true},"partnerBnCode":{"type":"string","description":"BN Code for the PayPal Partner account.\nThis unique code tracks the source of API requests."}}},"settings":{"type":"object","description":"PayPal settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on PayPal.","format":"uri"},"enableGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to allow users without PayPal accounts to pay using credit or debit cards."},"useHostedCheckoutForm":{"type":"boolean","default":false,"description":"Specifies whether to use a Rebilly hosted PayPal form instead of redirecting customers to PayPal.\nFor more information, see [Create a payment form using the Rebilly API](https://www.rebilly.com/docs/dev-docs/create-a-hosted-payment-form/)."},"forceGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to suppress the PayPal payment method when a guest checkout is available.\nThis option is only applicable when `useHostedCheckoutForm` is enabled."},"enableAlternativePaymentMethods":{"type":"boolean","default":false,"description":"Specifies whether to allow customers to pay using the alternative payment options supported by PayPal.\nWhen enabled, customers must manually approve all payments."}}}}}]}},"components/schemas/Payeezy":{"id":"components/schemas/Payeezy","kind":"json-schema","title":"Payeezy","data":{"description":"Payeezy gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Payeezy merchant."},"merchantToken":{"type":"string","description":"Merchant token.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"API key."},"apiSecret":{"type":"string","description":"API secret.","format":"password","writeOnly":true}},"required":["merchantId","merchantToken","apiKey","apiSecret"]}}}]}},"components/schemas/Payflow":{"id":"components/schemas/Payflow","kind":"json-schema","title":"Payflow","data":{"description":"Payflow gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payflow credentials object.","properties":{"user":{"type":"string","description":"Payflow user.\nIf you set up one or more additional users on the account,\nthis value is the ID of the user that is authorized to process transactions.\nIf do not set up additional users on the account,\n`user` has the same value as `vendor`."},"vendor":{"type":"string","description":"ID of the Payflow merchant login."},"password":{"type":"string","description":"Payflow merchant password.","format":"password","writeOnly":true}},"required":["user","vendor","password"]}}}]}},"components/schemas/PayGlocal":{"id":"components/schemas/PayGlocal","kind":"json-schema","title":"PayGlocal","data":{"description":"PayGlocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayGlocal credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayGlocal merchant (MID)."},"privateKeyId":{"type":"string","description":"Key ID of the merchant RSA private key used to sign payment API requests."},"publicKeyId":{"type":"string","description":"Key ID of the PayGlocal RSA public key used to encrypt payment API request payloads."},"publicKey":{"type":"string","description":"PayGlocal RSA public key used to encrypt payment API request payloads and verify merchant callback token signatures.","x-multiline":true},"privateKey":{"type":"string","description":"Merchant RSA private key used to sign payment API requests.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantId","privateKeyId","publicKeyId","publicKey","privateKey"]}}}]}},"components/schemas/PaymentAsia":{"id":"components/schemas/PaymentAsia","kind":"json-schema","title":"PaymentAsia","data":{"description":"PaymentAsia gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PaymentAsia credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"PaymentAsia API key.","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/PaymenTechnologies":{"id":"components/schemas/PaymenTechnologies","kind":"json-schema","title":"PaymenTechnologies","data":{"description":"PaymenTechnologies gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"ID of the PaymenTechnologies authenticate."},"authenticatePw":{"type":"string","description":"PaymenTechnologies authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"PaymenTechnologies API public key."},"secretKey":{"type":"string","description":"PaymenTechnologies API secret key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PaymenTechnologies API key required for query operations.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey","apiKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/PaymentsOS":{"id":"components/schemas/PaymentsOS","kind":"json-schema","title":"PaymentsOS","data":{"description":"PaymentsOS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"appId":{"type":"string","description":"ID of the PaymentsOS application."},"publicKey":{"type":"string","description":"PaymentsOS public key."},"privateKey":{"type":"string","format":"password","description":"PaymentsOS private key.","writeOnly":true}},"required":["appId","privateKey","publicKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Paymero":{"id":"components/schemas/Paymero","kind":"json-schema","title":"Paymero","data":{"description":"Paymero gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paymero credentials object.","properties":{"apiKey":{"type":"string","description":"Paymero API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Paymero settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"mainCurrency":{"description":"Blockchain on which the currency is processed.","type":"string","enum":["TRX","ETH"]},"amountExceeded":{"description":"Specifies whether to decline transactions when the amount received exceeds the amount requested.","type":"boolean","default":false}}}}}]}},"components/schemas/Payper":{"id":"components/schemas/Payper","kind":"json-schema","title":"Payper","data":{"description":"Payper gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payper credentials object.","required":["secretKey"],"properties":{"secretKey":{"type":"string","format":"password","description":"Payper secret key.","writeOnly":true}}},"settings":{"type":"object","properties":{"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."}}}}}]}},"components/schemas/Payr":{"id":"components/schemas/Payr","kind":"json-schema","title":"Payr","data":{"description":"Payr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Payr client."},"secretWord":{"type":"string","description":"Payr secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API.\nThis API is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API.\nThis API is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/PayRedeem":{"id":"components/schemas/PayRedeem","kind":"json-schema","title":"PayRedeem","data":{"description":"PayRedeem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRedeem credentials object.","properties":{"apiUser":{"type":"string","description":"PayRedeem API user."},"apiPassword":{"type":"string","description":"PayRedeem API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PayRedeem API key.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayRetailers":{"id":"components/schemas/PayRetailers","kind":"json-schema","title":"PayRetailers","data":{"description":"PayRetailers gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRetailers credentials object.","properties":{"shopId":{"type":"string","description":"ID of the PayRetailers shop."},"secretKey":{"type":"string","description":"Secret key value of the PayRetailers API.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]}},"components/schemas/Paysafe":{"id":"components/schemas/Paysafe","kind":"json-schema","title":"Paysafe","data":{"description":"Paysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"storeId":{"type":"string","description":"ID of the Paysafe store."},"storePwd":{"type":"string","description":"Paysafe store password.","format":"password","writeOnly":true},"accountNum":{"type":"string","description":"Paysafe account number."}},"required":["storeId","storePwd","accountNum"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Paysafecard":{"id":"components/schemas/Paysafecard","kind":"json-schema","title":"Paysafecard","data":{"description":"Paysafecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecard API key.","format":"password","writeOnly":true},"reconciliationApiKey":{"type":"string","description":"Paysafecard reconciliation API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Paysafecash":{"id":"components/schemas/Paysafecash","kind":"json-schema","title":"Paysafecash","data":{"description":"Paysafecash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/PayTabs":{"id":"components/schemas/PayTabs","kind":"json-schema","title":"PayTabs","data":{"description":"PayTabs gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayTabs credentials object.","properties":{"profileId":{"type":"string","description":"ID of the PayTabs profile."},"clientKey":{"type":"string","description":"PayTabs client key."},"serverKey":{"type":"string","format":"password","description":"PayTabs server key.","writeOnly":true}},"required":["profileId","clientKey","serverKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for PayTabs API."}}}}}]}},"components/schemas/PayU":{"id":"components/schemas/PayU","kind":"json-schema","title":"PayU","data":{"description":"PayU gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayU credentials object.","properties":{"merchantKey":{"type":"string","description":"Merchant key of the PayU merchant."},"merchantSalt":{"type":"string","description":"Merchant salt of the PayU merchant.","format":"password","writeOnly":true}},"required":["merchantKey","merchantSalt"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PayULatam":{"id":"components/schemas/PayULatam","kind":"json-schema","title":"PayULatam","data":{"description":"PayULatam gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayULatam credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayULatam merchant."},"accountId":{"type":"string","description":"ID of the PayULatam account."},"apiLogin":{"type":"string","description":"PayULatam API login."},"apiKey":{"type":"string","description":"PayULatam API key.","format":"password","writeOnly":true}},"required":["merchantId","accountId","apiLogin","apiKey"]}}}]}},"components/schemas/Payvision":{"id":"components/schemas/Payvision","kind":"json-schema","title":"Payvision","data":{"description":"Payvision gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"memberId":{"type":"string","description":"ID of the Payvision member."},"memberGuid":{"type":"string","description":"Payvision member guid.","format":"password","writeOnly":true}},"required":["memberId","memberGuid"]},"settings":{"type":"object","description":"Payvision settings object.","properties":{"avs":{"type":"boolean","description":"Specifies whether to use Payvision AVS."},"delay":{"type":"integer","description":"Automatic capture delay in hours."},"merchantAccountType":{"type":"integer","description":"Payvision merchant account type."}},"required":["merchantAccountType"]}}}]}},"components/schemas/PayXpert":{"id":"components/schemas/PayXpert","kind":"json-schema","title":"PayXpert","data":{"description":"Configuration for the PayXpert gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for PayXpert.","properties":{"username":{"type":"string","description":"Username for the PayXpert API."},"password":{"type":"string","description":"Password for the PayXpert API.","format":"password","writeOnly":true}},"required":["username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PharosPayments":{"id":"components/schemas/PharosPayments","kind":"json-schema","title":"PharosPayments","data":{"description":"PharosPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PharosPayments credentials object.","properties":{"username":{"type":"string","description":"Authentication username."},"password":{"description":"Authentication password.","type":"string","format":"password"},"merchantCode":{"type":"string","description":"Merchant code."},"terminalCode":{"type":"string","description":"Terminal code."}},"required":["username","password","merchantCode","terminalCode"]}}}]}},"components/schemas/Piastrix":{"id":"components/schemas/Piastrix","kind":"json-schema","title":"Piastrix","data":{"description":"Piastrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Piastrix credentials object.","properties":{"shopId":{"type":"string","description":"ID of the Piastrix shop."},"secretKey":{"type":"string","description":"Piastrix secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]},"settings":{"type":"object","description":"Piastrix settings object.","properties":{"tolerancePercentage":{"type":"integer","description":"Tolerance percentage for settled amounts.","minimum":0,"maximum":5,"example":5}}}}}]}},"components/schemas/Pin4Pay":{"id":"components/schemas/Pin4Pay","kind":"json-schema","title":"Pin4Pay","data":{"description":"Pin4Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","requestOrigin","codigoCliente","keyValue"],"properties":{"username":{"type":"string","description":"Pin4Pay API username."},"requestOrigin":{"type":"string","description":"Pin4Pay API request origin."},"codigoCliente":{"type":"string","description":"Pin4Pay API codigo cliente."},"keyValue":{"type":"string","description":"Pin4Pay API password.","format":"password","writeOnly":true}}}}}]}},"components/schemas/Plugnpay":{"id":"components/schemas/Plugnpay","kind":"json-schema","title":"Plugnpay","data":{"description":"Plugnpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publisher-name":{"type":"string","description":"ID of the Plugnpay member."},"publisher-password":{"type":"string","description":"Plugnpay AVS.","format":"password","writeOnly":true}},"required":["publisher-name","publisher-password"]}}}]}},"components/schemas/PostFinance":{"id":"components/schemas/PostFinance","kind":"json-schema","title":"PostFinance","data":{"description":"PostFinance gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PostFinance credentials object.","properties":{"pspId":{"type":"string","description":"ID of the PostFinance PSP."},"merchantId":{"type":"string","description":"ID of the PostFinance merchant."},"sftpUsername":{"type":"string","description":"PostFinance SFTP username."},"publicKey":{"type":"string","x-multiline":true,"description":"PostFinance public key."},"privateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance private key.","writeOnly":true},"keyPassphrase":{"type":"string","format":"password","description":"PostFinance key passphrase.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance SFTP private key.","writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"PostFinance SFTP key passphrase.","writeOnly":true}},"required":["pspId","merchantId","sftpUsername","publicKey","privateKey","keyPassphrase","sftpPrivateKey","sftpKeyPassphrase"]},"settings":{"type":"object","properties":{"skipPaymentFileUpload":{"type":"boolean","default":false,"description":"Specifies whether to skip the payment file upload screen."},"enableAliasAuthentication":{"type":"boolean","default":false,"description":"Specifies whether to enable alias authentication."}}}}}]}},"components/schemas/Powertranz":{"id":"components/schemas/Powertranz","kind":"json-schema","title":"Powertranz","data":{"description":"Powertranz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Powertranz credentials object.","properties":{"merchantId":{"type":"string","description":"Powertranz merchant ID."},"password":{"type":"string","description":"Powertranz password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/PSiGate":{"id":"components/schemas/PSiGate","kind":"json-schema","title":"PSiGate","data":{"description":"PSiGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username or store name."},"password":{"type":"string","description":"Password of the PSiGate gateway account.","format":"password","writeOnly":true},"clientId":{"type":"string","description":"Client ID."},"clientApiKey":{"type":"string","description":"Client API key.","format":"password","writeOnly":true},"disputeUsername":{"type":"string","description":"Username for fetching disputes."},"disputePassword":{"type":"string","description":"Password for fetching disputes.","format":"password","writeOnly":true}},"required":["username","password","clientId","clientApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/PPRO":{"id":"components/schemas/PPRO","kind":"json-schema","title":"PPRO","data":{"description":"PPRO gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PPRO credentials object.","properties":{"login":{"type":"string","description":"PPRO merchant API username."},"password":{"type":"string","description":"PPRO merchant API password.","format":"password","writeOnly":true},"contractId":{"type":"string","description":"ID of the PPRO contract.\nThis value is used for API credentials."},"privateKey":{"type":"string","format":"password","description":"PPRO private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"PPRO private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Public key.","x-multiline":true},"serverCertificate":{"type":"string","description":"PPRO CA certificate.","x-multiline":true},"notificationSecret":{"type":"string","format":"password","description":"Secret used for IPN URLs.","writeOnly":true},"sharedSecret":{"type":"string","format":"password","description":"Secret used for redirect URLs.","writeOnly":true}},"required":["login","password","contractId","privateKey","privateKeyPassword","clientCertificate","serverCertificate","notificationSecret","sharedSecret"]}}}]}},"components/schemas/Prosa":{"id":"components/schemas/Prosa","kind":"json-schema","title":"Prosa","data":{"description":"Prosa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Prosa credentials object.","properties":{"entityId":{"type":"string","description":"ID of the Prosa entity."},"accessToken":{"type":"string","format":"password","description":"Prosa access token.","writeOnly":true}},"required":["entityId","accessToken"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Quickpay":{"id":"components/schemas/Quickpay","kind":"json-schema","title":"Quickpay","data":{"description":"Quickpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Quickpay credentials object.","properties":{"apiKey":{"type":"string","description":"Quickpay API key.","format":"password","writeOnly":true},"privateKey":{"type":"string","description":"Private key of the Quickpay account that signs callback checksums.","format":"password","writeOnly":true}},"required":["apiKey","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Rapyd":{"id":"components/schemas/Rapyd","kind":"json-schema","title":"Rapyd","data":{"description":"Rapyd gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Rapyd credentials object.","properties":{"accessKey":{"type":"string","description":"Rapyd access key."},"secretKey":{"type":"string","format":"password","description":"Rapyd secret key.","writeOnly":true}},"required":["accessKey","secretKey"]},"settings":{"type":"object","description":"Rapyd settings object.","properties":{"ipnUrl":{"type":"string","description":"Instant Payment Notification (IPN) URL configured on Rapyd.\nThis value is used to calculate the signature."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/RPN":{"id":"components/schemas/RPN","kind":"json-schema","title":"RPN","data":{"description":"RPN gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"mid":{"type":"string","description":"RPN merchant identifier."},"key":{"type":"string","description":"RPN key.","format":"password","writeOnly":true}},"required":["mid","key"]}}}]}},"components/schemas/Realex":{"id":"components/schemas/Realex","kind":"json-schema","title":"Realex","data":{"description":"Realex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Realex merchant."},"secretKey":{"type":"string","description":"Realex secret key.","format":"password","writeOnly":true},"rebatePassword":{"type":"string","description":"Realex rebate password.","format":"password","writeOnly":true},"account":{"type":"string","description":"Realex account."}},"required":["merchantId","secretKey","rebatePassword","account"]}}}]}},"components/schemas/Realtime":{"id":"components/schemas/Realtime","kind":"json-schema","title":"Realtime","data":{"description":"Realtime gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Realtime client."},"secretWord":{"type":"string","description":"Realtime secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/Redsys":{"id":"components/schemas/Redsys","kind":"json-schema","title":"Redsys","data":{"description":"Redsys gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Redsys merchant code.","format":"password","writeOnly":true},"secretCode":{"type":"string","description":"Redsys secret code.","format":"password","writeOnly":true}},"required":["merchantCode","secretCode"]},"settings":{"type":"object","description":"Redsys settings object.","properties":{"terminal":{"type":"string","description":"Redsys terminal."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Rotessa":{"id":"components/schemas/Rotessa","kind":"json-schema","title":"Rotessa","data":{"description":"Rotessa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Rotessa credentials object.","properties":{"apiKey":{"type":"string","description":"Rotessa API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Rotessa settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay."}},"required":["delay"]}}}]}},"components/schemas/Safecharge":{"id":"components/schemas/Safecharge","kind":"json-schema","title":"Safecharge","data":{"description":"Safecharge gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Safecharge credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Safecharge merchant."},"siteId":{"type":"string","description":"ID of the Safecharge site."},"secretKey":{"type":"string","description":"Safecharge secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey","siteId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/SaltarPay":{"id":"components/schemas/SaltarPay","kind":"json-schema","title":"SaltarPay","data":{"description":"SaltarPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SaltarPay credentials object.","properties":{"apiKey":{"type":"string","description":"SaltarPay API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"SaltarPay secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]}}}]}},"components/schemas/SMSVoucher":{"id":"components/schemas/SMSVoucher","kind":"json-schema","title":"SMSVoucher","data":{"description":"SMSVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"AppId":{"type":"string","description":"ID of the SMSVoucher application."}},"required":["AppId"]}}}]}},"components/schemas/Sofort":{"id":"components/schemas/Sofort","kind":"json-schema","title":"Sofort","data":{"description":"Sofort gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Sofort credentials object.","properties":{"configKey":{"type":"string","description":"Sofort configuration key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["configKey"]}}}]}},"components/schemas/Sagepay":{"id":"components/schemas/Sagepay","kind":"json-schema","title":"Sagepay","data":{"description":"Sagepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"M_ID":{"type":"string","description":"ID of the Sagepay merchant."},"M_KEY":{"type":"string","description":"Sagepay merchant key.","format":"password","writeOnly":true}},"required":["M_ID","M_KEY"]}}}]}},"components/schemas/SeamlessChex":{"id":"components/schemas/SeamlessChex","kind":"json-schema","title":"SeamlessChex","data":{"description":"SeamlessChex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SeamlessChex credentials object.","properties":{"publicKey":{"type":"string","description":"SeamlessChex publishable key."},"secretKey":{"type":"string","description":"SeamlessChex secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]}}}]}},"components/schemas/SecureTrading":{"id":"components/schemas/SecureTrading","kind":"json-schema","title":"SecureTrading","data":{"description":"SecureTrading gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecureTrading credentials object.","properties":{"websiteId":{"type":"string","description":"ID of the SecureTrading website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"username":{"type":"string","description":"SecureTrading web service username."},"password":{"type":"string","description":"SecureTrading web service password.","format":"password","writeOnly":true},"notificationPassword":{"type":"string","description":"SecureTrading notification password.\nThis password is used to authenticate webhook requests.","format":"password","writeOnly":true}},"required":["websiteId","username","password","notificationPassword"]},"settings":{"type":"object","description":"SecureTrading settings object.","properties":{"enableRecurring":{"type":"boolean","description":"Enables recurring payments.","default":false},"useParentTransactionOnFile":{"type":"boolean","description":"Enables subsequent MIT payments to include \"parenttransactionreference\" value.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/SecurionPay":{"id":"components/schemas/SecurionPay","kind":"json-schema","title":"SecurionPay","data":{"description":"SecurionPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecurionPay credentials object.","properties":{"secretApiKey":{"type":"string","format":"password","description":"SecurionPay secret API key.","writeOnly":true}},"required":["secretApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Skrill":{"id":"components/schemas/Skrill","kind":"json-schema","title":"Skrill","data":{"description":"Skrill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Skrill credentials object.","properties":{"accountEmail":{"type":"string","description":"Email address of your Skrill merchant account."},"secretWord":{"type":"string","description":"Secret word used for MD5 signature verifications.","format":"password","writeOnly":true},"mqiPassword":{"type":"string","description":"Password used during MQI or API requests.","format":"password","writeOnly":true},"currencyAccountIds":{"type":"string","description":"Comma-separated list of currency account IDs."},"merchantId":{"type":"string","description":"ID of the Skrill merchant account.\nThis value is required if `enableCustomerVerification` is set to `true`."}},"required":["accountEmail","secretWord"]},"settings":{"type":"object","properties":{"merchantFields":{"type":"string","description":"Comma-separated list of name-value merchant field pairs.\nExample: `key1:value1,key2:value2`."},"useSPX":{"type":"boolean","description":"Specifies whether to use SPX code for PIX payment method.","default":false},"enableCustomerVerification":{"type":"boolean","description":"Specifies whether to perform a Customer Verification Service check before the payout.","default":false,"example":false}}}}}]}},"components/schemas/SmartInvoice":{"id":"components/schemas/SmartInvoice","kind":"json-schema","title":"SmartInvoice","data":{"description":"SmartInvoice gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SmartInvoice credentials object.","properties":{"merchantId":{"type":"string","description":"SmartInvoice merchant account UID."},"applicationId":{"type":"string","description":"SmartInvoice application UID.","format":"password","writeOnly":true}},"required":["merchantId","applicationId"]}}}]}},"components/schemas/SparkPay":{"id":"components/schemas/SparkPay","kind":"json-schema","title":"SparkPay","data":{"description":"SparkPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SparkPay credentials object.","properties":{"shopId":{"type":"string","description":"ID of the SparkPay shop."},"secretKey":{"type":"string","description":"SparkPay secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]}},"components/schemas/Splitit":{"id":"components/schemas/Splitit","kind":"json-schema","title":"Splitit","data":{"description":"Splitit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"Splitit terminal ID."},"username":{"type":"string","description":"Splitit username."},"password":{"type":"string","description":"Splitit password.","format":"password","writeOnly":true}},"required":["terminalId","username","password"]},"settings":{"type":"object","description":"Splitit settings object.","properties":{"numberOfInstallmentsCustomField":{"type":"string","description":"Name of the transaction custom field that holds the number of installments."}}}}}]}},"components/schemas/StaticGateway":{"id":"components/schemas/StaticGateway","kind":"json-schema","title":"StaticGateway","data":{"description":"StaticGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"}]}},"components/schemas/STPMexicoBanks":{"id":"components/schemas/STPMexicoBanks","kind":"json-schema","title":"STPMexicoBanks","data":{"type":"integer","enum":[37006,37009,37019,37135,37166,37168,40002,40012,40014,40021,40030,40036,40037,40042,40044,40058,40059,40060,40062,40072,40102,40103,40106,40108,40110,40112,40113,40124,40126,40127,40128,40129,40130,40131,40132,40133,40136,40137,40138,40140,40141,40143,40145,40147,40148,40150,40151,40152,40154,40155,40156,40158,90600,90601,90602,90605,90606,90608,90613,90614,90616,90617,90620,90621,90623,90626,90627,90628,90630,90631,90634,90636,90637,90638,90640,90642,90646,90648,90649,90652,90653,90655,90656,90659,90670,90671,90674,90677,90678,90679,90680,90681,90683,90684,90685,90686,90687,90689,90901,90902]}},"components/schemas/STPMexico":{"id":"components/schemas/STPMexico","kind":"json-schema","title":"STPMexico","data":{"description":"STP Mexico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"STP Mexico credentials object.","properties":{"companyName":{"type":"string","description":"STP Mexico account company name."},"beneficiaryName":{"type":"string","description":"Name of the bank account holder that is receiving payments."},"bankId":{"description":"ID of the bank receiving payments.\nA list of bank IDs can be found in STP Mexico integration documentation.","$ref":"#/components/schemas/STPMexicoBanks"},"bankAccountNumber":{"type":"string","description":"Bank account number of the payments recipient."},"privateKey":{"type":"string","description":"STP Mexico private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"Passphrase for the private key.","format":"password","writeOnly":true}},"required":["companyName","beneficiaryName","bankId","bankAccountNumber","privateKey","keyPassphrase"]}}}]}},"components/schemas/Stripe":{"id":"components/schemas/Stripe","kind":"json-schema","title":"Stripe","data":{"description":"Stripe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"Stripe Connect credentials object.\nThe credentials object may be provided to control the Stripe Connect account to which the gateway account is connected.","properties":{"stripeClientId":{"type":"string","description":"ID of the Stripe account client."},"stripeSecret":{"type":"string","description":"Stripe Connect account secret key account.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Stripe settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on Stripe.","format":"uri"},"disablePaymentIntents":{"type":"boolean","description":"Specifies whether to use the Charges API instead of the PaymentIntents API.","default":false},"enforceOffSession":{"type":"boolean","description":"Specifies if the `off_session` parameter is set to `true` in Stripe requests.","default":false},"copyCredentialsFrom":{"type":"string","description":"ID of an existing Stripe gateway account from which credentials are copied in order to skip the onboarding process."},"setupFutureUsage":{"type":"string","description":"Indicates intent to make future payments with this payment method.\n- `on_session`: Reuse the payment method when the customer is present.\n- `off_session`: Reuse the payment method when the customer may or may not be present.","enum":["off_session","on_session"]},"applicationFeePercentage":{"type":"integer","description":"Percentage of transaction amount uses for sending application fee to Stripe.","minimum":0,"maximum":100},"includeCardNetwork":{"type":"boolean","description":"Specifies whether to include payment card network in the request to Stripe.","default":false},"radarSessionCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Radar Session ID."}}},"threeDSecureServer":{"type":"object","required":["name"],"description":"Stripe Integrated.","properties":{"name":{"type":"string","description":"Name of the Stripe 3DS server.","enum":["Stripe3dsServer"]},"enforceThreeDSecure":{"type":"boolean","description":"Specifies if Stripe must perform 3D Secure.\nThis option overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds)."}}}}}]}},"components/schemas/Tabby":{"id":"components/schemas/Tabby","kind":"json-schema","title":"Tabby","data":{"description":"Tabby gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Tabby credentials object.","properties":{"publicKey":{"type":"string","description":"Public API key of Tabby account.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Secret API key of Tabby account.","format":"password","writeOnly":true},"merchantCode":{"type":"string","description":"Merchant code of Tabby account."}},"required":["publicKey","merchantCode"]},"settings":{"type":"object","description":"Tabby settings object.","properties":{"category":{"type":"string","description":"Tabby merchant category."}}}}}]}},"components/schemas/Telr":{"id":"components/schemas/Telr","kind":"json-schema","title":"Telr","data":{"description":"Telr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Telr credentials object.","properties":{"storeId":{"type":"string","description":"Hosted payment page V2 store identifier."},"hostedPageAuthenticationKey":{"type":"string","description":"Hosted payment page V2 authentication key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Service API merchant identifier."},"serviceApiKey":{"type":"string","description":"Service API key.","format":"password","writeOnly":true},"remoteApiKey":{"type":"string","description":"Remote API key.","format":"password","writeOnly":true}},"required":["storeId","hostedPageAuthenticationKey","merchantId","serviceApiKey"]},"settings":{"type":"object","description":"Telr settings object.","properties":{"transactionDescription":{"type":"string","description":"Default transaction description.\nLeave this field blank to use website URL."}}}}}]}},"components/schemas/TestProcessor":{"id":"components/schemas/TestProcessor","kind":"json-schema","title":"TestProcessor","data":{"description":"TestProcessor gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/Thunes":{"id":"components/schemas/Thunes","kind":"json-schema","title":"Thunes","data":{"description":"Thunes gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Thunes credentials object.","properties":{"apiKey":{"type":"string","description":"Thunes API key used for HTTP basic authentication.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Thunes API secret used for HTTP basic authentication.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Thunes merchant identifier."},"paymentPageId":{"type":"string","description":"Thunes payment page identifier for hosted checkout."}},"required":["apiKey","apiSecret","merchantId","paymentPageId"]},"settings":{"type":"object","description":"Thunes settings object.","required":["transactionType"],"properties":{"transactionType":{"type":"string","description":"Payer type for the Thunes payment order.","enum":["C2B","B2B"]}}}}}]}},"components/schemas/ToditoCash":{"id":"components/schemas/ToditoCash","kind":"json-schema","title":"ToditoCash","data":{"description":"ToditoCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ToditoCash credentials object.","properties":{"apiKey":{"type":"string","description":"ToditoCash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]}},"components/schemas/Triple000":{"id":"components/schemas/Triple000","kind":"json-schema","title":"Triple000","data":{"description":"Triple000 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Triple000 credentials object.","properties":{"username":{"type":"string","description":"Username of the Triple000 merchant."},"password":{"type":"string","format":"password","description":"Triple000 password.","writeOnly":true},"secretWord":{"type":"string","format":"password","description":"Triple000 secret word.","writeOnly":true}},"required":["username","password","secretWord"]}}}]}},"components/schemas/Truevo":{"id":"components/schemas/Truevo","kind":"json-schema","title":"Truevo","data":{"description":"Truevo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Truevo credentials object.","properties":{"mid":{"type":"string","description":"Truevo merchant identifier."},"tid":{"type":"string","description":"Truevo terminal identifier."},"token":{"type":"string","description":"Truevo authentication token.","format":"password","writeOnly":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP reconciliation private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"IPN secret that is used to validate incoming IPN requests.","writeOnly":true}},"required":["mid","tid","token"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/TrustsPay":{"id":"components/schemas/TrustsPay","kind":"json-schema","title":"TrustsPay","data":{"description":"TrustsPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"TrustsPay credentials object.","required":["merchantNo","gatewayNo","signkey"],"properties":{"merchantNo":{"type":"string","description":"TrustsPay merchant number."},"gatewayNo":{"type":"string","description":"TrustsPay gateway number."},"signkey":{"type":"string","format":"password","description":"TrustsPay sign key.","writeOnly":true}}}}}]}},"components/schemas/Trustly":{"id":"components/schemas/Trustly","kind":"json-schema","title":"Trustly","data":{"description":"Trustly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Trustly credentials object.","properties":{"username":{"type":"string","description":"Trustly username."},"password":{"type":"string","description":"Trustly password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Trustly public key.","x-multiline":true},"privateKey":{"type":"string","description":"Trustly private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["username","password","publicKey","privateKey"]}}}]}},"components/schemas/TWINT":{"id":"components/schemas/TWINT","kind":"json-schema","title":"TWINT","data":{"description":"TWINT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"TWINT credentials object.","properties":{"storeUuid":{"type":"string","description":"TWINT store UUID."},"cashRegisterId":{"type":"string","description":"ID of the cash register."},"publicKey":{"type":"string","description":"TWINT public key.","x-multiline":true},"privateKey":{"type":"string","description":"TWINT private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"TWINT key passphrase.","format":"password","writeOnly":true}},"required":["storeUuid","cashRegisterId","publicKey","privateKey","keyPassphrase"]},"settings":{"type":"object","description":"TWINT settings object.","properties":{"cashRegisterType":{"type":"string","description":"TWINT cash register type."}},"required":["cashRegisterType"]}}}]}},"components/schemas/Txn":{"id":"components/schemas/Txn","kind":"json-schema","title":"Txn","data":{"description":"Txn gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Txn credentials object.","properties":{"apiKey":{"type":"string","description":"API key of the Txn.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Txn settings object.","properties":{"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."},"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"accountCurrency":{"type":"string","description":"Cryptocurrency of the merchant account."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout.","enum":["btc","usdt","eth","xrp"]}}}}}]}},"components/schemas/Unlimit":{"id":"components/schemas/Unlimit","kind":"json-schema","title":"Unlimit","data":{"description":"Unlimit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Unlimit credentials object.","properties":{"terminalId":{"type":"string","description":"ID of the Unlimit terminal."},"password":{"type":"string","description":"Password of the Unlimit terminal merchant.","format":"password","writeOnly":true},"ipnSecret":{"type":"string","description":"IPN secret of the Unlimit merchant.","format":"password","writeOnly":true}},"required":["terminalId","password","ipnSecret"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/UPayCard":{"id":"components/schemas/UPayCard","kind":"json-schema","title":"UPayCard","data":{"description":"UPayCard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"receiver_account":{"type":"string","description":"UPayCard merchant receiver account."},"key":{"type":"string","description":"UPayCard merchant key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"UPayCard merchant secret.","format":"password","writeOnly":true}},"required":["receiver_account","key","secret"]},"settings":{"type":"object","description":"UpayCard settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]}},"components/schemas/USAePay":{"id":"components/schemas/USAePay","kind":"json-schema","title":"USAePay","data":{"description":"USAePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"sourceKey":{"type":"string","description":"USAePay source key.","format":"password","writeOnly":true},"pin":{"type":"string","description":"USAePay pin.","format":"password","writeOnly":true}},"required":["sourceKey","pin"]}}}]}},"components/schemas/VantivLitle":{"id":"components/schemas/VantivLitle","kind":"json-schema","title":"VantivLitle","data":{"description":"VantivLitle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"VantivLitle username."},"password":{"type":"string","description":"VantivLitle password.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the VantivLitle merchant."}},"required":["username","password","merchantId"]}}}]}},"components/schemas/VCreditos":{"id":"components/schemas/VCreditos","kind":"json-schema","title":"VCreditos","data":{"description":"VCreditos gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VCreditos credentials object.","properties":{"publicKey":{"type":"string","description":"VCreditos API public key."},"secretKey":{"type":"string","description":"VCreditos API secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]},"settings":{"type":"object","description":"VCreditos settings object.","properties":{"merchantWebsiteLoginLabel":{"type":"string","description":"Label caption for a merchant website login input."},"merchantWebsiteLoginDescription":{"type":"string","description":"Description block for a merchant website login input."}}}}}]}},"components/schemas/VegaWallet":{"id":"components/schemas/VegaWallet","kind":"json-schema","title":"VegaWallet","data":{"description":"VegaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VegaWallet credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the VegaWallet merchant."},"password":{"type":"string","description":"VegaWallet merchant password.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"VegaWallet payout password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]}},"components/schemas/Viva":{"id":"components/schemas/Viva","kind":"json-schema","title":"Viva","data":{"description":"Viva gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Viva credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Viva OAuth 2.0."},"clientSecret":{"type":"string","description":"Secret of the Viva OAuth 2.0.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the Viva basic authentication."},"apiKey":{"type":"string","description":"API key for Viva basic authentication.","format":"password","writeOnly":true},"ipnKey":{"type":"string","description":"Key of the Viva IPN validation."}},"required":["clientId","clientSecret","merchantId","apiKey","ipnKey"]},"settings":{"type":"object","description":"Viva settings object.","properties":{"sourceCode":{"description":"Payment source links to the merchant.","type":"string"},"customerTransaction":{"description":"This optional parameter adds a friendly description to the payment order that you want to display to the customer on the payment form.","type":"string"}}}}}]}},"components/schemas/Wallet88":{"id":"components/schemas/Wallet88","kind":"json-schema","title":"Wallet88","data":{"description":"Wallet88 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Wallet88 credentials object.","properties":{"sid":{"type":"string","description":"ID of the Wallet88 API site."},"rcode":{"type":"string","description":"Wallet88 API rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Wallet88 settings object.","properties":{"paymentCardMethod":{"description":"Method to send for payment card.","type":"string","enum":["creditcard","mastercard","visa"],"default":"creditcard"}}}}}]}},"components/schemas/Walpay":{"id":"components/schemas/Walpay","kind":"json-schema","title":"Walpay","data":{"description":"Walpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantName":{"type":"string","description":"Walpay merchant name."},"merchantPin":{"type":"string","description":"Walpay merchant pin.","format":"password","writeOnly":true}},"required":["merchantName","merchantPin"]}}}]}},"components/schemas/WesternUnion":{"id":"components/schemas/WesternUnion","kind":"json-schema","title":"WesternUnion","data":{"description":"WesternUnion gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"WesternUnion credentials object.","properties":{"clientId":{"type":"string","description":"ID of the WesternUnion client."},"certificateCommonName":{"type":"string","description":"WesternUnion certificate Common Name (CN)."},"certificateSerialNumber":{"type":"string","description":"WesternUnion certificate Serial Number (SN)."}},"required":["clientId","certificateCommonName","certificateSerialNumber"]}}}]}},"components/schemas/Wirecard":{"id":"components/schemas/Wirecard","kind":"json-schema","title":"Wirecard","data":{"description":"Wirecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantUsername":{"type":"string","description":"Wirecard merchant username."},"merchantPassword":{"type":"string","description":"Wirecard merchant password.","format":"password","writeOnly":true},"businessSignature":{"type":"string","description":"Wirecard merchant business case signature.","format":"password","writeOnly":true},"delay":{"type":"integer","description":"Automatic capture delay."},"sftpUsername":{"type":"string","description":"Wirecard SFTP username."},"sftpPrivateKey":{"type":"string","description":"Wirecard SFTP private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantUsername","merchantPassword","businessSignature","delay"]}}}]}},"components/schemas/WorldlineAtosFrankfurt":{"id":"components/schemas/WorldlineAtosFrankfurt","kind":"json-schema","title":"WorldlineAtosFrankfurt","data":{"description":"WorldlineAtosFrankfurt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"credentials":{"type":"object","description":"WorldlineAtosFrankfurt credentials.","properties":{"cardAcceptorIdCode":{"type":"string","description":"Card acceptor ID Code."},"acquiringInstitutionIdentificationCode":{"type":"string","description":"Identification code of the acquiring institution."},"mpgId":{"type":"string","description":"Merchant payment gateway ID from Mastercard."},"clientCertificate":{"type":"string","description":"Client certificate for mutual TLS (mTLS) authentication.","format":"password","writeOnly":true,"x-multiline":true},"privateKey":{"type":"string","description":"Client private key for mutual TLS (mTLS) authentication.","format":"password","x-multiline":true,"writeOnly":true}},"required":["cardAcceptorIdCode","acquiringInstitutionIdentificationCode","mpgId","clientCertificate","privateKey"]},"settings":{"type":"object","description":"WorldlineAtosFrankfurt settings.","properties":{"cardAcceptorName":{"type":"string","description":"Name of the card acceptor."},"cardAcceptorLocation":{"type":"string","description":"Location of the card acceptor."},"cardAcceptorCountryCode":{"type":"string","description":"Country code of the card acceptor."},"terminalIds":{"type":"string","description":"Comma-separated list of terminal IDs."}},"required":["cardAcceptorName","cardAcceptorLocation","cardAcceptorCountryCode"]}}}]}},"components/schemas/Worldpay":{"id":"components/schemas/Worldpay","kind":"json-schema","title":"Worldpay","data":{"description":"Worldpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Worldpay merchant code.","format":"password","writeOnly":true},"merchantPassword":{"type":"string","description":"Worldpay merchant password.","format":"password","writeOnly":true},"payoutMerchantCode":{"type":"string","description":"Optional alternate merchant code for payouts.","format":"password","writeOnly":true},"payoutMerchantPassword":{"type":"string","description":"Optional alternate merchant password for payouts.","format":"password","writeOnly":true},"alternativePaymentsUsername":{"type":"string","description":"OneClick platform username, required for non-card payment methods."},"alternativePaymentsPassword":{"type":"string","description":"OneClick platform password, required for non-card payment methods.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantCode","merchantPassword"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0},"enforceStoredCredentials":{"type":"string","description":"Specifies whether to enforce stored credentials.\n`mit-enabled` means that stored credentials are sent only on merchant initiated transactions. This is the expected usage.\n`always-enabled` means that stored credentials are also used, if available, for customer facing transactions.","enum":["disabled","mit-enabled","always-enabled"],"default":"disabled"},"merchantInitiatedReason":{"type":"string","description":"Value to send with merchant-initiated transactions.","enum":["UNSCHEDULED","RECURRING","INSTALMENT","REAUTH","DELAYED","INCREMENTAL","RESUBMISSION","NOSHOW"],"default":"UNSCHEDULED"}}}}}]}},"components/schemas/Zotapay":{"id":"components/schemas/Zotapay","kind":"json-schema","title":"Zotapay","data":{"description":"Zotapay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"endpointId":{"type":"string","description":"ID of the Zotapay endpoint."},"merchantId":{"type":"string","description":"ID of the Zotapay merchant."},"merchantSecretKey":{"type":"string","description":"Zotapay merchant secret key.","format":"password","writeOnly":true}},"required":["endpointId","merchantId","merchantSecretKey"]}}}]}},"components/schemas/eMerchantPay":{"id":"components/schemas/eMerchantPay","kind":"json-schema","title":"eMerchantPay","data":{"description":"eMerchantPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the eMerchantPay client."},"apiKey":{"type":"string","description":"eMerchantPay API key.","format":"password","writeOnly":true},"username":{"type":"string","description":"eMerchantPay username for the Genesis platform."},"token":{"type":"string","description":"eMerchantPay token for the Genesis platform."},"password":{"type":"string","description":"eMerchantPay password for the Genesis platform.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"eMerchantPay settings object.","properties":{"useGenesisPlatform":{"type":"boolean","description":"Specifies whether to use the Genesis platform on eMerchantPay.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]}},"components/schemas/ecoPayz":{"id":"components/schemas/ecoPayz","kind":"json-schema","title":"ecoPayz","data":{"description":"ecoPayz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayz credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayz payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayz merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayz merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayz settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]}},"components/schemas/ecoPayzTurkey":{"id":"components/schemas/ecoPayzTurkey","kind":"json-schema","title":"ecoPayzTurkey","data":{"description":"ecoPayzTurkey gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayzTurkey credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayzTurkey payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayzTurkey merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayzTurkey merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayzTurkey settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]}},"components/schemas/iCanPay":{"id":"components/schemas/iCanPay","kind":"json-schema","title":"iCanPay","data":{"description":"iCanPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"Authenticate ID of the iCanPay account."},"authenticatePw":{"type":"string","description":"iCanPay authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"iCanPay API public key."},"secretKey":{"type":"string","description":"iCanPay API secret key.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]}},"components/schemas/iCheque":{"id":"components/schemas/iCheque","kind":"json-schema","title":"iCheque","data":{"description":"iCheque gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the iCheque client."},"secretWord":{"type":"string","description":"iCheque secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API that is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API that is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]}},"components/schemas/iDebit":{"id":"components/schemas/iDebit","kind":"json-schema","title":"iDebit","data":{"description":"iDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"iDebit credentials object.","properties":{"merchantId":{"type":"string","description":"iDebit merchant account number."},"password":{"type":"string","description":"iDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"ID of the merchant or organization."}}}}}]}},"components/schemas/vegaaH":{"id":"components/schemas/vegaaH","kind":"json-schema","title":"vegaaH","data":{"description":"vegaaH gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the vegaaH terminal."},"password":{"type":"string","description":"vegaaH password.","format":"password","writeOnly":true}},"required":["terminalId","password"]}}}]}},"components/schemas/XPay":{"id":"components/schemas/XPay","kind":"json-schema","title":"XPay","data":{"description":"XPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"XPay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the XPay merchant."},"encryptionKey":{"type":"string","format":"password","writeOnly":true,"description":"XPay encryption key."}},"required":["merchantId","encryptionKey"]}}}]}},"components/schemas/Zimpler":{"id":"components/schemas/Zimpler","kind":"json-schema","title":"Zimpler","data":{"description":"Zimpler configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Zimpler credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Zimpler merchant."},"apiKey":{"type":"string","description":"Zimpler API key.","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]}}}]}},"components/schemas/DigitalWallets":{"id":"components/schemas/DigitalWallets","kind":"json-schema","title":"Digital Wallets","data":{"type":"object","description":"Configure which digital wallets are enabled.","title":"Digital Wallets","properties":{"applePay":{"type":"object","description":"Apple Pay digital wallet configuration. If not using Apple Pay,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Apple Pay is enabled.","default":false},"displayName":{"description":"String of 64, or fewer, UTF-8 characters containing the canonical name for your store,\nwhich is suitable for display.\nDo not localize this name.","type":["string","null"],"example":"Test merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"googlePay":{"type":"object","description":"Google Pay™ digital wallet configuration. If not using Google Pay™,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Google Pay™ is enabled.","default":false},"merchantName":{"description":"Merchant name in Google Pay™.","type":["string","null"],"example":"Test merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay™.\nThis uses the fully qualified domain name.","type":["string","null"],"example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}}}},"components/schemas/GatewayAccountPayoutLimits":{"id":"components/schemas/GatewayAccountPayoutLimits","kind":"json-schema","title":"GatewayAccountPayoutLimits","data":{"description":"Payout method limits for payout request auto-allocation.\nLimits apply to auto-allocation only.\nManual allocations are uncapped.\n\nValidation is per currency.\nWhen multiple limit types contain\nan entry for the same currency, the following requirements apply:\n- `minPerTransaction.amount < maxPerTransaction.amount`.\n- `minPerTransaction.amount <= maxPerPeriod.amount`.","type":"object","minProperties":1,"properties":{"maxPerTransaction":{"description":"Maximum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":3000},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":3000,"currency":"CAD"}]},"minPerTransaction":{"description":"Minimum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":100,"currency":"CAD"}]},"maxPerPeriod":{"description":"Maximum amount limit for a rolling period.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency","period"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":10000},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"period":{"description":"Rolling period for the amount limit.","type":"string","enum":["24-hours"],"x-enumDescriptions":{"24-hours":"Rolling 24-hour period."}}}},"example":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"example":{"maxPerTransaction":[{"amount":3000,"currency":"CAD"}],"minPerTransaction":[{"amount":100,"currency":"CAD"}],"maxPerPeriod":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}}},"components/schemas/ValidationErrorExtensions":{"id":"components/schemas/ValidationErrorExtensions","kind":"json-schema","title":"ValidationErrorExtensions","data":{"type":"object","properties":{"invalidFields":{"description":"Invalid field details.","type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}}}},"components/schemas/InvalidError":{"id":"components/schemas/InvalidError","kind":"json-schema","title":"InvalidError","data":{"description":"Invalid data sent.","allOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/ValidationErrorExtensions"}]}},"components/schemas/GatewayAccountDowntimeSchedule":{"id":"components/schemas/GatewayAccountDowntimeSchedule","kind":"json-schema","title":"GatewayAccountDowntimeSchedule","data":{"type":"object","required":["startTime","endTime"],"properties":{"id":{"type":"string","description":"ID of the gateway account downtime schedule.","readOnly":true,"maxLength":50,"example":"gw_dwn_0YVCXRK9TKCC6AMAPFB9M4RXDP"},"status":{"description":"Status of the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["pending","ongoing","finished"]},"reason":{"description":"Reason for the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["scheduled-maintenance","daily-limit-reached","monthly-limit-reached","gateway-unreachable"]},"startTime":{"description":"Date and time when the gateway account scheduled downtime starts.","type":"string","format":"date-time"},"endTime":{"description":"Date and time when the gateway account scheduled downtime ends.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/GatewayAccountLimit":{"id":"components/schemas/GatewayAccountLimit","kind":"json-schema","title":"GatewayAccountLimit","data":{"description":"Gateway account limit details.","type":"object","required":["cap"],"properties":{"id":{"description":"ID of the gateway account limit.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"status":{"description":"Status of the gateway account limit.","readOnly":true,"type":"string","enum":["monitoring","reached"]},"startTime":{"description":"Date and time when the gateway account limit starts.","type":"string","format":"date-time","readOnly":true},"endTime":{"description":"Date and time when the gateway account limit ends.\nWhen a gateway account limit ends the limit resets.","type":"string","format":"date-time","readOnly":true},"frequency":{"description":"Frequency at which the gateway account limit period resets.","type":"string","readOnly":true,"enum":["daily","monthly"]},"type":{"description":"Type of gateway account limit.","type":"string","readOnly":true,"enum":["money","count"],"x-enumDescriptions":{"money":"Limits the amount of money that a transaction can process on a gateway account. If `money` is chosen, the currency is the report currency.","count":"Limits the total number of transaction can be processed on a gateway account."}},"cap":{"description":"Limits the maximum allowed value.\nIf `type` is set to `money`, the currency is the report currency.\n`cap` only applies to approved transactions of type `authorize` or `sale`.","type":"integer","example":1000},"usage":{"description":"Usage of the gateway account limit during this period.","type":"integer","example":375,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/GatewayAccountTimeline":{"id":"components/schemas/GatewayAccountTimeline","kind":"json-schema","title":"GatewayAccountTimeline","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["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","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-carding-circuit-opened"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SettlementPeriod":{"id":"components/schemas/SettlementPeriod","kind":"json-schema","title":"SettlementPeriod","data":{"type":"object","description":"Instruction for calculating the settlement time.\nThe settlement time and settlement period anchor are used\nin conjunction with the transaction processed time,\nto calculate the time in which the amount settles.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","immediately":"#/components/schemas/SchedulingMethodImmediately"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"}]}},"components/schemas/SettlementSettings":{"id":"components/schemas/SettlementSettings","kind":"json-schema","title":"SettlementSettings","data":{"type":"object","description":"Settlement settings.\nUse these settings to set up settlement accounts.","required":["settlementCurrency","settlementPeriod"],"properties":{"settlementCurrency":{"description":"Default settlement currency for all transactions.","$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"description":"Default settlement period for all transactions.","$ref":"#/components/schemas/SettlementPeriod"},"advancedSettings":{"description":"Advanced settlement settings.\nUse these settings to override either default settlement currency,\nperiod, or both for the transactions matched a filter.","type":"array","items":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"Filter that is based on transaction properties and is used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"currency:EUR,GBP"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"$ref":"#/components/schemas/SettlementPeriod"}}}}}}},"components/schemas/Bips":{"id":"components/schemas/Bips","kind":"json-schema","title":"Bips","data":{"type":"number","description":"Basis points.\nExample: 100 bips = 1%, 1 bip = 0.01%.","format":"integer","minimum":0,"maximum":100000,"example":100}},"components/schemas/GatewayAccountFinancialSettings":{"id":"components/schemas/GatewayAccountFinancialSettings","kind":"json-schema","title":"GatewayAccountFinancialSettings","data":{"type":"object","description":"Financial settings.","required":["settlementSettings"],"properties":{"settlementSettings":{"$ref":"#/components/schemas/SettlementSettings"},"riskReserveSettings":{"description":"Risk reserve settings.\nUse these settings to set up funds reserves before settlement.","type":"array","items":{"type":"object","required":["filter","bips","period"],"properties":{"filter":{"description":"Filter that is based on the properties of the transaction and used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"paymentInstrument.method:payment-card","type":"string"},"bips":{"$ref":"#/components/schemas/Bips"},"period":{"description":"Instruction for calculating the reserve release time.","$ref":"#/components/schemas/SchedulingMethodDateInterval"}}}}}}},"components/schemas/DigitalWalletOnboardingApplePayDomains":{"id":"components/schemas/DigitalWalletOnboardingApplePayDomains","kind":"json-schema","title":"DigitalWalletOnboardingApplePayDomains","data":{"type":"object","description":"Apple Pay domains of the organization.","required":["domains"],"properties":{"domains":{"description":"Domains that Apple Pay has registered for the organization, sorted alphabetically.","type":"array","readOnly":true,"items":{"type":"string"}}}}},"components/schemas/DigitalWalletOnboardingApplePay":{"id":"components/schemas/DigitalWalletOnboardingApplePay","kind":"json-schema","title":"DigitalWalletOnboardingApplePay","data":{"type":"object","description":"Register a domain with Apple Pay and associate it with Rebilly.","required":["domain"],"properties":{"domain":{"description":"Domain to register.","type":"string"},"status":{"description":"Status of Apple Pay domain registration.","type":"string","readOnly":true,"enum":["failed","registered","already-registered"]}}}},"components/schemas/Integration":{"id":"components/schemas/Integration","kind":"json-schema","title":"Integration","data":{"type":"object","properties":{"service":{"readOnly":true,"description":"Name of the integration service.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"count":{"readOnly":true,"type":"integer","minimum":0,"description":"Total number of available rule sets."},"configurations":{"readOnly":true,"type":"array","minItems":0,"description":"List of configurations.","items":{"type":"object","properties":{"labels":{"description":"Labels of the configuration.","type":"array","minItems":0,"items":{"type":"string"}},"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"type":"string","description":"Title of the configuration."}}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","oauth2Connect"]}}}}}}},"components/schemas/ValueList":{"id":"components/schemas/ValueList","kind":"json-schema","title":"ValueList","data":{"type":"object","required":["description","values"],"properties":{"id":{"type":"string","description":"ID of the list.","readOnly":true,"maxLength":50,"example":"lst_0YVCXVQH84DEF93D8VBTJQ9TGK"},"version":{"description":"Version of the list.","type":"integer","readOnly":true,"minimum":1},"description":{"description":"Description of the list.","type":"string"},"values":{"description":"Values in the list.","type":"array","items":{"type":"string"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Organization":{"id":"components/schemas/Organization","kind":"json-schema","title":"Organization","data":{"type":"object","required":["name","country"],"properties":{"id":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","readOnly":true,"maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8","x-sortable":true},"name":{"description":"Name of the organization.","type":"string","maxLength":60,"x-sortable":true},"website":{"description":"Website URL of the organization.\nThis value must begin with `https://` or `http://`.","type":"string","maxLength":65,"writeOnly":true,"format":"uri","example":"https://example.com"},"address":{"description":"Street address of the organization.","type":["string","null"],"maxLength":60,"x-sortable":true},"address2":{"description":"Second line of the street address.","type":["string","null"],"maxLength":60,"x-sortable":true},"city":{"description":"City where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"region":{"description":"Region or state where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"country":{"description":"Country where the organization is located, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","x-sortable":true},"postalCode":{"description":"Postal code of the organization.","type":"string","maxLength":10,"x-sortable":true},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"taxDescriptor":{"description":"Tax label of the organization.\nThis information is displayed on the invoice.","type":["string","null"],"maxLength":255},"invoiceTimeZone":{"description":"Specifies the time zone to display on an invoice.\nUTC is used by default.","type":"string","maxLength":50,"example":"America/New_York"},"reportCurrency":{"description":"Currency to use for conversion in reports.\nThis value cannot be changed.","$ref":"#/components/schemas/CurrencyCode"},"questionnaire":{"type":["object","null"],"description":"Organization questionnaire.","properties":{"role":{"type":["string","null"],"description":"Role of the owner."},"monthlyTransactions":{"type":["string","null"],"description":"Amount of monthly processed transactions."},"products":{"type":["array","null"],"description":"List of products the organization is interested in.","items":{"type":"string"}},"integrationType":{"type":["string","null"],"description":"Type of integration the organization would like."},"launchTiming":{"type":["string","null"],"description":"When the organization would like to go live."}}},"settings":{"type":"object","description":"Organization settings.","properties":{"defaultTaxCalculator":{"type":"object","description":"Tax calculation settings.","required":["type"],"properties":{"type":{"type":"string","description":"Type of tax calculator.","enum":["taxjar","avalara","flat"]},"rate":{"type":["number","null"],"format":"float","description":"Rate for flat tax calculation."}}},"billing":{"description":"Global organization settings for billing.","type":["object","null"],"properties":{"pendingOrderTtl":{"description":"Length of time, in ISO-8601 durations format, before which a pending order is automatically abandoned.","type":["string","null"],"example":"P7D","default":null},"orderDelinquencyPeriod":{"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n> **Important:**\nIf the `delinquencyPeriod` value is `null`,\nthe order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.","type":["string","null"],"example":"P7D","default":null},"subtractRecurringDiscountsFromMrr":{"description":"Specifies whether recurring discounts with a specified end date or usage limit are subtracted from order MRR in metrics calculations.\nIf this value is `true`, recurring discounts are excluded from order MRR.\n\n> **Note:** Recurring discounts with no specified end date and usage limit are automatically subtracted from order MRR.","type":"boolean","default":false,"example":true},"subtractOneTimeDiscountsFromMrr":{"description":"Specifies whether one-time discounts are subtracted from order MRR in metrics calculation.\nIf this value is `true`, one-time discounts are excluded from order MRR.","type":"boolean","default":false,"example":true}}},"taxLocations":{"type":"array","description":"Additional organization addresses where a merchant may want to collect taxes using the `taxjar` tax calculator.\n\nAvailable only for US-based organizations.","items":{"type":"object","required":["country"],"properties":{"address":{"description":"Street address of the tax location.","type":["string","null"],"maxLength":60},"city":{"description":"City of the tax location.","type":["string","null"],"maxLength":45},"region":{"description":"Region or state of the tax location.","type":["string","null"],"maxLength":45},"country":{"description":"Country of the tax location, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$"},"postalCode":{"description":"Postal code of the tax location.","type":["string","null"],"maxLength":10}}}},"notifications":{"description":"Organization access-related notification settings.","type":"object","properties":{"notifyOnUserAccessChanges":{"description":"Specifies whether to send notifications when users are created or updated.","type":"boolean","default":false},"notifyOnApiKeyAccessChanges":{"description":"Specifies whether to send notifications when API keys are created or updated.","type":"boolean","default":false},"notificationEmailAddresses":{"description":"List of email addresses to send notifications to.","type":"array","items":{"type":"string","format":"email"},"default":[]}}},"security":{"type":"object","readOnly":true,"description":"Organization sign-in security settings.\nThis value is read-only on the [Create an organization](https://www.rebilly.com/catalog/all/organizations/postorganization) and [Update an organization](https://www.rebilly.com/catalog/all/organizations/patchorganization) operations.\nTo change these settings, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.\nTo retrieve how many users have multi-factor authentication (MFA) set up, use the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.","properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly app.","default":false}}},"annualComplianceScreening":{"description":"Settings for annual compliance screening of all active customers.\nWhen enabled, a compliance screening report is generated for every active customer\non the configured month and day each year.","type":"object","properties":{"enabled":{"description":"Specifies whether annual compliance screening is enabled for the organization.","type":"boolean","default":false},"monthDay":{"description":"Month and day when annual compliance screening runs, in `MM-DD` format.\nRequired when `enabled` is `true`.\nValid calendar date only. Leap day `02-29` is not allowed.","type":["string","null"],"pattern":"^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"02-15","default":null}}},"payoutRequestAllocationOrder":{"description":"Default order for auto-allocation of payout requests.\nWhen set, this value is used when a payout request batch does not specify its own allocation order.\nThe order defines which payment instruments are attempted first during auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["payment-card","alternative-payment-methods","selected-payment-instrument"]}}},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the organization.","items":{"$ref":"#/components/schemas/TaxNumber"}},"features":{"type":"array","description":"Organization features.","readOnly":true,"items":{"type":"object","properties":{"name":{"description":"Name of the feature.","type":"string"},"description":{"description":"Description of the feature.","type":"string"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}}},"components/schemas/CountriesUnrestrictedMetadata":{"id":"components/schemas/CountriesUnrestrictedMetadata","kind":"json-schema","title":"Unrestricted","data":{"type":"object","title":"Unrestricted","required":["mode"],"properties":{"mode":{"type":"string","enum":["unknown","all"]},"values":{"description":"List of supported countries.","type":"array","uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CountriesSubsetMetadata":{"id":"components/schemas/CountriesSubsetMetadata","kind":"json-schema","title":"Subset","data":{"type":"object","title":"Subset","required":["mode","values"],"properties":{"mode":{"type":"string","enum":["subset"]},"values":{"description":"List of supported countries.","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}}},"components/schemas/CountriesMetadata":{"id":"components/schemas/CountriesMetadata","kind":"json-schema","title":"CountriesMetadata","data":{"type":"object","description":"Countries metadata.","discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CountriesUnrestrictedMetadata","all":"#/components/schemas/CountriesUnrestrictedMetadata","subset":"#/components/schemas/CountriesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CountriesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CountriesSubsetMetadata"}]}},"components/schemas/CurrenciesUnrestrictedMetadata":{"id":"components/schemas/CurrenciesUnrestrictedMetadata","kind":"json-schema","title":"Unrestricted","data":{"title":"Unrestricted","required":["mode"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["unknown","all"]},"values":{"description":"List of supported currencies.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}}},"components/schemas/CurrenciesSubsetMetadata":{"id":"components/schemas/CurrenciesSubsetMetadata","kind":"json-schema","title":"Subset","data":{"title":"Subset","required":["mode","values"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["subset"]},"values":{"description":"List of supported currencies.","type":"array","minItems":1,"uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}}},"components/schemas/PaymentMethodMetadata":{"id":"components/schemas/PaymentMethodMetadata","kind":"json-schema","title":"PaymentMethodMetadata","data":{"type":"object","additionalProperties":false,"required":["apiName","name","summary","description","countries"],"properties":{"apiName":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"name":{"description":"Name of the payment method.","type":"string","pattern":"^[\\w\\. -]+$"},"landscapeLogo":{"description":"URL for the payment method logo optimized for landscape orientation.","type":["string","null"],"format":"uri"},"portraitLogo":{"description":"URL for the payment method logo optimized for portrait orientation.","type":["string","null"],"format":"uri"},"summary":{"description":"Short description of the payment method.\nThis field supports Markdown.","type":"string"},"description":{"description":"Detailed information about the payment method.\nThis field supports Markdown.","type":"string"},"countries":{"$ref":"#/components/schemas/CountriesMetadata"},"storefrontEnabled":{"type":"boolean","default":false},"isSingleUse":{"description":"Specifies that the payment method requires the customer to review\nand confirm payment options and terms specific to the purchase every time.\nThe merchant cannot assist the customer in adding this payment method during the checkout process.\nThe customer must complete the process independently.","type":"boolean","default":false},"supportedCurrencies":{"type":"object","description":"List of currencies that are supported by the payment method.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"relevantBusinessModels":{"description":"Business models that are relevant to the payment method.","type":"array","items":{"type":"string","enum":["B2B","B2C"]}},"type":{"description":"Type of payment method.\nFor example, wallet, bank transfer, credit card.","type":["string","null"]},"recurringPayments":{"description":"Specifies whether the payment method supports recurring payments.","type":"boolean","default":false},"refunds":{"description":"Specifies whether the payment method supports refunds.","type":"boolean","default":false},"disputes":{"description":"Specifies whether the payment method supports disputes.","type":"boolean","default":false},"ux":{"description":"List of steps that describes the user experience during the payment flow.","type":"array","items":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PaymentGatewayMetadata":{"id":"components/schemas/PaymentGatewayMetadata","kind":"json-schema","title":"PaymentGatewayMetadata","data":{"type":"object","additionalProperties":false,"required":["apiName","logo","paymentMethods","merchantCountries","currencies"],"properties":{"apiName":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"otherNames":{"description":"List of former names associated with the payment gateway.\nGateways may change their names or may also be known by other names.\nTracking this list may help customer support and developers.","type":"array","items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"description":"Alternative or former name of the payment gateway.","type":"string"},"description":{"description":"Short description about this name.","type":"string"},"logo":{"description":"URL for the logo used with this name.","type":"string","format":"uri"}}}},"logo":{"description":"URL for the logo of the gateway.","type":"string","format":"uri"},"summary":{"description":"Short description of the payment gateway.\nThis field supports Markdown.","type":["string","null"]},"homepage":{"description":"URL of the payment gateway home page.","type":["string","null"],"format":"uri"},"externalDocs":{"description":"List of links to the documentation of the payment gateway.\nFor example, online API guides provided by gateways or a link to the documents in Google Drive.","type":"array","items":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"URL of the target documentation.\nThis value must be in URL format.","type":"string","format":"uri"},"description":{"description":"Short description of the target documentation.","type":"string"}}}},"publishedPricing":{"description":"Pricing description for the payment gateway, if pricing is published.","type":["string","null"]},"setupInstructions":{"description":"Special gateway account set up instructions for merchants.\nFor example: After adding this gateway account,\nset the IPN to `//example.com/ipns/{gateway-name}/{organization-id}` by contacting your account rep.","type":["string","null"]},"paymentMethods":{"description":"Array of supported payment methods.\nFor example, `payment-card` and `bitcoin`.","type":"array","items":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"minLength":1},"cardBrands":{"description":"Array of supported card-brands.\nIf the payment gateway supports payment cards.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"merchantCountries":{"$ref":"#/components/schemas/CountriesMetadata"},"currencies":{"type":"object","description":"Currencies metadata.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"operations":{"description":"Array of operations that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["verify","auth","capture","sale","refund","query","credit","3DS1","3DS2","checkCredentials"]}},"supported3dsServers":{"description":"Array of supported 3DS-servers.","type":"array","items":{"type":"string"}},"supportedPaymentInstrumentSetupInstructions":{"description":"Array of set up instructions that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["do-nothing","authorize","authorize-and-void","sca"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount or currency of the request.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","authorize-and-void":"Creates an `authorize` transaction in the amount and currency of the request,\nfollowed by a `void`, if the `authorize` is approved.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}}},"reconciliationSupport":{"description":"Specifies whether transactions can be reconciled.","type":"boolean","default":false},"disputeSupport":{"description":"Specifies whether dispute data entry can be automated with an API or SFTP access.\nFor example, chargeback, retrieval, or TC-40 disputes.","type":"boolean","default":false},"offsite":{"description":"Specifies whether offsite interaction is required.\nFor example, 3DS, PayPal login, or completing something in a store.","type":"boolean","default":false},"ipn":{"type":["object","null"],"description":"Describes the Instant Payment Notification (IPN) that a payment gateway supports.\nIf this value is null, IPN is not supported.","required":["type"],"properties":{"type":{"description":"Type of supported Instant Payment Notification (IPN).\nIf this value is null, IPN is not supported.","type":"string","enum":["static","dynamic"]},"verificationMethod":{"description":"Method used to verify that the data in the IPN call can be trusted.","type":"string","enum":["query","signature"],"default":"query"}}},"recommendedWaitingApprovalTtl":{"description":"Recommended Time To Live (TTL) before abandoning the transaction.","type":"integer","default":3600,"minimum":299,"maximum":16777216},"credentials":{"type":"object","description":"List of credentials that are required to use the payment gateway.","additionalProperties":false,"properties":{"required":{"description":"List of required credentials.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/PayoutRequestBlockReason":{"id":"components/schemas/PayoutRequestBlockReason","kind":"json-schema","title":"PayoutRequestBlockReason","data":{"type":"string","description":"Reason for blocking the payout request.","enum":["fraud-suspected","kyc-verification-required","aml-review","account-verification","duplicate-request","insufficient-documentation","risk-review","other"]}},"components/schemas/PayoutRequestSplitReason":{"id":"components/schemas/PayoutRequestSplitReason","kind":"json-schema","title":"PayoutRequestSplitReason","data":{"type":"string","description":"Reason for splitting the payout request.","enum":["payment-instrument-limit","processor-limit","risk-review","compliance-review","partial-processing","operational-reconciliation","other"]}},"components/schemas/PayoutRequestAllocation":{"id":"components/schemas/PayoutRequestAllocation","kind":"json-schema","title":"PayoutRequestAllocation","data":{"type":"object","required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount","currency"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the resource.","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request associated with this allocation.","readOnly":true,"type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchId":{"description":"ID of the payout request batch that contains the payout request for this allocation.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument allocated to the payout request.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"paymentMethod":{"description":"Payment method of the allocation.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}],"readOnly":true},"gatewayAccountId":{"type":"string","description":"ID of the gateway account to use for processing this allocation.","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"type":"string","description":"Name of the gateway account to use for processing this allocation.","maxLength":50,"example":"TestProcessor"},"gatewayPayoutInstruction":{"description":"Payout configuration of the gateway account that processes this allocation.","readOnly":true,"type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway."},"example":"covered-payout"},"amount":{"description":"Amount allocated to this payment instrument.","type":"number","format":"double","x-type":"Money"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts,\nfor the customer, gateway account, and payment instrument, in the allocation currency.\nThe calculation includes only transactions created within the last 180 days.\nThe value is `0` when there are no transactions in the last 180 days,\nthe gateway account is inactive,\nor its `readyToPayoutInstruction` is `none`.","readOnly":true,"type":"number","format":"double","x-type":"Money","example":2},"currency":{"description":"Currency of the payout request allocation.","$ref":"#/components/schemas/CurrencyCode"},"status":{"description":"Status of this payout request allocation.","type":"string","enum":["pending","queued","processing","waiting-completion","completed","failed","canceled","declined"],"x-enumDescriptions":{"pending":"Allocation was created and is waiting to be processed.","queued":"Allocation is queued for processing.","processing":"Allocation is being processed and a transaction is being created.","waiting-completion":"Allocation transaction is processing asynchronously and has not yet reached a terminal state.","completed":"Allocation was successfully processed and the transaction was approved.","failed":"Allocation was not processed because of an error.","canceled":"Allocation was canceled before processing.","declined":"Allocation was declined by the gateway."}},"transactionId":{"description":"ID of the transaction that is created when processing this allocation, if applicable.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"txn_0YVB8KPKNXCBR9EDX7JHSED75N"},"transactionResult":{"description":"Result of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["abandoned","approved","canceled","declined","unknown",null]},"transactionStatus":{"description":"Status of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund",null]},"createdTime":{"description":"Date and time when the allocation for the payout request was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","gatewayAccount","payoutRequest","paymentInstrument"]}}}}}}},"components/schemas/PayoutRequestCancellation":{"id":"components/schemas/PayoutRequestCancellation","kind":"json-schema","title":"PayoutRequestCancellation","data":{"description":"Reason the payout request is canceled.","type":["object","null"],"readOnly":true,"properties":{"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","system"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255}}}},"components/schemas/PayoutRequest":{"id":"components/schemas/PayoutRequest","kind":"json-schema","title":"PayoutRequest","data":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"description":"ID of the customer who is requesting a payout.","$ref":"#/components/schemas/CustomerId"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the requested payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"splitFromPayoutRequestId":{"description":"ID of the payout request from which this request is split,\nor `null` if this request is not created by a split operation.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that this request is merged into,\nor `null` if it is not merged into another request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"currency":{"description":"Currency of the payout.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the payout.","type":"number","format":"double","x-type":"Money"},"availableAmount":{"description":"Available payout request amount that has not been allocated.","readOnly":true,"type":"number","format":"double","x-type":"Money"},"description":{"description":"Description of payout request.","type":["string","null"]},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["pending","ready","approved","in-progress","fulfilled","canceled","split","merged"],"x-enumDescriptions":{"pending":"Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization.\nWhen automatic readiness is enabled, the payout request transitions to the `ready` state after the pending period elapses and the configured [transition time](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinesstime) is reached.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used.","ready":"Request was created by the customer and is ready for review.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests.","approved":"Request was reviewed, approved, and is ready for processing.","in-progress":"Request has allocations and is being processed.","fulfilled":"Request is fully paid out.","canceled":"Request is canceled by merchant or customer.","split":"Request was split into two or more payout requests.","merged":"Request was merged into another payout request."}},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\n\nWhen blocked, the payout request cannot transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\nAllocation creation, allocation processing, and cancellation of pending allocations are also prevented.\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","readOnly":false,"example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"splitReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestSplitReason"},{"type":"null"}]},"batchId":{"description":"ID of the payout request batch that contains this request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchName":{"description":"Short name of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no name.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch name","example":"Weekly CAD payouts"},"batchDescription":{"description":"Description of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no description.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch description","example":"Batch processed on 2024-01-15"},"selectPaymentInstrumentUrl":{"readOnly":true,"type":"string","format":"uri","description":"URL for the customer to select a preferred payment instrument."},"allocations":{"type":"array","description":"List of payout request allocations for the payout request.","readOnly":true,"items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}},"selectedPaymentInstrumentRedirectUrl":{"description":"URL where the customer is redirected when a payment instrument is selected. The default value is the website URL.\nUse `{{id}}` as a placeholder for the payout request ID.","type":"string","format":"uri","maxLength":2083,"example":"https://example.com/payout-request-success"},"cancellationReason":{"$ref":"#/components/schemas/PayoutRequestCancellation"},"createdTime":{"description":"Date and time when the payout request is created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the payout request is updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","splitFrom","mergedInto","paymentInstrument"]}}}}}}},"components/schemas/PayoutRequestTimelineMessage":{"id":"components/schemas/PayoutRequestTimelineMessage","kind":"json-schema","title":"PayoutRequestTimelineMessage","data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the message.","readOnly":true,"maxLength":50,"example":"tlm_0YVDMDE2BMC6KBB5MX76RF6T80"},"type":{"type":"string","description":"Type of timeline event.","readOnly":true,"enum":["timeline-comment-created","payout-request-created","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-allocated","payout-request-processing-started","payout-request-fulfilled","payout-request-canceled","payout-request-reversed","payout-request-blocked","payout-request-unblocked","payout-request-added-to-batch","payout-request-removed-from-batch"]},"occurredTime":{"description":"Date and time when the timeline event occurred.","$ref":"#/components/schemas/ServerTimestamp"},"triggeredBy":{"type":"string","description":"Who or what triggered this event.","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"type":"string","description":"Human-readable message describing the timeline event."},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"}},"required":["id","type","occurredTime","triggeredBy","message","extraData"]}},"components/schemas/BadRequest":{"id":"components/schemas/BadRequest","kind":"json-schema","title":"BadRequest","data":{"allOf":[{"title":"Bad request"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":400},"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}},{"$ref":"#/components/schemas/BaseProblem"}]}},"components/schemas/PayoutRequestBatch":{"id":"components/schemas/PayoutRequestBatch","kind":"json-schema","title":"PayoutRequestBatch","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"ID of the batch.","maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"userId":{"type":"string","readOnly":true,"description":"ID of the user who created the batch.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"user":{"description":"Creator of the batch.","readOnly":true,"type":"object","required":["id","name"],"properties":{"id":{"description":"User ID of the creator.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"name":{"description":"First and last name of the creator.","type":"string","example":"John Doe"}}},"totalCount":{"description":"Total number of payout requests in the batch.","type":"integer","readOnly":true,"minimum":0,"example":10},"customerCount":{"description":"Number of unique customers in the batch.","type":"integer","readOnly":true,"minimum":0,"example":3},"totalAmountByCurrency":{"description":"Total payout amount grouped by currency in the batch.","type":"array","readOnly":true,"items":{"type":"object","additionalProperties":false,"required":["currency","amount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number"}}}},"name":{"description":"Name that is used to identify the batch.\nThis value is `null` if the batch has no name.","type":["string","null"],"maxLength":255,"example":"Weekly CAD payouts"},"description":{"description":"Optional description of the batch.","type":["string","null"],"maxLength":255,"example":"Batch processed on 2024-01-15"},"allocationOrder":{"description":"Order for auto-allocation of payout requests in this batch.\nWhen set, this field overrides the organization-level allocation order during batch auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["paypal","Interac-eTransfer","payment-card","alternative-payment-methods","selected-payment-instrument"]},"createdTime":{"description":"Date and time when the batch was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the batch was last updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","payoutRequests"]}}}}}}},"components/schemas/OrderPreview":{"id":"components/schemas/OrderPreview","kind":"json-schema","title":"OrderPreview","data":{"type":"object","required":["websiteId","items"],"properties":{"websiteId":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"items":{"description":"Items details.","type":"array","writeOnly":true,"minItems":1,"items":{"type":"object","required":["quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.\nEither this field or the `plan` object must be provided.\nUse `plan.id` instead.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X","deprecated":true},"plan":{"description":"Details of the plan.\nEither this object or the deprecated `planId` field must be provided.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000}},"oneOf":[{"required":["plan"],"properties":{"planId":{"not":{}}}},{"required":["planId"],"properties":{"plan":{"not":{}}}},{"required":["plan","planId"]}]}},"billingAddress":{"description":"Billing address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"couponIds":{"type":"array","writeOnly":true,"description":"List of coupons that are applied to the order.","items":{"type":"string"}},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"lineItems":{"type":"array","description":"List of purchase items.","readOnly":true,"items":{"type":"object","properties":{"type":{"description":"Type of transaction.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the purchase item.","type":"string"},"unitPrice":{"description":"Unit price of the purchase item.","type":"number","format":"double","example":49.95},"quantity":{"description":"Total quantity of the purchase item.","type":"number","format":"integer"},"price":{"description":"Total cost of the purchase item.","type":"number","format":"double"},"planId":{"type":"string","description":"ID of the related plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}},"shippingRates":{"type":"array","description":"Available shipping rates.","readOnly":true,"items":{"$ref":"#/components/schemas/ShippingOption"}},"taxes":{"type":"array","description":"Taxes applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"amount":{"description":"Amount of tax that is due.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."}}}},"discounts":{"type":"array","description":"Discounts applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"couponId":{"type":"string","description":"ID of a coupon that is associated with the purchase.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"amount":{"description":"Total amount of discount from the coupon.","type":"number","format":"double"},"description":{"description":"Description of the discount.","type":"string"}}}},"subtotalAmount":{"description":"Subtotal amount of the purchase.","type":"number","format":"double","readOnly":true},"taxAmount":{"description":"Tax amount of the purchase.","type":"number","format":"double","readOnly":true},"shippingAmount":{"description":"Shipping amount of the purchase.","type":"number","format":"double","readOnly":true},"discountsAmount":{"description":"Total discount amount of the purchase.","type":"number","format":"double","readOnly":true},"total":{"description":"Total amount of the purchase.","type":"number","format":"double","readOnly":true},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.\nThis displays the amount the customer pays initially.","readOnly":true,"properties":{"amount":{"description":"Total amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the order does not have recurring items, the value of this field is `null`.","readOnly":true,"properties":{"amount":{"description":"Total amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"}}},"shipping":{"writeOnly":true,"$ref":"#/components/schemas/Shipping"}}}},"components/schemas/GlobalEventType":{"id":"components/schemas/GlobalEventType","kind":"json-schema","title":"GlobalEventType","data":{"type":"string","description":"Type of event.","enum":["aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","autodeposit-lookup-performed","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-tax-number-validated","customer-updated","data-export-completed","data-export-failed","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-archived","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled","lead-source-changed","offsite-payment-completed","order-abandon-reminder","order-abandoned","order-completed","order-delinquency-reached","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","payout-request-canceled","payout-request-changed","payout-request-created","payout-request-fulfilled","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-timeout-resolved","transaction-voided","trial-usage-limit-reached","waiting-gateway-transaction-completed"]}},"components/schemas/GlobalWebhook":{"id":"components/schemas/GlobalWebhook","kind":"json-schema","title":"GlobalWebhook","data":{"type":"object","required":["method","url","credentialHash"],"properties":{"id":{"type":"string","description":"ID of the webhook.","readOnly":true,"maxLength":50,"example":"hook_0YVBG8S0K0DG59J6S3RMN9K452"},"eventsFilter":{"description":"Event types that trigger the webhook.\nIf empty, all event types trigger the webhook.","type":"array","default":[],"items":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]}},"status":{"x-basic":true,"type":"string","default":"active","enum":["active","inactive"]},"method":{"type":"string","x-basic":true,"enum":["GET","POST","PUT","PATCH","DELETE"]},"url":{"description":"URL that receives requests when a specified event occurs.","type":"string","format":"uri"},"headers":{"description":"Headers to include in the webhook request.","type":"array","items":{"type":"object","description":"Header to include in the webhook request.","properties":{"name":{"description":"Name of the header.","type":"string","pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","example":"Content-Type"},"status":{"description":"Status of the header.","type":"string","default":"active","enum":["active","inactive"]},"value":{"description":"Value of the header.\nTemplate placeholders are permitted.\nIf the value renders as an empty string, the header is not sent.","type":"string","example":"value1"}},"required":["name","value"]}},"credentialHash":{"type":"string","description":"Credential hash for authenticating requests to the URL."},"body":{"description":"Webhook request body.\nIf this value is `null`,\nthe default payload for the specified event is used.\nTemplate placeholders are permitted.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.\n\nFor more information,\nsee [Placeholders](https://www.rebilly.com/docs/automations/email-notifications/#placeholders).","type":["string","null"]},"filter":{"description":"Filter that determines whether to send the webhook.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"x-label":"Last update time","$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Profile":{"id":"components/schemas/Profile","kind":"json-schema","title":"Profile","data":{"type":"object","properties":{"id":{"description":"ID of the user.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"email":{"description":"Email address of the user.","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":"User's business phone number.","readOnly":true,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","readOnly":true,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","type":"string","readOnly":true},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"status":{"description":"Status of the user account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","readOnly":true,"type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"hasPermissionsEmulation":{"type":"boolean","description":"Specifies if the current user session has permissions emulation enabled.","readOnly":true},"mfaRequiredByOrganization":{"type":"boolean","description":"Specifies if the user is in an organization in the current environment that requires multi-factor authentication (MFA).\nDeactivated organizations are not included.\nThe requirement is enforced on each request to an organization that requires MFA, regardless of this value.\nThis value is `false` for API key and service account sessions.","readOnly":true,"default":false},"displayName":{"type":"string","description":"User's full display name.","readOnly":true},"hash":{"type":"string","description":"Unique hash value that represents the user.","readOnly":true},"requiresCardOnFile":{"type":"boolean","description":"Specifies whether the current organization must have a payment card on file before it can transact in the live environment.","readOnly":true,"default":false},"hasCardOnFile":{"type":"boolean","description":"Specifies whether the current organization has an active payment card on file.","readOnly":true,"default":false},"billingManagementToken":{"type":["string","null"],"format":"password","description":"Session token used to manage the payment method on file for a Rebilly subscription.\nThis value is returned only to organization owners.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true},"pastDueInvoice":{"type":["object","null"],"description":"Details of the oldest past-due invoice for the Rebilly subscription associated with the current organization.\nThis value is returned to all organization members to support consistent enforcement of the billing gate.\nThe `token` is returned only to organization owners.","readOnly":true,"required":["invoiceId","websiteId","token"],"properties":{"invoiceId":{"type":"string","description":"ID of the past-due invoice.","maxLength":50,"readOnly":true},"websiteId":{"type":"string","description":"ID of the website for the invoice.","maxLength":50,"readOnly":true},"token":{"type":["string","null"],"format":"password","description":"JWT that is used to authorize payment of the invoice through the Rebilly Instruments JavaScript library.\nThis value is `null` for non-owners, who cannot pay the invoice.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/Role":{"id":"components/schemas/Role","kind":"json-schema","title":"Role","data":{"type":"object","required":["name","acl"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the role.","maxLength":50,"example":"role_0YVDN2J11HDMX9N8X7DCB4CMX2"},"name":{"type":"string","description":"Name of the user role.","minLength":1,"maxLength":50},"description":{"type":["string","null"],"description":"Description of the role.","maxLength":65535},"acl":{"$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"seniorIds":{"type":"array","description":"List of role IDs where this role is used.\nFor example, a role called `user` may be used in the `admin` and `manager` roles.","readOnly":true,"items":{"type":"string"}},"juniorIds":{"type":"array","description":"List of role IDs that are included in this role.\nFor example, a role called `admin` may include the `user` and `manager` roles.","items":{"type":"string"}},"usersCount":{"type":"integer","readOnly":true,"description":"Number of users assigned to this role."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","seniorRoles","juniorRoles"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"juniors":{"type":"array"}}}}}},"components/schemas/SecuritySettings":{"id":"components/schemas/SecuritySettings","kind":"json-schema","title":"SecuritySettings","data":{"type":"object","required":["requireMfa"],"properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly UI.","default":false},"mfaAdoption":{"type":["object","null"],"readOnly":true,"description":"Number of users who have set up multi-factor authentication (MFA), excluding Rebilly staff.\nPending invitations are counted as users without MFA.\nThis value is `null` when this information is temporarily unavailable.","required":["enrolled","total","pending"],"properties":{"enrolled":{"type":"integer","description":"Number of active users who have multi-factor authentication (MFA) set up."},"total":{"type":"integer","description":"Number of active users and pending invitations."},"pending":{"type":"integer","description":"Number of pending invitations included in `total`.\nInvited users must set up multi-factor authentication (MFA) after they accept the invitation."}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/SendThroughAttribution":{"id":"components/schemas/SendThroughAttribution","kind":"json-schema","title":"SendThroughAttribution","data":{"type":"object","description":"Email notification sent through attribution.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"actionId":{"type":"string","format":"uuid","description":"Action ID of the email notification."},"versionId":{"type":"string","format":"uuid","description":"Version ID of the email notification."},"sent":{"type":"integer","minimum":0,"description":"Number of email notifications that have been sent."},"goal":{"type":"integer","minimum":0,"description":"Target number of email notifications to send."}}}},"components/schemas/Status":{"id":"components/schemas/Status","kind":"json-schema","title":"Status","data":{"type":"object","properties":{"status":{"description":"Status of the Rebilly API.\nIf the API is operational, this value is `ok`.","type":"string","readOnly":true,"enum":["ok"]},"time":{"description":"Current date and time.","$ref":"#/components/schemas/ServerTimestamp"},"release":{"description":"Current release version of the API.","type":"string"}}}},"components/schemas/ApiTracking":{"id":"components/schemas/ApiTracking","kind":"json-schema","title":"ApiTracking","data":{"type":"object","description":"API request tracking.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","description":"Response code of the HTTP request."},"url":{"type":"string","x-basic":true,"description":"URL of the HTTP request."},"route":{"type":"string","description":"API request route.","example":"/customers/{param}"},"method":{"type":"string","description":"HTTP method of the API request.","enum":["HEAD","GET","POST","PUT","DELETE","PATCH"],"x-basic":true},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"user":{"type":"object","description":"User who made the request.","readOnly":true,"properties":{"userId":{"type":"string","description":"ID of the user.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"apiKeyId":{"type":"string","description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"email":{"description":"Email address of the user.","type":"string","format":"email"},"firstName":{"description":"First name of the user.","type":"string"},"lastName":{"description":"Last name of the user.","type":"string"},"ipAddress":{"type":"string","deprecated":true,"description":"Client IP address.","format":"ipv4"},"userAgent":{"description":"Software that is acting on behalf of the user.","type":"string"},"fingerprint":{"description":"User's device fingerprint hash.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","type":"string"},"isSupport":{"description":"Specifies if the API request is completed by a Rebilly Support Team member.","type":"boolean"}}},"authenticationMethod":{"description":"Authentication method of the API request.\nThis value is `null` if the request is unauthenticated.","type":["string","null"],"readOnly":true,"enum":["secret-api-key","signature","jwt-user","jwt-customer","publishable-key","jwt-guest","jwt-application","jwt-service-account",null],"x-enumDescriptions":{"secret-api-key":"Secret API key.","signature":"Request signed with a secret API key in the `REB-AUTH` header.","jwt-user":"JSON Web Token (JWT) of a user.","jwt-customer":"JWT of a customer.","publishable-key":"Publishable API key.","jwt-guest":"JWT of a guest session.","jwt-application":"JWT of an application instance.","jwt-service-account":"JWT of a service account.","null":"Unauthenticated request."}},"ipAddress":{"type":"string","x-basic":true,"description":"Client IP address."},"relatedResourceIds":{"type":"array","description":"IDs of related resources.","readOnly":true,"items":{"type":"string"},"example":["in_0YVF9605RKC62BP14NE2R7V2XT","cus_0YV7DDSDD1C8DA64KHH2W33CPF"]},"duration":{"type":"integer","x-sortable":true,"x-basic":true,"description":"Request duration in milliseconds."},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"organization":{"type":"object"}}}}}},"components/schemas/TaxTracking":{"id":"components/schemas/TaxTracking","kind":"json-schema","title":"TaxTracking","data":{"type":"object","description":"Tax service tracking logs.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","x-sortable":true,"description":"Response code of the HTTP request."},"duration":{"type":"integer","x-sortable":true,"description":"Duration of the HTTP request in milliseconds."},"initiatedTime":{"description":"Date and time the HTTP request is initiated.","x-sortable":true,"$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","x-sortable":true,"description":"URL of the tax service endpoint."},"method":{"type":"string","x-sortable":true,"description":"Method of the HTTP request.","example":"POST"},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","x-sortable":true,"description":"ID of the resource associated with the tax service request."},"organizationId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"taxService":{"type":"string","x-sortable":true,"description":"Name of the tax service used for the request.","enum":["taxjar","avalara"]},"taxServiceCredentialSource":{"type":"string","x-sortable":true,"description":"Source of the credentials that are used to send or retrieve data.","enum":["default","merchant"]},"customerId":{"type":"string","description":"ID of the customer associated with the tax service request."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/CreatedTimeNoSort":{"id":"components/schemas/CreatedTimeNoSort","kind":"json-schema","title":"CreatedTimeNoSort","data":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Creation Time"}},"components/schemas/UpdatedTimeNoSort":{"id":"components/schemas/UpdatedTimeNoSort","kind":"json-schema","title":"UpdatedTimeNoSort","data":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"}},"components/schemas/WebhookTracking":{"id":"components/schemas/WebhookTracking","kind":"json-schema","title":"WebhookTracking","data":{"type":"object","description":"Webhook tracking log.\nThis log contains information about a webhook request and its response.","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the webhook tracking log.","maxLength":50,"example":"hook_log_01HXC7HJ1V2FNJD1R396WCG2HB"},"status":{"type":"integer","description":"Response code of the webhook request."},"duration":{"type":"integer","description":"Duration of the webhook request in milliseconds."},"initiatedTime":{"description":"Date and time when the webhook is initiated.","$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","description":"URL that receives the webhook."},"method":{"type":"string","description":"HTTP method for sending the webhook.","example":"POST"},"request":{"type":"string","description":"Payload of the webhook request."},"response":{"type":"string","description":"Response body from the webhook URL."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","description":"ID of the main entity related to the event type."},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"eventType":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]},"source":{"type":"string","description":"Source that triggered the webhook.","enum":["webhooks","rules"]},"attempt":{"type":"integer","description":"Number of attempts to send the webhook."},"sentTime":{"description":"Date and time when the webhook is sent.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTimeNoSort"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTimeNoSort"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/User":{"id":"components/schemas/User","kind":"json-schema","title":"User","data":{"type":"object","required":["email","firstName","lastName"],"properties":{"id":{"type":"string","description":"ID of the user.","readOnly":true,"maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"email":{"description":"Email address of the user.","type":"string","format":"email","maxLength":80},"firstName":{"description":"User's first name.","type":"string","minLength":1,"maxLength":45},"lastName":{"description":"User's last name.","type":"string","minLength":1,"maxLength":45},"businessPhone":{"description":"User's business phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","$ref":"#/components/schemas/AclPermissions"},"computedPermissions":{"description":"All user permissions and roles.\nUse these permissions to emulate the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","readOnly":true,"type":"string"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"status":{"description":"Status of the user's account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"roleIds":{"type":"array","description":"Role IDs associated with the user.\nRole IDs specify the roles that the user performs within the organization.\nFor example, the user may be an organization admin.","items":{"type":"string"}},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"mfaEnabled":{"type":["boolean","null"],"readOnly":true,"description":"Specifies if the user has multi-factor authentication (MFA) set up.\nThis value is present only in responses from the [Retrieve a list of users](https://www.rebilly.com/catalog/all/users/getusercollection) operation\nfor an organization that has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings),\nand is omitted for Rebilly staff.\nThis value is `null` when this information is temporarily unavailable."},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/DashboardTile":{"id":"components/schemas/DashboardTile","kind":"json-schema","title":"DashboardTile","data":{"type":"object","required":["metric"],"properties":{"metric":{"type":"string","description":"Metric displayed in the tile.\nPublicly supported values are defined in `DashboardMetric`.\nAdditional values are accepted."},"title":{"type":["string","null"],"description":"Custom tile title.","minLength":2,"maxLength":36},"description":{"type":["string","null"],"description":"Custom tile description.","minLength":2,"maxLength":48},"dateRange":{"type":["string","null"],"description":"Date range of the tile, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nWhen omitted, the dashboard `dateRange` is used.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`."},"columnsWidth":{"type":"integer","description":"Number of dashboard columns that the tile occupies.","minimum":1,"maximum":2,"default":1},"periodStart":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period starts.\nThe value is resolved from the tile `dateRange`.\nThis value is `null` when the tile does not define its own `dateRange`."},"periodEnd":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period ends.\nThe value is resolved from the tile `dateRange`. \nThis value is `null` when the tile does not define its own `dateRange`."}}}},"components/schemas/DashboardTab":{"id":"components/schemas/DashboardTab","kind":"json-schema","title":"DashboardTab","data":{"type":"object","required":["title","tiles"],"properties":{"title":{"type":"string","description":"Title of the dashboard tab.","minLength":2,"maxLength":12,"example":"KYC"},"tiles":{"type":"array","description":"List of tiles displayed on the dashboard tab.","maxItems":20,"items":{"$ref":"#/components/schemas/DashboardTile"}},"preset":{"type":["string","null"],"description":"Specifies which preset the tab is associated with.\nThe preset is independent of the tiles configured on the tab.","enum":["Payments","Billing","KYC"]}}}},"components/schemas/ProfileDashboard":{"id":"components/schemas/ProfileDashboard","kind":"json-schema","title":"ProfileDashboard","data":{"type":"object","required":["tabs"],"properties":{"dateRange":{"type":"string","description":"Date range of the dashboard, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nThis range applies to every tile that does not define its own `dateRange`.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`.","default":"NOW-P1M/NOW"},"periodStart":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period starts.\nThe value is resolved from `dateRange`."},"periodEnd":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period ends.\nThe value is resolved from `dateRange`."},"tabs":{"type":"array","description":"List of dashboard tabs.","maxItems":10,"items":{"$ref":"#/components/schemas/DashboardTab"}}}}},"components/schemas/DashboardMetric":{"id":"components/schemas/DashboardMetric","kind":"json-schema","title":"DashboardMetric","data":{"type":"string","description":"Type of dashboard metric.","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","monthlyRecurringRevenue","annualRecurringRevenue","averageRevenuePerCustomer","customerLifetimeValue","addressProofAcceptanceRate","identityProofAcceptanceRate","fundsProofAcceptanceRate","purchaseProofAcceptanceRate","creditFileProofAcceptanceRate","kycAcceptanceRate","kycReviewTime","kycRejectionRate","kycAccuracyRate","addressProofAccuracyRate","identityProofAccuracyRate","creditFileProofAccuracyRate","kycRequestCount","kycRequestAbandonmentRate","kycRequestAttemptedRate","kycRequestFailureRate","kycRequestFulfillmentRate","kycRequestExpirationRate"]}},"components/schemas/DashboardTileReport":{"id":"components/schemas/DashboardTileReport","kind":"json-schema","title":"DashboardTileReport","data":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"value":{"type":["number","null"],"format":"double","description":"Tile value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Tile value for the previous date range.\nThis value is relative to the specified date range."},"timeseries":{"description":"Time series of tile values across the specified date range.","type":"array","maxItems":100,"items":{"type":"object","description":"Chart data point.","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of the entry."},"value":{"type":["number","null"],"description":"Value of the entry."}}}}}}},"components/schemas/DataExportArguments":{"id":"components/schemas/DataExportArguments","kind":"json-schema","title":"DataExportArguments","data":{"type":"object","description":"Export request arguments used to filter and sort the result set.\nFor more information, see [Arguments](/docs/dev-docs/export-configuration/#arguments).","properties":{"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"sort":{"type":"string","description":"Sorts and orders the collection of items.\nTo sort in descending order, prefix with `-`."},"q":{"type":"string","description":"Use this field to perform a partial search of text fields."}}}},"components/schemas/DataExportRecurring":{"id":"components/schemas/DataExportRecurring","kind":"json-schema","title":"DataExportRecurring","data":{"description":"Recurring export schedule.","type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","description":"Schedule instruction in [Recurrence Rule RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) format."},"start":{"type":"string","format":"date-time","description":"Date and time when the first scheduled recurring export occurs.\nThe default value is now."}}}},"components/schemas/DataExportFileId":{"id":"components/schemas/DataExportFileId","kind":"json-schema","title":"DataExportFileId","data":{"type":["string","null"],"description":"ID of the data export file.\nIf the export contains more than 1,000,000 records,\nthe file is a ZIP archive.\nThe archive contains numbered part files,\nsuch as `example-part1.csv` and `example-part2.csv`,\neach with a maximum of 1,000,000 records.\nEach part file can be processed independently:\n\n- `csv` and `detailed-csv` part files repeat the header row.\n- `json` and `json-api` part files contain a complete array.\n- `xml` part files contain their own root element.\n\n`pdf` exports are always a ZIP archive that contains one PDF per record,\nand are never split into part files.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"components/schemas/DataExportFailureReason":{"id":"components/schemas/DataExportFailureReason","kind":"json-schema","title":"DataExportFailureReason","data":{"description":"Reason the export failed, if the export status is `failed`.","readOnly":true,"type":["string","null"],"enum":["record-limit-exceeded","max-retries-reached",null],"x-enumDescriptions":{"record-limit-exceeded":"Export exceeded the maximum number of records allowed for a single export.","max-retries-reached":"Export failed after the maximum number of retry attempts."}}},"components/schemas/DataExportDateRange":{"id":"components/schemas/DataExportDateRange","kind":"json-schema","title":"DataExportDateRange","data":{"type":"object","description":"Date range of the data export.\nIf this value is not set, all data is included.\nFor more information, see [Date ranges](/docs/dev-docs/export-configuration/#date-ranges).","properties":{"start":{"type":"string","description":"Start date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"yesterday"},"end":{"type":"string","description":"End date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"today"},"field":{"type":"string","description":"Field to which the date range is applied."}},"required":["start","end"]}},"components/schemas/CustomersDataExport":{"id":"components/schemas/CustomersDataExport","kind":"json-schema","title":"CustomersDataExport","data":{"type":"object","description":"Customer resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["customers"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/SubscriptionsDataExport":{"id":"components/schemas/SubscriptionsDataExport","kind":"json-schema","title":"SubscriptionsDataExport","data":{"type":"object","description":"Order resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["subscriptions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/TransactionsDataExport":{"id":"components/schemas/TransactionsDataExport","kind":"json-schema","title":"TransactionsDataExport","data":{"type":"object","description":"Transaction resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["transactions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"processedTime","example":"processedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/InvoicesDataExport":{"id":"components/schemas/InvoicesDataExport","kind":"json-schema","title":"InvoicesDataExport","data":{"type":"object","description":"Invoice resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoices"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","pdf","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/InvoiceItemsDataExport":{"id":"components/schemas/InvoiceItemsDataExport","kind":"json-schema","title":"InvoiceItemsDataExport","data":{"type":"object","description":"Invoice item resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoiceItems"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/AmlChecksDataExport":{"id":"components/schemas/AmlChecksDataExport","kind":"json-schema","title":"AmlChecksDataExport","data":{"type":"object","description":"AML checks resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["amlChecks"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/DisputesDataExport":{"id":"components/schemas/DisputesDataExport","kind":"json-schema","title":"DisputesDataExport","data":{"type":"object","description":"Dispute resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["disputes"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/JournalRecordsDataExport":{"id":"components/schemas/JournalRecordsDataExport","kind":"json-schema","title":"JournalRecordsDataExport","data":{"type":"object","description":"Journal record resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["journalRecords"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/PayoutRequestsDataExport":{"id":"components/schemas/PayoutRequestsDataExport","kind":"json-schema","title":"PayoutRequestsDataExport","data":{"type":"object","description":"Payout requests resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequests"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/PayoutRequestAllocationsDataExport":{"id":"components/schemas/PayoutRequestAllocationsDataExport","kind":"json-schema","title":"PayoutRequestAllocationsDataExport","data":{"type":"object","description":"Payout request allocations resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequestAllocations"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/UsersDataExport":{"id":"components/schemas/UsersDataExport","kind":"json-schema","title":"UsersDataExport","data":{"type":"object","description":"Users resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["users"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}}},"components/schemas/DataExport":{"id":"components/schemas/DataExport","kind":"json-schema","title":"DataExport","data":{"type":"object","discriminator":{"propertyName":"resource","mapping":{"customers":"#/components/schemas/CustomersDataExport","subscriptions":"#/components/schemas/SubscriptionsDataExport","transactions":"#/components/schemas/TransactionsDataExport","invoices":"#/components/schemas/InvoicesDataExport","invoiceItems":"#/components/schemas/InvoiceItemsDataExport","amlChecks":"#/components/schemas/AmlChecksDataExport","disputes":"#/components/schemas/DisputesDataExport","journalRecords":"#/components/schemas/JournalRecordsDataExport","payoutRequests":"#/components/schemas/PayoutRequestsDataExport","payoutRequestAllocations":"#/components/schemas/PayoutRequestAllocationsDataExport","users":"#/components/schemas/UsersDataExport"}},"oneOf":[{"$ref":"#/components/schemas/CustomersDataExport"},{"$ref":"#/components/schemas/SubscriptionsDataExport"},{"$ref":"#/components/schemas/TransactionsDataExport"},{"$ref":"#/components/schemas/InvoicesDataExport"},{"$ref":"#/components/schemas/InvoiceItemsDataExport"},{"$ref":"#/components/schemas/AmlChecksDataExport"},{"$ref":"#/components/schemas/DisputesDataExport"},{"$ref":"#/components/schemas/JournalRecordsDataExport"},{"$ref":"#/components/schemas/PayoutRequestsDataExport"},{"$ref":"#/components/schemas/PayoutRequestAllocationsDataExport"},{"$ref":"#/components/schemas/UsersDataExport"}]}},"components/schemas/DataExportLimitExceeded":{"id":"components/schemas/DataExportLimitExceeded","kind":"json-schema","title":"DataExportLimitExceeded","data":{"allOf":[{"title":"Data export limit exceeded"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Machine-readable error code for this problem type, which consumers use to handle the failure programmatically.","enum":["data-export-limit-exceeded"]},"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/DetailedProblem"},{"type":"object","required":["matchedRecords","maxRecords"],"properties":{"matchedRecords":{"type":"integer","description":"Number of records that match the export request.","example":12500000},"maxRecords":{"type":"integer","description":"Maximum number of records for a single export.","example":10000000}}}]}},"components/schemas/OrganizationExport":{"id":"components/schemas/OrganizationExport","kind":"json-schema","title":"OrganizationExport","data":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","description":"Unique resource ID.","maxLength":50,"example":"org_exp_01HXC7MKK4GCS6WRRXY4X9CRMK"},"userId":{"description":"ID of the user who requested the organization data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"type":["string","null"],"description":"ID of the linked file object.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"status":{"description":"Status of organization data export request.","readOnly":true,"type":"string","enum":["pending","processing","completed","queued","failed","expired"]},"resources":{"description":"Organization data export resources array.","readOnly":true,"type":"array","items":{"type":"object","properties":{"type":{"description":"Exported resource.","readOnly":true,"type":"string","enum":["customers","users","payment-instruments","invoices","orders","transactions","disputes","gateway-accounts","blocklists","lists","webhooks","products","websites","plans","credit-memos","files","email-notifications"],"x-enumDescriptions":{"customers":"All customers of the organization.","users":"All users of the organization.","payment-instruments":"All payment instruments of the organization.","invoices":"All invoices of the organization.","orders":"All orders of the organization.","transactions":"All transactions of the organization.","disputes":"All disputes of the organization.","gateway-accounts":"All gateway accounts of the organization.","blocklists":"All blocklists of the organization.","lists":"All lists of the organization.","webhooks":"All webhooks of the organization.","products":"All products of the organization.","websites":"All websites of the organization.","plans":"All plans of the organization.","credit-memos":"All credit-memos of the organization.","files":"All files of the organization.","email-notifications":"All email-notifications of the organization."}},"recordCount":{"description":"Number of exported resources.","readOnly":true,"type":"integer"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"retentionTime":{"description":"Date and time when retention ends.\nAfter this date, files are removed.","readOnly":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","signedLink"]}}}}}}},"components/schemas/HistogramData":{"id":"components/schemas/HistogramData","kind":"json-schema","title":"Histogram data","data":{"title":"Histogram data","type":"object","properties":{"data":{"description":"Histogram data.","type":"array","items":{"type":"object","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of data entry."},"value":{"type":"number","description":"Data entry value."}}}}}}},"components/schemas/ApiLogSummary":{"id":"components/schemas/ApiLogSummary","kind":"json-schema","title":"ApiLogSummary","data":{"type":"object","properties":{"data":{"description":"API log summary data.","type":"array","items":{"type":"object","description":"Number of requests for each method.","readOnly":true,"properties":{"route":{"type":"string","description":"Route string pattern."},"total":{"type":"integer","description":"Total number of requests."},"get":{"type":"integer","description":"Total number of `GET` requests."},"post":{"type":"integer","description":"Total number of `POST` requests."},"put":{"type":"integer","description":"Total number of `PUT` requests."},"patch":{"type":"integer","description":"Total number of `PATCH` requests."},"delete":{"type":"integer","description":"Total number of `DELETE` requests."},"head":{"type":"integer","description":"Total number of `HEAD` requests."},"options":{"type":"integer","description":"Total number of `OPTIONS` requests."}}}}}}},"components/schemas/ReportAmlChecks":{"id":"components/schemas/ReportAmlChecks","kind":"json-schema","title":"ReportAmlChecks","data":{"type":"object","properties":{"total":{"description":"Total number of checks.","type":"integer"},"propagated":{"description":"Total number of propagated checks.","type":"integer"},"resulted":{"description":"Total number of resulted checks.","type":"integer"},"pending":{"description":"Total number of pending checks.","type":"integer"}}}},"components/schemas/ReportAmlChecksInheritedSummary":{"id":"components/schemas/ReportAmlChecksInheritedSummary","kind":"json-schema","title":"ReportAmlChecksInheritedSummary","data":{"type":"object","description":"Summary of inherited AML checks, grouped by provenance reason.","properties":{"totalInherited":{"description":"Number of AML checks in the period that have inherited status.","type":"integer"},"categories":{"description":"Categories of inherited checks, grouped by provenance reason.","type":"array","items":{"type":"object","properties":{"reason":{"description":"Provenance reason code for the inherited status.","type":"string"},"count":{"description":"Number of inherited checks for this reason code.","type":"integer"},"percentage":{"description":"Percentage of inherited checks for this reason code, calculated as a proportion of `totalInherited`.","type":"number","format":"float"}},"required":["reason","count","percentage"]}}},"required":["totalInherited","categories"]}},"components/schemas/ReportAmlAuditReport":{"id":"components/schemas/ReportAmlAuditReport","kind":"json-schema","title":"ReportAmlAuditReport","data":{"type":"object","description":"AML audit report for a person.","properties":{"personId":{"type":"string","description":"ID of the person associated with the report.","maxLength":50},"status":{"type":["string","null"],"description":"Person-level AML screening status for the selected period.","enum":["clear","confirmed-match","pending-review"]},"linkedCustomers":{"type":"array","description":"Customers linked to the person.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"}},"required":["id","websiteId"]}},"summary":{"type":"object","description":"Screening summary metrics for the selected period.","properties":{"totalChecks":{"type":"integer","description":"Total number of AML checks in the selected period."},"hitCount":{"type":"integer","description":"Number of AML hits across all checks in the selected period."},"lastCheckTime":{"type":["string","null"],"format":"date-time","description":"Date and time of the most recent AML check in the selected period."}},"required":["totalChecks","hitCount","lastCheckTime"]},"screeningHistory":{"type":"array","description":"AML screening history for the selected period.","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the AML check.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"hitSources":{"type":["string","null"],"description":"Comma-separated list of AML Hit sources for the AML check.\n\nThe value is `null` if the AML Check did not find any hits."},"result":{"type":"string","description":"Screening result for the AML check.","enum":["clear","confirmed-match","pending-review"]},"reviewer":{"type":["string","null"],"description":"Name of the reviewer, `bot` for checks that run automatically, or `null` when the check hasn't been reviewed yet."}},"required":["id","createdTime","updatedTime","customerId","source","hitSources","result","reviewer"]}},"transactions":{"type":"array","description":"Transactions for customers linked to the person in the selected period.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"amount":{"type":"number","description":"Transaction amount converted to the report currency of the organization."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["approved","canceled","declined","unknown"]}},"required":["id","customerId","createdTime","updatedTime","amount","currency","type","status","result"]}},"periodStart":{"type":"string","format":"date-time","description":"Start date time of the report period."},"periodEnd":{"type":"string","format":"date-time","description":"End date time of the report period."},"truncated":{"type":"boolean","description":"Indicates whether any list within the report is truncated due to too many results."}},"required":["personId","status","linkedCustomers","summary","screeningHistory","transactions","periodStart","periodEnd","truncated"]}},"components/schemas/CumulativeSubscriptions":{"id":"components/schemas/CumulativeSubscriptions","kind":"json-schema","title":"CumulativeSubscriptions","data":{"type":"object","properties":{"data":{"description":"Cumulative subscription data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format for monthly aggregation, or `YYYY-MM-DD` for 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":"Total number of cumulative subscriptions.\n\nThis field is calculated based on: the number of cumulative subscriptions from the previous aggregation period + `newCount` - `canceledCount`."}}}}}}},"components/schemas/DashboardResponse":{"id":"components/schemas/DashboardResponse","kind":"json-schema","title":"DashboardResponse","data":{"type":"array","items":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"humanName":{"type":"string","description":"Display name of the metric."},"increaseIsGood":{"type":"boolean","description":"Specifies whether a higher value is a positive result for the merchant."},"segments":{"type":"array","description":"Segment data.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the segment."},"value":{"type":["number","null"],"format":"double","description":"Segment value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Segment value for the previous date range.\nThis value is relative to the specified date range."},"humanValue":{"type":["string","null"],"description":"Human readable segment value.\nThis field is formatted with a currency sign."},"changeRatio":{"type":["number","null"],"format":"double","description":"Ratio of the current value for each previous value.\nA null value represents infinity."},"humanChangeRatio":{"type":["string","null"],"description":"Human readable change ratio.\nThis field is formatted percentage sign.\nA null value represents infinity."},"timeseries":{"description":"Time series.","type":"array","items":{"type":"object","description":"Chart data.","readOnly":true,"properties":{"date":{"type":"string","description":"Entry date-time."},"value":{"type":["number","null"],"description":"Entry value."}}}}}}}}}}},"components/schemas/DccMarkup":{"id":"components/schemas/DccMarkup","kind":"json-schema","title":"DccMarkup","data":{"type":"object","properties":{"data":{"description":"Aggregation 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.\nDate values are displayed as follows:\n\n  - Day: `YYYY-MM-DD`.\n  - 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 are not selected nor rejected."},"unknownSum":{"type":"number","format":"double","description":"Amount of offers in the aggregation which are not selected nor rejected."}}}}}}},"components/schemas/ReportDeclinedTransactions":{"id":"components/schemas/ReportDeclinedTransactions","kind":"json-schema","title":"ReportDeclinedTransactions","data":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"message":{"description":"Description or message related to the declined transactions report.","type":"string","example":"error"},"count":{"description":"Number of declined transactions.","type":"integer","example":500},"percentage":{"description":"Percentage of declined transactions.","type":"number","format":"double","example":25}}}}}}},"components/schemas/ReportDeferredRevenue":{"id":"components/schemas/ReportDeferredRevenue","kind":"json-schema","title":"ReportDeferredRevenue","data":{"type":"object","properties":{"asOfDate":{"type":"string","format":"date","description":"Date up to which revenue is recognized for the report.","example":"2024-03-31"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"booked":{"type":"number","description":"Total booked amount as of the report date.","example":127850},"recognized":{"type":"number","description":"Total recognized amount as of the report date.","example":89495},"liability":{"type":"number","description":"Total liability amount as of the report date.","example":38355},"months":{"type":"array","description":"Monthly breakdown data.","items":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2024-03"},"bookedAsOfMonth":{"type":"number","description":"Cumulative booked amount as of the month.","example":127850},"bookedInMonth":{"type":"number","description":"Amount booked in the specific month.","example":24750},"recognizeAsOfMonth":{"type":"number","description":"Cumulative recognized amount as of the month.","example":89495},"recognizeInMonth":{"type":"number","description":"Amount recognized in the specific month.","example":18650},"liabilityAsOfMonth":{"type":"number","description":"Liability amount as of the specific month.","example":38355}}}}}}},"components/schemas/ReportDisputes":{"id":"components/schemas/ReportDisputes","kind":"json-schema","title":"ReportDisputes","data":{"type":"object","properties":{"data":{"type":"array","description":"Disputes data.","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"countVisa":{"description":"Total number of disputed Visa transactions.","type":"integer"},"ratioCountVisa":{"description":"Ratio of the total number of disputed Visa transactions versus the total number of settled Visa transactions.","type":"number","format":"double"},"ratioAmountVisa":{"description":"Ratio of disputed Visa transaction amounts versus settled Visa transaction amounts.","type":"number","format":"double"},"countMastercard":{"description":"Total number of disputed Mastercard transactions.","type":"integer"},"ratioCountMastercard":{"description":"Ratio of the total number of disputed Mastercard transactions versus the total number of settled Mastercard transactions.","type":"number","format":"double"},"ratioAmountMastercard":{"description":"Ratio of disputed Mastercard transaction amounts versus settled Mastercard transaction amounts.","type":"number","format":"double"}}}}}}},"components/schemas/ReportEventsTriggeredSummary":{"id":"components/schemas/ReportEventsTriggeredSummary","kind":"json-schema","title":"ReportEventsTriggeredSummary","data":{"type":"object","properties":{"data":{"type":"array","description":"Event data.","items":{"type":"object","properties":{"eventName":{"description":"Name of the system event.","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":"Total number of times this event is triggered.","type":"integer"}}}}}}},"components/schemas/ReportRulesMatchedSummary":{"id":"components/schemas/ReportRulesMatchedSummary","kind":"json-schema","title":"ReportRulesMatchedSummary","data":{"type":"object","properties":{"data":{"description":"Matched rule data.","type":"array","items":{"type":"object","properties":{"rule":{"description":"Name of the matched rule.","type":"string"},"count":{"description":"Total number of times this rule is matched.","type":"integer"},"approvalRate":{"description":"Rate of transaction approval by rule.","type":"number","format":"double"}}}}}}},"components/schemas/FutureRenewals":{"id":"components/schemas/FutureRenewals","kind":"json-schema","title":"FutureRenewals","data":{"type":"object","properties":{"data":{"description":"Future renewals data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM` format."},"sum":{"type":"number","format":"double","description":"Total amount of future renewals in the user's reporting currency."},"plansCount":{"type":"array","description":"Plan within the aggregation.","items":{"type":"object","readOnly":true,"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"count":{"type":"integer","description":"Total number of future renewals of a plan."}}}}}}}}}},"components/schemas/ReportJournal":{"id":"components/schemas/ReportJournal","kind":"json-schema","title":"ReportJournal","data":{"type":"object","properties":{"aggregationField":{"type":"string","description":"Report data grouped by aggregation field.","enum":["product.accountingCode","product.id","plan.id"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"bookedFrom":{"type":["string","null"],"description":"Year and month when revenue is booked.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"bookedTo":{"type":["string","null"],"description":"Year and month when revenue is booked until.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"recognizedAt":{"type":"string","description":"Year and month when revenue is recognized.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"data":{"description":"Revenue data.","type":"array","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.","type":"string"},"bookedMonth":{"description":"Month when revenue is booked.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"bookedAmount":{"description":"Revenue amount which is booked for recognition.","type":"number","format":"double","example":25},"recognizedAmount":{"description":"Amount of recognized revenue.","type":"number","format":"double","example":20},"remainingAmount":{"description":"Remaining revenue amount to be recognized.","type":"number","format":"double","example":5}}}}}}},"components/schemas/JournalSummaryReport":{"id":"components/schemas/JournalSummaryReport","kind":"json-schema","title":"JournalSummaryReport","data":{"type":"object","properties":{"aggregationField":{"description":"Journal account by which the report amounts are aggregated.","type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]},"amountField":{"description":"Journal record amount field which is used to calculate the report amounts.","type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"periodStart":{"description":"Year and month from which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"periodEnd":{"description":"Year and month up to which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-09"},"journalAccountIds":{"description":"Comma-separated list of journal account IDs which are provided to filter the report.\nA `null` value means that no value is provided and all journal accounts are included.","type":["string","null"],"example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"},"data":{"description":"Journal summary report data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Journal period month and year.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"totalAmount":{"description":"Total summary of journal records amount for the period.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"breakdown":{"description":"Breakdown of journal records by journal account.","type":"array","items":{"type":"object","properties":{"journalAccountId":{"description":"ID of the journal account.","type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J"},"recognizedAmount":{"description":"Amount of revenue recognized for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.recognizedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"estimatedAmount":{"description":"Amount of revenue estimated for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.estimatedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}}}}},"components/schemas/ReportKycRejections":{"id":"components/schemas/ReportKycRejections","kind":"json-schema","title":"ReportKycRejections","data":{"type":"object","properties":{"data":{"description":"Rejection data.","type":"array","items":{"type":"object","properties":{"documentType":{"$ref":"#/components/schemas/KycDocumentTypes"},"rejectionReasons":{"type":"array","description":"Rejection reasons.","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Total number of related KYC documents."}}}}}}}}}},"components/schemas/KycDocumentRequestStatuses":{"id":"components/schemas/KycDocumentRequestStatuses","kind":"json-schema","title":"KycDocumentRequestStatuses","data":{"description":"Reason the document is rejected.","type":"string","enum":["abandoned","expired","failed","fulfilled","pending-review"]}},"components/schemas/ReportKycRequests":{"id":"components/schemas/ReportKycRequests","kind":"json-schema","title":"ReportKycRequests","data":{"type":"object","properties":{"data":{"description":"Request data.","type":"array","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRequestStatuses"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Number of related KYC requests."}}}}}}},"components/schemas/ReportMonthlyRecurringRevenue":{"id":"components/schemas/ReportMonthlyRecurringRevenue","kind":"json-schema","title":"ReportMonthlyRecurringRevenue","data":{"type":"object","properties":{"data":{"description":"Monthly Recurring Revenue (MRR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Monthly Recurring Revenue (MRR) amount.","type":"number","format":"double","example":245},"breakdown":{"description":"MRR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total MRR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew MRR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new MRR amount of $40.","type":"number","format":"double","example":40},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation MRR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation MRR amount of $25.","type":"number","format":"double","example":25},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned MRR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned MRR amount of $80.","type":"number","format":"double","example":80},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller MRR.\nContraction MRR is the amount before the change minus the amount and after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction MRR amount of $20.","type":"number","format":"double","example":20},"expansion":{"description":"Occurs when existing customers change items which result in a bigger MRR.\nExpansion MRR is the amount after the change minus the amount and before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion MRR amount of $60.","type":"number","format":"double","example":60}}}}}}}}},"components/schemas/ReportAnnualRecurringRevenue":{"id":"components/schemas/ReportAnnualRecurringRevenue","kind":"json-schema","title":"ReportAnnualRecurringRevenue","data":{"type":"object","properties":{"data":{"description":"Annual Recurring Revenue (ARR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Annual Recurring Revenue (ARR) amount.","type":"number","format":"double","example":300},"breakdown":{"description":"ARR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total ARR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew ARR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new ARR amount of $480 ($40 multiplied by 12 months).","type":"number","format":"double","example":480},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation ARR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation ARR amount of $300 ($25 multiplied by 12 months).","type":"number","format":"double","example":300},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned ARR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned ARR amount of $960 ($80 multiplied by 12 months).","type":"number","format":"double","example":960},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller ARR.\nContraction ARR is the amount before the change minus the amount after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction ARR amount of $240 ($20 multiplied by 12 months).","type":"number","format":"double","example":240},"expansion":{"description":"Occurs when existing customers change items which result in a bigger ARR.\nExpansion ARR is the amount after the change minus the amount before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion ARR amount of $720 ($60 multiplied by 12 months).","type":"number","format":"double","example":720}}}}}}}}},"components/schemas/RenewalSales":{"id":"components/schemas/RenewalSales","kind":"json-schema","title":"RenewalSales","data":{"type":"object","properties":{"data":{"description":"Renewal sales data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format."},"newSales":{"type":"number","format":"double","description":"Total amount of new sales."},"newRefunds":{"type":"number","format":"double","description":"Total amount of new refunds."},"renewalSales":{"type":"number","format":"double","description":"Total amount of renewal sales."},"renewalRefunds":{"type":"number","format":"double","description":"Total amount of renewal refunds."}}}}}}},"components/schemas/ReportRetentionPercentage":{"id":"components/schemas/ReportRetentionPercentage","kind":"json-schema","title":"ReportRetentionPercentage","data":{"type":"object","properties":{"data":{"description":"Retention 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.\n\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`;\n- Month: `YYYY-MM`;\n- Quarter: `YYYY-MM`/`YYYY-MM`;\n- Year: `YYYY`."},"subscriptionsCount":{"type":"integer","description":"Number of subscriptions created within the aggregation."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\nPeriods are numbered as follows:\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionRatio":{"type":"number","format":"double","description":"Ratio percentage of active, non-canceled subscriptions in the retention period versus all subscriptions created in the aggregation period."},"canceledSubscriptionsCount":{"type":"integer","description":"Number of canceled subscriptions within the specified retention period."}}}}}}}}}},"components/schemas/ReportRetentionValue":{"id":"components/schemas/ReportRetentionValue","kind":"json-schema","title":"ReportRetentionValue","data":{"type":"object","properties":{"data":{"description":"Retention value 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.\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`.\n- Month: `YYYY-MM`.\n- Quarter: `YYYY-MM`/`YYYY-MM`.\n- Year: `YYYY`."},"customersCount":{"type":"integer","description":"Number of customers within the aggregation who make their first payment."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionAverage":{"type":"number","format":"double","description":"Summary amount of all transactions for all periods up to the current period divided by the aggregation customer number."},"transactionsCount":{"type":"integer","description":"Number of transactions that occurred within the retention period.\nFor example, in 3 rebills."},"transactionsValue":{"type":"number","format":"double","description":"Total value of transactions.\nThis value is calculated based on: `income transactions` minus `loss transactions`."}}}}}}}}}},"components/schemas/ReportRevenueWaterfall":{"id":"components/schemas/ReportRevenueWaterfall","kind":"json-schema","title":"ReportRevenueWaterfall","data":{"type":"array","items":{"type":"object","properties":{"issuedMonth":{"description":"Month when the revenue invoice is issued.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"booked":{"description":"Month when the revenue amount is booked.","type":"number","format":"double","example":25},"recognized":{"description":"Amount of recognized revenue amount up to, and including, the `recognizedTo` month.","type":"number","format":"double","example":20},"remaining":{"description":"Amount of revenue that remains to be recognized after the `recognizedTo` month.","type":"number","format":"double","example":5},"waterfall":{"type":"array","description":"Recognized revenue waterfall for each month.","items":{"type":"object","properties":{"recognizedMonth":{"description":"Month when revenue is recognized.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-04"},"amount":{"description":"Amount of revenue recognized at the `recognizedMonth`.","type":"number","format":"double"}}},"example":[{"recognizedMonth":"2022-02","amount":4.4},{"recognizedMonth":"2022-03","amount":8.33},{"recognizedMonth":"2022-04","amount":7.27}]}}}}},"components/schemas/SubscriptionCancellationReport":{"id":"components/schemas/SubscriptionCancellationReport","kind":"json-schema","title":"SubscriptionCancellationReport","data":{"type":"object","properties":{"data":{"description":"Subscription cancellation data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Aggregation value."},"count":{"type":"integer","description":"Total number 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."}}}}}}},"components/schemas/SubscriptionRenewal":{"id":"components/schemas/SubscriptionRenewal","kind":"json-schema","title":"SubscriptionRenewal","data":{"type":"object","properties":{"data":{"description":"Subscription renewal data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"planId":{"type":"string","description":"Plan ID for which subscriptions are counted.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"allRenewalCount":{"type":"integer","description":"Total number of renewed subscriptions."},"allDunningCount":{"type":"integer","description":"Total number of dunned subscriptions.\nDunning is the process of retrying unsuccessful payment transactions."},"abandonedCount":{"type":"integer","description":"Total number of abandoned subscriptions."},"paidRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal rate,\ndivide the value of this field by the `allRenewalCount` value."},"paidDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning success rate,\ndivide the value of this field by the `allDunningCount` value."},"refundedRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal refund rate,\ndivide the value of this field by the `allRenewalCount` value."},"refundedDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning refund rate,\ndivide the value of this field by the `allDunningCount` value."},"chargebackRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal chargeback rate,\ndivide the value of this field by the `allRenewalCount` value."},"chargebackDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning chargeback rate,\ndivide the value of this field by the `allDunningCount` value."}}}}}}},"components/schemas/ReportTax":{"id":"components/schemas/ReportTax","kind":"json-schema","title":"ReportTax","data":{"type":"object","properties":{"data":{"description":"Tax data.","type":"array","items":{"type":"object","properties":{"country":{"description":"Country to which the tax is owed, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","example":"US"},"state":{"description":"Postal abbreviated state name for the state to which the tax is owed.","type":"string","example":"TX"},"county":{"description":"Name of county to which the tax is owed.","type":"string","example":"TRAVIS"},"city":{"description":"Name of city to which the tax is owed.","type":"string","example":"AUSTIN"},"stateRate":{"description":"Percentage rate of state tax.","type":"number","format":"double"},"stateAmount":{"description":"Amount of state tax.","type":"number","format":"double"},"countyRate":{"description":"Percentage rate of county tax.","type":"number","format":"double"},"countyAmount":{"description":"Amount of county tax.","type":"number","format":"double"},"cityRate":{"description":"Percentage rate of city tax.","type":"number","format":"double"},"cityAmount":{"description":"Amount of city tax.","type":"number","format":"double"},"specialDistrictRate":{"description":"Percentage rate of special district tax.","type":"number","format":"double"},"specialDistrictAmount":{"description":"Amount of special district tax.","type":"number","format":"double"},"taxableSalesAmount":{"description":"Amount of taxable sales.","type":"number","format":"double"},"nontaxableSalesAmount":{"description":"Amount of nontaxable sales.","type":"number","format":"double"}}}}}}},"components/schemas/TimeSeriesTransaction":{"id":"components/schemas/TimeSeriesTransaction","kind":"json-schema","title":"TimeSeriesTransaction","data":{"type":"object","properties":{"data":{"description":"Time series data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM-DD` format."},"total":{"type":"number","format":"double","description":"Aggregated value for all transactions for the day, in the unit specified by the `type` parameter:\n  - `count`: Total number of transactions.\n  - `amount`: Total amount of approved transactions in the merchant reporting currency.\n  - `approval-rate`: Ratio of approved transactions to all transactions.\n  - `incomplete-rate`: Ratio of incomplete transactions to all transactions.\n\nThis value does not depend on the `subaggregate` parameter and is not the sum of the values in `subaggregates`.\nEach transaction is included once, even if the `subaggregate` field contains multiple values for the transaction.\nTransactions with no value for the `subaggregate` field are also included."},"subaggregates":{"type":"array","description":"Breakdown by the `subaggregate` field for the day.\nEach element contains one `subaggregate` value and its aggregated value.\nEach `subaggregate` value found in the report has an element,\nin the same order for each day.","items":{"type":"object","properties":{"subaggregate":{"type":"string","description":"One value of the `subaggregate` field, such as a website ID, a currency code, or a lead source."},"value":{"type":"number","format":"double","description":"Aggregated value for transactions that have this `subaggregate` value,\nin the same unit as `total`.\nThis value is `0` if no transactions have this `subaggregate` value."}}}}}}}}}},"components/schemas/ReportDisputeDelays":{"id":"components/schemas/ReportDisputeDelays","kind":"json-schema","title":"ReportDisputeDelays","data":{"type":"object","properties":{"data":{"description":"Dispute delay data.","type":"array","items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"25th":{"description":"Delay between dispute and transaction time at the 25th percentile.","type":"integer"},"50th":{"description":"Delay between dispute and transaction time at the 50th percentile.","type":"integer"},"75th":{"description":"Delay between dispute and transaction time at the 75th percentile.","type":"integer"}}}}}}},"components/schemas/ReportTransactions":{"id":"components/schemas/ReportTransactions","kind":"json-schema","title":"ReportTransactions","data":{"type":"object","properties":{"data":{"description":"Transaction data.","type":"array","readOnly":true,"items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.","type":"string"},"authApprovedThroughput":{"description":"Percentage of approved authentication transactions.","type":"number","format":"double"},"approvedThroughput":{"description":"Percentage of approved sale transactions.","type":"number","format":"double"},"authApprovalCount":{"description":"Total number of approved authentication transactions.","type":"integer"},"disputesRate":{"description":"Percentage of disputed sale and capture transactions.","type":"number","format":"double"},"disputesCount":{"description":"Total number of disputed sale and capture transactions.","type":"integer"},"salesCount":{"description":"Total number of sales.","type":"integer"},"salesValue":{"description":"Total sales value.","type":"number","format":"double"},"salesAverage":{"description":"Average sales value.","type":"number","format":"double"},"refundsCount":{"description":"Total number of refunds.","type":"integer"},"refundsValue":{"description":"Total value of refunds.","type":"number","format":"double"},"amount":{"description":"Amount of revenue.\nThis value is the result of `salesValue` minus `refundsValue`.","type":"number","format":"double"},"count":{"description":"Total number of transactions.","type":"number","format":"double"},"unapprovedCount":{"description":"Total number of unapproved transactions.","type":"number","format":"double"}}}}}}},"components/schemas/RiskScoreBoolean":{"id":"components/schemas/RiskScoreBoolean","kind":"json-schema","title":"RiskScoreBoolean","data":{"type":["object","null"],"required":["value"],"properties":{"value":{"type":"integer","description":"Value added to the risk score of the transaction."}}}},"components/schemas/RiskScoreBracket":{"id":"components/schemas/RiskScoreBracket","kind":"json-schema","title":"RiskScoreBracket","data":{"type":["object","null"],"required":["brackets"],"properties":{"brackets":{"description":"Risk factor values range with corresponding risk score increment value.\nThe first matched bracket is applied.","type":"array","minItems":1,"items":{"type":"object","required":["value"],"properties":{"start":{"description":"Minimal risk factor value when condition is applied.","type":["integer","null"],"minimum":0},"end":{"description":"Maximal risk factor value when condition is applied.","type":["integer","null"],"minimum":1},"value":{"type":"integer","description":"Value added to the risk score of the transaction."}},"oneOf":[{"required":["start"],"properties":{"end":{"not":{}}}},{"required":["end"],"properties":{"start":{"not":{}}}},{"required":["start","end"]}]}}}}},"components/schemas/RiskScoreRules":{"id":"components/schemas/RiskScoreRules","kind":"json-schema","title":"RiskScoreRules","data":{"type":"object","description":"Risk score rules.","required":["isProxy","isVpn","isTor","isHosting","hasMismatchedBillingAddressCountry","hasMismatchedBankCountry","hasMismatchedTimeZone","hasMismatchedHolderName","hasFakeName","isHighRiskCountry","paymentInstrumentVelocity","declinedPaymentInstrumentVelocity","deviceVelocity","ipVelocity","emailVelocity","billingAddressVelocity","isRebill","isRetry","customerLifetimeValue","browserAdBlockEnabled","paymentInstrumentApprovedTransactionCount","customerVelocity"],"properties":{"isProxy":{"description":"Specifies whether the customer's IP address is related to a proxy.","$ref":"#/components/schemas/RiskScoreBoolean"},"isVpn":{"description":"Specifies whether the customer's IP address is related to a VPN.","$ref":"#/components/schemas/RiskScoreBoolean"},"isTor":{"description":"Specifies whether the customer's IP address is related to TOR.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHosting":{"description":"Specifies whether the customer's IP address is related to hosting.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBillingAddressCountry":{"description":"Specifies whether the customer's billing address country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBankCountry":{"description":"Specifies whether the customer's bank country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedTimeZone":{"description":"Specifies whether the customer's browser time zone and the IP address associated time zone are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedHolderName":{"description":"Specifies whether the customer's billing address name and primary address name are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasFakeName":{"description":"Specifies whether the holder name seems fake.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHighRiskCountry":{"description":"Specifies whether the geo-IP country, or the customer's billing country, is considered a high risk country.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"isRebill":{"description":"Specifies whether the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","$ref":"#/components/schemas/RiskScoreBoolean"},"isRetry":{"description":"Specifies whether the transaction is a retry.","$ref":"#/components/schemas/RiskScoreBoolean"},"customerLifetimeValue":{"description":"Total revenue from the customer, in USD.","$ref":"#/components/schemas/RiskScoreBracket"},"browserAdBlockEnabled":{"description":"Specifies whether an ad blocker was detected.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","$ref":"#/components/schemas/RiskScoreBracket"},"customerVelocity":{"description":"Number of transactions for this customer in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"}}}},"components/schemas/RiskScoreBlocklistPermanentRule":{"id":"components/schemas/RiskScoreBlocklistPermanentRule","kind":"json-schema","title":"RiskScoreBlocklistPermanentRule","data":{"type":"object","description":"Rule that permanently blocklists items when TTL is equal to `0`.","required":["riskScoreThreshold"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1}}}},"components/schemas/RiskScoreBlocklistPermanentRules":{"id":"components/schemas/RiskScoreBlocklistPermanentRules","kind":"json-schema","title":"RiskScoreBlocklistPermanentRules","data":{"type":["object","null"],"description":"Items permanently blocklisted when TTL is equal to `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"paymentCard":{"description":"Payment card number being charged.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"}}}},"components/schemas/RiskScoreBlocklistTemporaryRule":{"id":"components/schemas/RiskScoreBlocklistTemporaryRule","kind":"json-schema","title":"RiskScoreBlocklistTemporaryRule","data":{"type":"object","description":"Items temporarily blocklisted when TTL is greater than `0`.","required":["riskScoreThreshold","ttl"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1},"ttl":{"type":"integer","description":"Amount of seconds a blocklist exists before it expires.\nThis value must be greater than 0.","minimum":1}}}},"components/schemas/RiskScoreBlocklistTemporaryRules":{"id":"components/schemas/RiskScoreBlocklistTemporaryRules","kind":"json-schema","title":"RiskScoreBlocklistTemporaryRules","data":{"type":["object","null"],"description":"Items temporarily blocklisted when TTL is greater than `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"paymentCard":{"description":"Payment card number for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"}}}},"components/schemas/RiskScoreBlocklist":{"id":"components/schemas/RiskScoreBlocklist","kind":"json-schema","title":"RiskScoreBlocklist","data":{"type":"object","description":"Risk score blocklist configuration.","properties":{"permanentlyBlockList":{"description":"Items permanently blocklisted when TTL is equal to `0`.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRules"},"temporaryBlockList":{"description":"Items temporarily blocklisted when TTL is greater than `0`.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRules"}}}},"components/schemas/Allowlist":{"id":"components/schemas/Allowlist","kind":"json-schema","title":"Allowlist","data":{"type":"object","description":"Risk score allowlist record.","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the allowlist record.","readOnly":true,"maxLength":50,"example":"rsal_01HXBY67D5CNWM2YK79PFZR4C2"},"type":{"type":"string","description":"Type of data to exclude from risk score checks.\nData types that are added to this field are excluded from risk score checks and are not added to blocklists.","enum":["address","bank-account","bin","country","customer-id","email","email-domain","fingerprint","ip-address","payment-card"]},"value":{"type":"string","description":"Value of the allowlist record."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/TagUntagRule":{"id":"components/schemas/TagUntagRule","kind":"json-schema","title":"TagUntagRule","data":{"type":"object","description":"Tag or untag rule.","required":["name","eventType","addTags","removeTags"],"properties":{"id":{"type":"string","description":"ID of the rule.","readOnly":true,"maxLength":50,"example":"tag_rule_0YVCEE5APAD7V84MK3P9CCJVYY"},"name":{"description":"Name of the rule.","type":"string"},"eventType":{"allOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"not":{"enum":["application-instance-disabled","application-instance-enabled","balance-transaction-settled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-redirected-offsite","customer-returned","dispute-created","dispute-modified","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","invoice-created","invoice-modified","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-tax-calculation-failed","offsite-payment-completed","order-abandon-reminder","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","renewal-invoice-payment-canceled","risk-score-changed","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-renewal-reminder","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","transaction-process-requested","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","data-export-completed","data-export-failed","hard-usage-limit-reached","soft-usage-limit-reached","subscription-quantity-filled-limit-reached"]}}]},"filter":{"description":"Filter that determines whether to tag or untag.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://api-reference.rebilly.com/#section/Using-filter-with-collections).","type":["string","null"]},"addTags":{"description":"List of tags to add to the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"removeTags":{"description":"List of tags to remove for the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related resource links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}}}},"components/schemas/Application":{"id":"components/schemas/Application","kind":"json-schema","title":"Application","data":{"type":"object","description":"Application object.","required":["name","logoId","authorName","tagline","description","permissions"],"properties":{"id":{"type":"string","description":"Unique identifier of the application.","readOnly":true,"maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"name":{"description":"Name that is displayed for the application in the App Store.","type":"string"},"logoId":{"type":"string","description":"Unique identifier of the file that contains the application logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"authorName":{"description":"Name of the person or organization that created the application.","type":"string"},"authorLogoId":{"type":["string","null"],"description":"Unique identifier of the file that contains the logo of the author.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"tagline":{"description":"Short descriptive tagline that is displayed for the application in the App Store.","type":"string"},"description":{"description":"Detailed description of the application.\nThis field accepts markdown and simple text.","type":"string"},"status":{"description":"Current status of the application in the App Store.","readOnly":true,"type":"string","enum":["pending-approval","available","disabled"]},"permissions":{"description":"List of permissions that are available to the application.\nTo add permissions, contact [Rebilly Support](mailto:support@rebilly.com).","type":"array","items":{"type":"string","format":"operationId","enum":["DeleteApplicationInstance","GetApplicationInstanceConfiguration","GetCustomer","GetCustomerCollection","GetInvoice","GetInvoiceCollection","GetPlan","GetPlanCollection","GetProduct","GetProductCollection","GetSubscription","GetSubscriptionCollection","GetTransaction","GetTransactionCollection","GetWebhook","GetWebsite","GetWebsiteCollection","PostCoupon","PostCouponRedemption","PostGatewayAccountDowntimeSchedule","PostPayout","PostServiceCredential","PostWebhook","PostWebhookCredentialHash","PutApplicationInstanceConfiguration","PutCoupon"]},"example":["GetInvoice","GetInvoiceCollection","GetCustomer","GetCustomerCollection"]},"configurationUrl":{"description":"URL for configuring the application during installation.","type":["string","null"],"format":"uri"},"configuredBy":{"type":"string","description":"Specifies who can configure the application.","readOnly":true,"enum":["user","application"]},"properties":{"description":"Defines settings that users complete when they install the application.\nThis field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7.","type":"object","example":{"type":"object","properties":{"email":{"type":"string"},"max":{"type":"integer","minimum":0,"exclusiveMaximum":100}},"required":["email"]}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","applicationInstance","logoUrl","authorLogoUrl"]}}}}}}},"components/schemas/ApplicationInstance":{"id":"components/schemas/ApplicationInstance","kind":"json-schema","title":"ApplicationInstance","data":{"type":"object","description":"Application instance object.","properties":{"status":{"description":"Current status of the application instance.","readOnly":true,"type":"string","enum":["enabling","enabled","disabling","disabled"]},"isConfigured":{"description":"Specifies if the configuration of the application instance is complete.\nSome applications require additional configuration after installation before they can be used.\nConfiguration is completed using the Upsert an application instance configuration operation.","type":"boolean","readOnly":true},"settings":{"description":"Configuration settings submitted during installation.","type":"object","additionalProperties":{"type":"string","description":"Additional properties added by the user when the application is installed."},"example":{"color":"red","limit":"5"},"deprecated":true,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}},"components/schemas/OwnerApplicationInstance":{"id":"components/schemas/OwnerApplicationInstance","kind":"json-schema","title":"OwnerApplicationInstance","data":{"allOf":[{"$ref":"#/components/schemas/ApplicationInstance"},{"type":"object","properties":{"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"token":{"description":"Session token used to authenticate an organization.","type":"string","readOnly":true}}}]}},"components/schemas/PayoutRequestChange":{"id":"components/schemas/PayoutRequestChange","kind":"json-schema","title":"PayoutRequestChange","data":{"description":"Details specific to the payout request or allocation change that triggered the webhook.","type":"object","additionalProperties":false,"properties":{"previousStatus":{"description":"Resource status before the change.","type":"string"},"status":{"description":"Resource status after the change.","type":"string"},"blockReason":{"description":"Reason for blocking the payout request.","type":"string"},"blockDescription":{"description":"Additional information about the block.","type":["string","null"]},"splitReason":{"description":"Reason for splitting the payout request.","type":"string"},"splitDescription":{"description":"Additional information about the split.","type":["string","null"]},"canceledBy":{"description":"Party that canceled the payout request.","type":"string"},"description":{"description":"Additional information about the cancellation.","type":"string"},"amount":{"description":"Amount of the change in the resource currency.","type":"number","format":"double","x-type":"Money"},"remainingAllocationAmount":{"description":"Payout request amount that remains available for allocation.","type":"number","format":"double","x-type":"Money"},"totalFulfilled":{"description":"Total fulfilled amount in the payout request currency.","type":"number","format":"double","x-type":"Money"},"paymentInstrumentId":{"description":"ID of the payment instrument.","type":"string","maxLength":50},"allocationId":{"description":"ID of the payout request allocation.","type":"string","maxLength":50},"transactionId":{"description":"ID of the transaction, or `null` when no transaction is available.","type":["string","null"],"maxLength":50},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that received the merged amount.","type":"string","maxLength":50},"replayTransferId":{"description":"ID of the transfer that reserves the payout funds.\nThis value is `null` if no transfer exists.","type":["string","null"],"maxLength":50},"isAutoAllocation":{"description":"Specifies whether the allocation is created automatically.","type":"boolean"},"replacedByRemainder":{"description":"Specifies whether a replacement payout request contains the remaining amount.","type":"boolean"}}}},"components/schemas/PayoutRequestChangedRequest":{"id":"components/schemas/PayoutRequestChangedRequest","kind":"json-schema","title":"Payout request change","data":{"title":"Payout request change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request change that triggered the webhook.","type":"string","enum":["payout-request-created","payout-request-modified","payout-request-blocked","payout-request-unblocked","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-processing-started","payout-request-fulfilled","payout-request-payment-instrument-selected","payout-request-allocated","payout-request-split","payout-request-merged","payout-request-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["payoutRequest","customer"],"properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related payout request.","type":"string"},"rel":{"type":"string","const":"payoutRequest"}}}}}}},"components/schemas/PayoutRequestChangedAllocation":{"id":"components/schemas/PayoutRequestChangedAllocation","kind":"json-schema","title":"Payout request allocation change","data":{"title":"Payout request allocation change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","allocationId","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request allocation change that triggered the webhook.","type":"string","enum":["payout-request-allocation-created","payout-request-allocation-queued","payout-request-allocation-returned-to-pending","payout-request-allocation-processing-started","payout-request-allocation-waiting-completion","payout-request-allocation-completed","payout-request-allocation-declined","payout-request-allocation-failed","payout-request-allocation-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"allocationId":{"description":"ID of the changed payout request allocation.","type":"string","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["allocation","payoutRequest","customer"],"properties":{"allocation":{"$ref":"#/components/schemas/PayoutRequestAllocation"},"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related resource.","type":"string"},"rel":{"description":"Type of related resource.","type":"string","enum":["allocation","payoutRequest"]}}}}}}},"components/schemas/PayoutRequestChangedWebhookPayload":{"id":"components/schemas/PayoutRequestChangedWebhookPayload","kind":"json-schema","title":"PayoutRequestChangedWebhookPayload","data":{"type":"object","description":"Payout request or payout request allocation change details.","discriminator":{"propertyName":"changeType","mapping":{"payout-request-created":"#/components/schemas/PayoutRequestChangedRequest","payout-request-modified":"#/components/schemas/PayoutRequestChangedRequest","payout-request-blocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-unblocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-ready":"#/components/schemas/PayoutRequestChangedRequest","payout-request-returned-to-pending":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approved":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approval-undone":"#/components/schemas/PayoutRequestChangedRequest","payout-request-processing-started":"#/components/schemas/PayoutRequestChangedRequest","payout-request-fulfilled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-payment-instrument-selected":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocated":"#/components/schemas/PayoutRequestChangedRequest","payout-request-split":"#/components/schemas/PayoutRequestChangedRequest","payout-request-merged":"#/components/schemas/PayoutRequestChangedRequest","payout-request-canceled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocation-created":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-queued":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-returned-to-pending":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-processing-started":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-waiting-completion":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-completed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-declined":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-failed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-canceled":"#/components/schemas/PayoutRequestChangedAllocation"}},"oneOf":[{"$ref":"#/components/schemas/PayoutRequestChangedRequest"},{"$ref":"#/components/schemas/PayoutRequestChangedAllocation"}]}},"components/schemas/CheckoutFormId":{"id":"components/schemas/CheckoutFormId","kind":"json-schema","title":"CheckoutFormId","data":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"}},"components/schemas/CheckoutFormFixedPlan":{"id":"components/schemas/CheckoutFormFixedPlan","kind":"json-schema","title":"Fixed quantity","data":{"title":"Fixed quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `fixed`,\ncustomers cannot choose the plan quantity.\nIf this value is set to `variable`,\ncustomers can choose the plan quantity.","type":"string","enum":["fixed"]},"quantity":{"description":"Quantity of the plan.","type":"integer","minimum":1}}}},"components/schemas/CheckoutFormVariablePlan":{"id":"components/schemas/CheckoutFormVariablePlan","kind":"json-schema","title":"Variable quantity","data":{"title":"Variable quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `variable`,\ncustomers can choose the plan quantity.\nIf this value is set to `fixed`,\ncustomers cannot choose the plan quantity.","type":"string","enum":["variable"]},"quantity":{"description":"Default plan quantity.","type":"integer"},"minimum":{"description":"Minimum plan quantity.","type":"integer","minimum":1,"default":1},"multipleOf":{"description":"Multiple by which the plan quantity increases.","type":"integer","minimum":1,"default":1},"maximum":{"description":"Maximum plan quantity.","type":"integer","minimum":1,"default":100}}}},"components/schemas/CheckoutFormPlan":{"id":"components/schemas/CheckoutFormPlan","kind":"json-schema","title":"CheckoutFormPlan","data":{"type":"object","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/CheckoutFormFixedPlan","variable":"#/components/schemas/CheckoutFormVariablePlan"}},"oneOf":[{"$ref":"#/components/schemas/CheckoutFormFixedPlan"},{"$ref":"#/components/schemas/CheckoutFormVariablePlan"}]}},"components/schemas/CheckoutForm":{"id":"components/schemas/CheckoutForm","kind":"json-schema","title":"CheckoutForm","data":{"type":"object","required":["name","websiteId","plans"],"properties":{"id":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customDomain":{"description":"Custom domain for the checkout form.","type":["string","null"],"maxLength":255},"plans":{"type":"array","description":"List of plans that are applied to a customer order by default.\nPlans describe how the customer must pay for products. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","minItems":1,"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"addonPlans":{"type":"array","description":"List of add-on plans that are displayed to the customer on the payment screen.\nAdd-ons are plans that the customer has not already subscribed to.\n\nThe customer selects whether to add an add-on plan to their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"bumpPlans":{"type":"array","description":"List of bump plans that are displayed to the customer on the payment screen.\nUse bump plans to offer purchase bonuses, discounts, and deals to the customer.\n\nThe customer selects whether to purchase bump plans,\nor to use the plans that are specified in their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"accountsEnabled":{"description":"Specifies if the account is enabled.\nIf this value is `true`, the customer can sign-up and sign-in using the checkout form.","type":"boolean","default":false},"couponsEnabled":{"description":"Specifies if coupons are enabled in the checkout form.\nIf this value is `true`, the customer can use coupons in the checkout form.\nUse coupons to reward customers, generate sales, or to test new pricing strategies.","type":"boolean","default":false},"purchaseLimit":{"description":"Limits the number of purchases that can be made using a specific checkout form.\nIf a purchase limit value is set, each purchase decreases this value.\nWhen the purchases limit value reaches zero, the checkout form becomes inactive.","type":["integer","null"],"minimum":0,"default":null},"paymentMethods":{"description":"List of available payment methods.\nPayment methods must have at least one active gateway account.\nIf not specified, all available payment methods are displayed.","type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"customization":{"description":"Visual customization options for the checkout form.","type":"object","properties":{"logoId":{"description":"ID of the linked file object.","type":["string","null"],"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"summary":{"description":"Summary text.","type":["string","null"]},"buttonText":{"description":"Button text.\nUse the `{{amount}}` placeholder to display the checkout form total.","type":"string","default":"Pay {{amount}}"},"colors":{"description":"Primary color used in the checkout form and button text.","type":"object","properties":{"primary":{"description":"Primary color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"buttonText":{"description":"Button text color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed on the checkout form.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}},"tracking":{"description":"Tracking system IDs.","type":"object","properties":{"googleAnalytics":{"description":"Google Analytics tracking ID.","type":["string","null"],"example":"UA-XXXXX-YY"},"googleTagManager":{"description":"Google Tag Manager tracking ID.","type":["string","null"],"example":"GTM-XXXXX"},"gtagJs":{"description":"Google Analytics tracking ID.\nThis value is used by Google Global Site Tag (gtag.js) service.","type":["string","null"],"example":"UA-XXXXX-YY"},"facebookPixel":{"description":"Facebook Pixel tracking ID.","type":["string","null"],"example":"1234567890"},"segmentAnalytics":{"description":"Segment Analytics tracking ID.","type":["string","null"],"example":"1234567890"},"heapIo":{"description":"Heap.io tracking ID.","type":["string","null"],"example":"1234567890"}}},"requiredAdditionalFields":{"description":"List of required fields.","type":"array","items":{"type":"string"},"example":["information.companyName","information.phoneNumber"]}}},"name":{"description":"Name of the checkout form.\nThis name value is for internal display, and is not visible to your customers.\nUse this name to locate and organize your checkout forms.","type":"string"},"status":{"description":"Status of the checkout form. If the `status` value is `inactive`,\nthe checkout form URL produces a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","preview"]}}}}}}}},"exampleStore":{},"securitySchemeStore":{"JWT":{"id":"JWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"JWT is a short lifetime token that can be assigned a specific expiration time."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"document","annotations":[],"slots":{}}},"ApplicationJWT":{"id":"ApplicationJWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"Applications in the Rebilly App Store can create a JSON Web Token (JWT) by fetching an user's instance."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{},"children":[],"type":"softbreak","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"For more information, see Retrieve an application instance."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"document","annotations":[],"slots":{}}},"PublishableApiKey":{"id":"PublishableApiKey","type":"apiKey","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"This authentication method is applicable to specific operations."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"To create a publishable API key, see "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"href":"https://www.rebilly.com/catalog/all/api-keys/postapikey"},"children":[{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"Create an API key"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"link","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":2},"end":{"line":3}}}],"type":"document","annotations":[],"slots":{}},"in":"header","paramName":"Authorization"},"SecretApiKey":{"id":"SecretApiKey","type":"apiKey","description":"Never share your secret keys.\nKeep them guarded and secure.\n\nUse your secret API key only to make requests from the server side.\nTo authenticate, provide your secret key in the request header.","in":"header","paramName":"REB-APIKEY"},"CustomerJWT":{"id":"CustomerJWT","type":"http","scheme":"bearer","bearerFormat":"JWT","description":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"To create a JSON Web Token (JWT) using Storefront authentication,"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{},"children":[],"type":"softbreak","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[0,2],"inline":true,"attributes":{"content":"see the Create a session with username and password operation."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":0},"end":{"line":2}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Usage format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"Bearer <JWT>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[3,4],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"inline","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"start":{"line":3},"end":{"line":4}}}],"type":"document","annotations":[],"slots":{}}}}},"definition":{"openapi":"3.1.1","info":{"version":"latest","title":"All APIs","contact":{"name":"Rebilly API Support","url":"https://www.rebilly.com/contact/","email":"integrations@rebilly.com"},"license":{"name":"Rebilly","url":"https://www.rebilly.com/api-license/"},"termsOfService":"https://www.rebilly.com/terms-of-use/","x-logo":{"url":"https://rebilly-core.redoc.ly/rb_apiLogo.svg","backgroundColor":"#0044d4"},"description":"# Introduction\n[comment]: <> (x-product-description-placeholder)\nThe Rebilly API is built on HTTP and is RESTful.\nIt has predictable resource URLs and returns HTTP response codes to indicate errors.\nIt also accepts and returns JSON in the HTTP body.\nUse your favorite HTTP/REST library in your programming language when using this API,\nor use one of the Rebilly SDKs,\nwhich are available in [PHP](https://github.com/Rebilly/rebilly-php) and [JavaScript](https://www.npmjs.com/package/rebilly-js-sdk).\n\nEvery action in the [Rebilly UI](https://app.rebilly.com) is supported by an API which is documented and available for use, so that you may automate any necessary workflows or processes.\nThis API reference documentation contains the most commonly integrated resources.\n\n# Authentication\n\nRebilly offers four forms of authentication: secret key, publishable key, JSON Web Tokens, and public signature key.\n\n- Secret API key: Use to make requests from the server side.\n  Never share these keys.\n  Keep them guarded and secure.\n- Publishable API key: Use in your client-side code to tokenize payment information.\n- JWT: Use to make short-life tokens that expire after a set period of time.\n\n## Manage API keys\n\nTo create or manage API keys, select one of the following:\n\n- Use the Rebilly UI: see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)\n- Use the Rebilly API: see the [API key operations](https://www.rebilly.com/catalog/all/api-keys).\n\nFor more information on API keys, see [API keys](https://www.rebilly.com/docs/concepts-and-features/concept/api-keys).\n\n# Errors\nRebilly follows the error response format proposed in [RFC 9457](https://tools.ietf.org/html/rfc9457), which is also known as Problem Details for HTTP APIs.\nAs with any API responses, your client must be prepared to gracefully handle additional members of the response.\n\n# SDKs\n\nRebilly provides a JavaScript SDK and a PHP SDK to help interact with the Rebilly API.\nHowever, no SDK is required to use the API.\n\nRebilly also provides [FramePay](https://www.rebilly.com/docs/developer-docs/framepay/),\na client-side iFrame-based solution, to help create payment tokens while minimizing PCI DSS compliance burdens\nand maximizing your customization ability.\n[FramePay](https://www.rebilly.com/docs/developer-docs/framepay/) interacts with the [payment tokens creation operation](https://www.rebilly.com/catalog/all/payment-tokens/posttoken).\n\n## JavaScript SDK\n\nFor installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/).\nAll JavaScript SDK code examples are included in the API reference documentation.\n\n## PHP SDK\n\nFor installation and usage instructions, see [SDKs](https://www.rebilly.com/docs/dev-docs/sdks/).\nAll SDK code examples are included in the API reference documentation.\nTo use them, you must configure the `$client` as follows:\n\n```php\n$client = new Rebilly\\Client([\n    'apiKey' => 'YourApiKeyHere',\n    'baseUrl' => 'https://api.rebilly.com',\n]);\n```\n\n# Get started\n\nThe full [Rebilly API](https://www.rebilly.com/catalog/all/) has over 500 operations.\nThis is likely more than you may need to implement your use cases.\nIf you would like to implement a particular use case,\n[contact Rebilly](https://www.rebilly.com/support/) for guidance and feedback on the best API operations to use for the task.\n\nTo integrate Rebilly, and learn about related resources and concepts,\nsee [Get started](https://www.rebilly.com/docs/dev-docs#get-started).\n\nTo create and manage API keys, see [API keys](https://www.rebilly.com/docs/dev-docs/api-keys/).\n\n# Rate limits\n\nRate limits apply to the organization, not to the API key.\n\nAPI responses for rate-limited operations include `Rate-Limit-Limit` and `Rate-Limit-Remaining`.\n`Rate-Limit-Limit` is the maximum number of requests available at one time.\n`Rate-Limit-Remaining` is the number of requests still available.\n\nA request over the limit returns `429 Too Many Requests`.\nThe response includes `Retry-After` and `Rate-Limit-Retry-After`.\nBoth values are the number of seconds to wait before retrying.\n","x-metadata":{"description":"All Rebilly APIs.","redocly_category":"API Reference"}},"security":[{"SecretApiKey":[]},{"JWT":[]}],"servers":[{"url":"https://api-sandbox.rebilly.com/organizations/{organizationId}","description":"Sandbox server","variables":{"organizationId":{"default":"{organizationId}","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id)."}}},{"url":"https://api.rebilly.com/organizations/{organizationId}","description":"Live server","variables":{"organizationId":{"default":"{organizationId}","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id)."}}}],"components":{"securitySchemes":{"JWT":{"description":"JWT is a short lifetime token that can be assigned a specific expiration time.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"},"ApplicationJWT":{"description":"Applications in the Rebilly App Store can create a JSON Web Token (JWT) by fetching an user's instance.\nFor more information, see Retrieve an application instance.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"},"PublishableApiKey":{"description":"This authentication method is applicable to specific operations.\n\nTo create a publishable API key, see [Create an API key](https://www.rebilly.com/catalog/all/api-keys/postapikey).","name":"Authorization","type":"apiKey","in":"header"},"SecretApiKey":{"description":"Never share your secret keys.\nKeep them guarded and secure.\n\nUse your secret API key only to make requests from the server side.\nTo authenticate, provide your secret key in the request header.","name":"REB-APIKEY","type":"apiKey","in":"header"},"CustomerJWT":{"description":"To create a JSON Web Token (JWT) using Storefront authentication,\nsee the Create a session with username and password operation.\n\nUsage format: `Bearer <JWT>`.","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"collectionLimit":{"name":"limit","in":"query","description":"Limit the number of collection items to be returned.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.","schema":{"type":"integer","minimum":0,"maximum":1000}},"collectionOffset":{"name":"offset","in":"query","description":"Specifies the starting point within the collection of items to be returned.","schema":{"type":"integer","minimum":0,"maximum":1000}},"collectionSort":{"name":"sort","in":"query","description":"Sorts and orders the collection of items. To sort in descending\norder, prefix with `-`. Multiple fields can be sorted by separating each with `,`.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},"collectionFilter":{"name":"filter","in":"query","description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","schema":{"type":"string"}},"collectionQuery":{"name":"q","in":"query","description":"Use this field to perform a partial search of text fields.","schema":{"type":"string"}},"resourceId":{"name":"id","in":"path","description":"ID of the resource.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"collectionFields":{"name":"fields","in":"query","description":"Limits the returned fields to the specified list, each field separated by a comma.\nThe ID value is always returned.","schema":{"type":"string"}},"customFieldResource":{"name":"resource","in":"path","description":"Type of resource schema.","required":true,"schema":{"type":"string","enum":["customers","payment-instruments","orders","subscriptions","transactions","websites","products","plans","gateway-accounts","deposit-requests"]}},"collectionExpand":{"name":"expand","in":"query","description":"Expands a request to include embedded objects within the `_embedded`\nproperty of the response. This field accepts a comma-separated list of objects.\n\nFor more information, see\n[Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"externalIdentifierResource":{"name":"resource","in":"path","description":"Type of resource.","required":true,"schema":{"type":"string","enum":["customers","invoices","invoice-items","transactions","journal-accounts","journal-entries"]}},"externalIdentifierResourceId":{"name":"resourceId","in":"path","description":"ID of the resource.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"externalIdentifierService":{"name":"service","in":"path","description":"Name of the external service.","required":true,"schema":{"type":"string","enum":["quickbooks-online"]}},"imageSize":{"name":"imageSize","in":"query","description":"Resize image to specified size.\nSupports any sizes from 10x10 to 2000x2000, in the following format: `{width}x{height}`.\nIf the value is invalid, the image returns the original size.\nThis parameter is ignored for non-image files.","schema":{"type":"string","example":"700x700","pattern":"^[1-9]{1}[0-9]{1,3}x[1-9]{1}[0-9]{1,3}$"}},"applicationId":{"name":"applicationId","in":"path","description":"Unique identifier of the application.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"organizationId":{"name":"organizationId","in":"path","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"invoiceCollectionLimit":{"name":"limit","in":"query","description":"Limit the number of invoices to return.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.\nValues greater than `100` are treated as `100`.","schema":{"type":"integer","minimum":0,"maximum":100}},"mediaTypeJsonPdf":{"name":"Accept","in":"header","description":"Type of response media.","schema":{"type":"string","enum":["application/json","application/pdf"],"default":"application/json"}},"orderExpand":{"name":"expand","in":"query","description":"Expand a response to receive a full related object in the `_embedded` path.\n\nTo expand multiple objects, use a comma-separated list.\nExample: `expand=customer,activationInvoice`.\n\nAvailable arguments are:\n\n  - `customer`\n  - `activationInvoice`\n  - `recentInvoice`\n  - `upcomingInvoice`\n  - `paymentInstrument`\n  - `website`\n\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"subscriptionCollectionLimit":{"name":"limit","in":"query","description":"Limit the number of subscriptions to return.\nUse `0` to return an empty collection and still receive the count of matching items in `Pagination-Total`.\nWhen `expand` includes `initialInvoice` or `recentInvoice`, cap values greater than `100` at `100`.","schema":{"type":"integer","minimum":0,"maximum":1000}},"subscriptionExpand":{"name":"expand","in":"query","description":"Expand a response to receive a full related object in the `_embedded` path.\n\nTo expand multiple objects, use a comma-separated list.\nExample: `expand=recentInvoice,initialInvoice`.\n\nAvailable arguments are:\n\n  - `customer`\n  - `leadSource`\n  - `website`\n  - `shippingRate`\n  - `initialInvoice`\n  - `recentInvoice`\n  - `upcomingInvoice`\n  - `paymentInstrument`\n\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"string"}},"tag":{"name":"tag","in":"path","description":"Name of the tag.","required":true,"schema":{"type":"string","pattern":"^[@~\\-\\.\\w\\s+]+$"}},"customerId":{"name":"customerId","in":"path","description":"ID of the customer.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"kycDocumentId":{"name":"kycDocumentId","in":"path","description":"ID of the KYC document.","required":true,"schema":{"type":"string","maxLength":50,"pattern":"^[@~\\-\\.\\w]+$"}},"credentialType":{"name":"type","in":"path","description":"Type of service credential.","required":true,"schema":{"type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","taxjar","avalara","plaid"]}},"token":{"name":"token","in":"path","description":"Token string.","required":true,"schema":{"type":"string"}},"systemEventType":{"name":"eventType","in":"path","description":"Type of event.","required":true,"schema":{"type":"string"}},"rulesVersion":{"name":"version","in":"path","required":true,"description":"Version of the ruleset.\n\nTo retrieve the full related object instead of the ID, expand the response.\nFor more information, see [Embedded resources](https://www.rebilly.com/docs/dev-docs/expand-embedded-resources).","schema":{"type":"integer","minimum":1}},"integrationLabel":{"name":"label","in":"path","description":"Label of the integration.","required":true,"schema":{"type":"string","enum":["google-sheets","intuit-quickbooks"]}},"collectionCriteria":{"name":"criteria","in":"query","description":"Criteria parameter for requesting a collection.","schema":{"type":"string"}},"mediaTypeJsonPdfCsv":{"name":"Accept","in":"header","description":"Type of response media.","schema":{"type":"string","enum":["application/json","application/pdf","text/csv"],"default":"application/json"}},"storefrontCustomFieldResource":{"name":"resource","in":"path","description":"Type of resource schema.","required":true,"schema":{"type":"string","enum":["customers","payment-instruments","subscriptions","transactions"]}}},"headers":{"Pagination-Total":{"description":"Total number of items that match the request.\nThe value is independent of `limit`, including when `limit` is `0`.","schema":{"type":"integer"},"example":332},"Pagination-Limit":{"description":"Maximum number of items per page.","schema":{"type":"integer"},"example":100},"Pagination-Offset":{"description":"Specifies the starting point within the\ncollection of resource results. For example, a request with\n`limit=20` retrieves and displays the first 20 results on a page. A\nfollowing request with `limit=20` and `offset=20`, retrieves the next\npage of 20 results.","schema":{"type":"integer"},"example":2},"Location":{"description":"Location of the related resource.","schema":{"type":"string","format":"uri"},"example":"https://api.rebilly.com/example"},"Rate-Limit-Limit":{"description":"Maximum number of requests available at one time for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":500},"Rate-Limit-Remaining":{"description":"Number of requests still available for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":499},"Rate-Limit-Retry-After":{"description":"Number of seconds to wait before retrying the request.","schema":{"type":"integer"},"example":1}},"schemas":{"CreatedTime":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Creation Time"},"UpdatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Update Time"},"ResourceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"SelfLink":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}},"AML":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of the individual, or name of entity.","readOnly":true,"example":"Benjamin"},"lastName":{"type":["string","null"],"description":"Last name of the individual.\nThis field returns a `null` value for single-named entities.","readOnly":true,"example":"Franklin"},"source":{"type":"string","readOnly":true,"description":"Describes which list the result is from."},"sourceType":{"readOnly":true,"description":"Describes the categories of the individual or entity.","type":"array","example":["sanctions","enforcements"],"items":{"type":"string","enum":["pep","sanctions","adverse-media","enforcements","state-owned-enterprise"]}},"gender":{"type":["string","null"],"readOnly":true,"description":"If `type`=`individual`, this field describes the gender of the individual."},"title":{"type":["array","null"],"readOnly":true,"description":"Individual's job title.","example":["Postmaster General","Ambassador to France","Ambassador to Sweden","Supreme Executive Council of Commonwealth of Pennsylvania"],"items":{"type":"string"}},"type":{"type":"string","readOnly":true,"description":"Describes whether the source is an individual or an entity.","enum":["individual","entity"]},"legalBasis":{"type":"array","readOnly":true,"description":"List of references to legal documents, if they exist.","items":{"type":"string"}},"regime":{"type":["string","null"],"readOnly":true,"description":"Describes the government, administration, or political entity.","example":"United States Government"},"confidence":{"type":"string","description":"Degree of confidence in the source list information.","readOnly":true,"enum":["weak","medium","strong","very-strong"]},"nationality":{"type":"string","readOnly":true,"description":"Nationality of the individual or entity."},"address":{"type":"array","readOnly":true,"description":"Addresses associated with the individual or entity.","items":{"type":"object","properties":{"address":{"type":["string","null"],"readOnly":true,"description":"Street address line 1."},"address2":{"type":["string","null"],"readOnly":true,"description":"Street address line 2."},"city":{"type":["string","null"],"readOnly":true,"description":"City."},"region":{"type":["string","null"],"readOnly":true,"description":"State, province, or region."},"country":{"type":["string","null"],"readOnly":true,"description":"Country."},"birthplace":{"type":"boolean","default":false,"readOnly":true,"description":"Individual's place of birth."}}}},"dob":{"type":"array","readOnly":true,"description":"One or more possible dates of birth.","items":{"type":"string","readOnly":true,"description":"Date of birth.","format":"date","example":"1706-01-17"}},"aliases":{"type":"array","readOnly":true,"description":"List of aliases, if any.","items":{"type":"object","properties":{"firstName":{"type":"string","description":"First name of alias.","readOnly":true},"lastName":{"type":"string","description":"Last name of alias.","readOnly":true},"authenticity":{"type":"string","description":"Degree of confidence in the alias.","readOnly":true,"enum":["strong","weak","unknown"]}}}},"passport":{"type":"array","readOnly":true,"description":"Individual's passport information.","items":{"type":"object","properties":{"number":{"type":"string","readOnly":true,"description":"Passport number."},"registrationDate":{"type":"string","format":"date","readOnly":true,"description":"Passport registration date."}}}},"comments":{"type":["string","null"],"readOnly":true,"description":"Additional information.\nThis content varies per list."},"metadata":{"type":["object","null"],"readOnly":true,"description":"Additional metadata on AML sources, when available.","properties":{"lookupId":{"type":"string","readOnly":true,"description":"Direct lookup identifier for the LexisNexis WorldCompliance Online Search Tool.","example":"1E66DAD6-A2E2-4DCB-BCAF-8CC92CD1DDEC"}}},"matchDetails":{"type":["object","null"],"description":"Details of the matching logic and confidence scoring.","properties":{"confidenceFactors":{"type":"array","readOnly":true,"description":"List of factors that contributed to the confidence score calculation.","items":{"type":"string","enum":["confidence_exact_country","confidence_mismatch_country","confidence_missing_country","confidence_exact_dob","confidence_mismatch_dob","confidence_missing_dob","confidence_exact_yob","confidence_inexact_yob","confidence_strong_hit_relevance","confidence_weak_hit_relevance","confidence_exact_full_name","confidence_fuzzy_full_name"]}},"matchCriteria":{"type":"array","readOnly":true,"description":"List of specific criteria that matched against the watchlist.","items":{"type":"string","enum":["match_exact_name","match_phonetic_first_name","match_phonetic_last_name","match_exact_full_name","match_aka_exact_name","match_aka_phonetic_first_name","match_aka_phonetic_last_name","match_aka_exact_full_name","match_fuzzy_nationality","match_exact_address","match_exact_city","match_exact_region","match_exact_country","match_exact_post_code"]}}}},"decision":{"type":["string","null"],"readOnly":true,"description":"Reviewer decision for this hit.\nThis value is `null` if the hit has not been decided yet.","enum":["confirmed-match","false-positive",null],"example":"false-positive"},"decisionInherited":{"type":"boolean","readOnly":true,"default":false,"description":"Specifies if the decision is copied from an earlier AML check instead of recorded by a reviewer.\nThe decision is copied from a matching hit on the previous AML check of the same customer or of a related customer,\nor from the `false-positive` status of an earlier AML check of the same customer or a related customer.","example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Tag":{"type":"object","description":"Use tags to organise and categorize customers or KYC documents based on keywords.\nFor more information, see [Tags](https://www.rebilly.com/docs/dev-docs/api/tags/).","required":["name","type"],"properties":{"id":{"description":"ID of the tag.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"name":{"description":"Unique name for the tag.\nTag names are not case-sensitive.","type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w\\s+]+$","example":"New"},"type":{"description":"Type of tag.\nTags of a specific type can only be assigned to corresponding entity types.\nFor example, you can only use customer tags on customers.","type":"string","enum":["customer","kyc-document","aml-check"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AmlCheck":{"type":"object","readOnly":true,"description":"AML check result.","properties":{"id":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"websiteId":{"type":"string","description":"Website ID associated with the customer.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"reviewerId":{"type":["string","null"],"maxLength":50,"description":"User ID of the person who reviewed the AML check.","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerType":{"type":["string","null"],"readOnly":true,"description":"Type of reviewer for the current review outcome.","enum":["human","bot"],"example":"bot"},"reviewerName":{"type":["string","null"],"description":"First and last name of the person who reviewed the AML check.\nIf the result is inherited, this field is set to \"bot\"."},"reviewStartTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is started."},"reviewTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the AML check review is completed."},"priority":{"type":["string","null"],"default":null,"description":"Highest matched priority of all hits within an AML check."},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"status":{"type":"string","description":"Status of the AML check.","readOnly":true,"enum":["pending-review","in-review","no-match","confirmed-match","false-positive"],"x-enumDescriptions":{"pending-review":"Possible AML match detected and waiting to be manually reviewed.","in-review":"A manual AML match review is in progress, or at least one hit has no decision yet.","no-match":"No possible AML match detected.","confirmed-match":"Possible AML match manually reviewed and marked as confirmed.","false-positive":"Possible AML match manually reviewed and marked as false positive."}},"customer":{"type":"object","properties":{"id":{"description":"ID of the customer.","$ref":"#/components/schemas/ResourceId"},"primaryAddress":{"type":"object","description":"Customer's data at the time of the AML check.","properties":{"firstName":{"type":"string","maxLength":45,"description":"Customer's first name at the time of the AML check."},"lastName":{"type":"string","maxLength":45,"description":"Customer's last name at the time of the AML check."},"dob":{"type":["string","null"],"format":"date","description":"Customer's date of birth.","example":"1971-02-14"},"address":{"description":"First line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the customer's street address at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Customer's city of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Customer's region of residence at the time of the AML check.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"type":["string","null"],"description":"Customer's country of residence at the time of the AML check."},"postalCode":{"description":"Customer's postal code at the time of the AML check.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"}}},"organizationId":{"type":"string","description":"ID of the customer's organization.","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"}}},"hits":{"description":"List of hits returned during the AML check.","type":"array","items":{"$ref":"#/components/schemas/AML"}},"tags":{"description":"List of AML check tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"provenance":{"type":["object","null"],"readOnly":true,"description":"Origin of the AML check result.","properties":{"inherited":{"type":"boolean","description":"Specifies if the result is inherited from a previous AML check.","example":true},"inheritedFromAmlCheckId":{"type":"string","description":"ID of the AML check from which the check inherits its result.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"scope":{"type":"array","description":"Scope of what is inherited from the source AML check.","items":{"type":"string","enum":["status-only"]},"example":["status-only"]},"reasons":{"type":"array","description":"Reasons that triggered the inheritance of the result.","items":{"type":"string","enum":["customer_duplicated_by_person_exact_match","customer_duplicated_by_primary_phone_number_exact_match","customer_previous_check_exact_match"],"x-enumDescriptions":{"customer_duplicated_by_person_exact_match":"Customer identity exactly matched a check on another customer","customer_duplicated_by_primary_phone_number_exact_match":"Customer primary phone number exactly matched a check on another customer","customer_previous_check_exact_match":"Customer data exactly matched a previous check on the same customer"}},"example":["customer_duplicated_by_person_exact_match"]}}},"noMatchReason":{"readOnly":true,"description":"Reason for the no-match result.","type":["string","null"],"enum":["no_hits_found","mismatched_hits","hits_are_below_relevance_score_threshold","internal_system_error"],"example":"no_hits_found"},"noMatchDetails":{"readOnly":true,"description":"List of codes that explain the no-match result.","type":"array","items":{"type":"string"},"example":["top_hit_not_eligible_for_matching","search_shard_failures"]},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"BaseProblem":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem."},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem."},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}},"Unauthorized":{"allOf":[{"title":"Unauthorized"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":401,"maximum":401}}},{"$ref":"#/components/schemas/BaseProblem"}]},"Forbidden":{"allOf":[{"title":"Forbidden"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":403,"maximum":403},"error":{"type":"string","description":"Message that describes why the request is forbidden.\nMost responses use a descriptive message, such as `Not allowed to change security settings`.\nIf the organization requires multi-factor authentication (MFA) and MFA verification has not been completed for the session, this value is `mfa_required`.\nIf the request sets `requireMfa` to `true` and MFA verification has not been completed for the session, this value is `mfa_required_for_caller`."}}},{"$ref":"#/components/schemas/BaseProblem"}]},"NotFound":{"allOf":[{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":404,"maximum":404}}},{"$ref":"#/components/schemas/BaseProblem"}]},"InvalidFields":{"type":"array","description":"Invalid field details.","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]},"ValidationError":{"allOf":[{"title":"Validation error"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/BaseProblem"},{"type":"object","properties":{"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}}]},"TooManyRequests":{"type":"object","additionalProperties":true,"minProperties":1,"description":"RFC-7807 [problem details](https://tools.ietf.org/html/rfc7807) JSON object.","properties":{"type":{"type":"string","description":"Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"about:blank"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nOther than for the purposes of localization, this should not change from occurrence to occurrence of the problem.","example":"Rate Limit Exceeded"},"status":{"type":"integer","description":"HTTP status code.","minimum":429,"maximum":429},"detail":{"type":"string","description":"Human-readable explanation that is specific to this occurrence of the problem.","example":"A request cannot be executed because the user has sent too many requests within a certain period of time"},"instance":{"type":"string","description":"URI reference that identifies the specific occurrence of the problem.\nIt may or may not yield further information if dereferenced."}}},"AmlHitDecision":{"type":"object","description":"Decision for one hit of an AML check.","required":["index","decision"],"properties":{"index":{"type":"integer","minimum":0,"description":"Zero-based position of the hit in the `hits` array of the AML check.","example":0},"decision":{"type":"string","description":"Outcome of the review of the hit.","enum":["confirmed-match","false-positive"],"x-enumDescriptions":{"confirmed-match":"The hit is the customer.","false-positive":"The hit is not the customer."},"example":"false-positive"}}},"AmlCheckReview":{"type":"object","description":"AML check review.\nProvide a status, a list of hit decisions, or both.\nThe status of the AML check is calculated from the hit decisions.","anyOf":[{"required":["status"]},{"required":["hits"]}],"properties":{"status":{"type":"string","description":"Decision applied to every hit that has no decision yet.\nIf `hits` is also provided, those decisions apply first.\nIf every hit already has a decision and this value differs from the status those decisions give, it replaces the decision on every hit that is not listed in `hits`.\nIf it equals that status, the decided hits are left as they are.\nIf the AML check has no hits, this value becomes the status of the AML check.","enum":["confirmed-match","false-positive"]},"hits":{"type":"array","description":"Decisions for individual hits.","minItems":1,"items":{"$ref":"#/components/schemas/AmlHitDecision"}}}},"AmlConfidence":{"type":["string","null"],"description":"Degree of confidence to assign.","enum":["weak","medium","strong","very-strong"]},"AmlCompoundConfidence":{"type":"object","properties":{"addressMatch":{"type":"object","description":"Match for the customer's city or region, or both, is found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"addressMismatch":{"type":"object","description":"Match for the customer's city or region, or both, is not found.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}},"noAddress":{"type":"object","description":"No city and no region is available to match against.","properties":{"matchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"mismatchingCountry":{"$ref":"#/components/schemas/AmlConfidence"},"noCountry":{"$ref":"#/components/schemas/AmlConfidence"}}}}},"AmlPriority":{"type":["string","null"],"description":"Priority level of matched AML customer information.","default":null,"enum":["p0","p1","p2","p3"]},"AmlSettings":{"type":"object","description":"Settings for AML checking.","properties":{"confidence":{"type":"object","description":"Confidence level settings for AML matches.","properties":{"dob":{"type":"object","description":"Confidence level settings for AML matches based on date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's date of birth and name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's date of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"noDob":{"type":"object","description":"Confidence level settings for AML matches based on a missing date of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Fuzzy, or inexact match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"},"weakMatch":{"description":"Weak match of the customer's name is found, but a date of birth is not.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"yob":{"type":"object","description":"Confidence level settings for AML matches based on year of birth.","properties":{"exactMatch":{"description":"Exact match of the customer's year of birth and exact name is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Exact match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}},"inexactYob":{"type":"object","description":"Confidence level settings for AML matches based on a near match of year of birth.","properties":{"exactMatch":{"description":"Near match of the customer's year of birth and an exact name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"},"inexactMatch":{"description":"Near match of the customer's year of birth and a fuzzy, or inexact, name match is found.","$ref":"#/components/schemas/AmlCompoundConfidence"}}}}},"priority":{"type":"object","description":"Priority level settings for AML source matches. \\\n`p0` is critical priority level, and `p3` is low priority level.","properties":{"pep":{"type":"object","description":"Priorities for the `pep` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"enforcements":{"type":"object","description":"Priorities for the `enforcement` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"stateOwnedEnterprise":{"type":"object","description":"Priorities for the `state-owned-enterprise` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"sanctions":{"type":"object","description":"Priorities for the `sanctions` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}},"adverseMedia":{"type":"object","description":"Priorities for the `adverse-media` source type.","properties":{"veryStrong":{"$ref":"#/components/schemas/AmlPriority"},"strong":{"$ref":"#/components/schemas/AmlPriority"},"medium":{"$ref":"#/components/schemas/AmlPriority"},"weak":{"$ref":"#/components/schemas/AmlPriority"}}}}}}},"Attachment":{"type":"object","required":["fileId","relatedId","relatedType"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the attachment.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"},"fileId":{"type":"string","description":"ID of the linked file object.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"relatedType":{"description":"Linked object type.","type":"string","enum":["credit-memo-timeline-comment","customer","customer-timeline-comment","dispute","gateway-timeline-comment","invoice","invoice-timeline-comment","order-timeline-comment","organization","payment","payout-request-timeline-comment","plan","product","quote-timeline-comment","subscription","transaction","transaction-timeline-comment"]},"relatedId":{"description":"ID of the linked object.","type":"string"},"name":{"description":"Name of original attachment.","type":"string"},"description":{"description":"Description of the attachment.","type":"string"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","file"]}}}}}},"Conflict":{"allOf":[{"title":"Conflict"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":409,"maximum":409}}},{"$ref":"#/components/schemas/BaseProblem"}]},"AuthenticationOptions":{"type":"object","properties":{"passwordPattern":{"description":"Allowed password pattern.","type":["string","null"],"example":"/^[0-9]+$/"},"credentialTtl":{"description":"Default credential lifetime, in seconds.","type":"integer"},"authTokenTtl":{"description":"Default auth-token lifetime, in seconds.","type":"integer"},"resetTokenTtl":{"description":"Default reset-token lifetime, in seconds.","type":"integer"},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange a token.","type":"boolean"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerId":{"type":"string","description":"ID of the customer resource.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","x-basic":true},"AuthenticationTokenResponse":{"type":"object","title":"Authentication token","required":["username"],"properties":{"username":{"description":"Username of the customer who is associated with the authentication token.","type":"string"},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationTokenPasswordMode":{"type":"object","required":["username","password"],"properties":{"username":{"description":"Username associated with the authentication token.","type":"string"},"password":{"description":"Password associated with the authentication token.","type":"string","format":"password","writeOnly":true},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["password"]},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationTokenPasswordlessMode":{"type":"object","required":["customerId"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"mode":{"type":"string","description":"Specifies the authentication verification method.\nThe `password` token requires the user to enter a password to log in.\nThe `passwordless` token, requires a secret API key to log in.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys).","writeOnly":true,"enum":["passwordless"]},"token":{"description":"ID of the authentication token.","type":"string","readOnly":true},"otpRequired":{"description":"Specifies if a One-Time Password (OTP) is required to exchange the authentication token.","type":"boolean"},"credentialId":{"description":"ID of the user associated with the authentication token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"expiredTime":{"description":"Date and time when the token expired.","type":"string","format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AuthenticationToken":{"type":"object","discriminator":{"propertyName":"mode","mapping":{"password":"#/components/schemas/AuthenticationTokenPasswordMode","passwordless":"#/components/schemas/AuthenticationTokenPasswordlessMode"}},"oneOf":[{"$ref":"#/components/schemas/AuthenticationTokenPasswordMode"},{"$ref":"#/components/schemas/AuthenticationTokenPasswordlessMode"}]},"ApiKeyScope":{"type":"object","properties":{"organizationId":{"description":"Array of account IDs.","type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"productId":{"description":"Array of product IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"planId":{"description":"Array of plan IDs.","type":"array","items":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}},"customFieldName":{"description":"Array of custom field names.","type":"array","items":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}},"example":{"organizationId":["organizationId-id-1"]}},"AclPermissions":{"type":"array","items":{"type":"string","format":"operationId"},"example":["PostFile","StorefrontGetAccount","StorefrontGetWebsite","StorefrontGetKycDocument","StorefrontPostKycDocument"]},"Acl":{"type":"array","description":"Access Control List (ACL) information.","items":{"type":"object","required":["scope","permissions"],"properties":{"scope":{"description":"Scope of the API key.","$ref":"#/components/schemas/ApiKeyScope"},"permissions":{"description":"If you are creating a restricted API key, use this field to specify individual permissions.\nUse the wildcard character `*` to provide full access.","$ref":"#/components/schemas/AclPermissions"}}}},"CustomerJWT":{"type":"object","properties":{"id":{"type":"string","description":"ID of the session.","maxLength":50,"example":"jwt_0YV7DEJX80CDRAKVTV478ZNJDR","readOnly":true},"type":{"description":"Type of session.","type":"string","readOnly":true,"enum":["customer"]},"token":{"description":"Token used for authentication.","type":"string","readOnly":true},"invalidate":{"description":"Specifies if the token must be invalidated after the exchange is performed.","type":"boolean","default":true,"example":true,"writeOnly":true},"oneTimePassword":{"description":"One-time password that is sent by email.\nThis value must contain digits only.","type":"string","pattern":"^[0-9]{6}$","example":"123456","writeOnly":true},"customerId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"acl":{"$ref":"#/components/schemas/Acl"},"customClaims":{"type":"object","additionalProperties":true,"example":{"documents":["identity-proof","address-proof"],"redirectUrl":"https://mywebsite.com"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"expiredTime":{"description":"Date and time when the session expires.\nThe default value is one hour after the `createdTime` value.","type":"string","format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["customer"]}}}}}},"Blocklist":{"type":"object","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the blocklist.","readOnly":true,"maxLength":50,"example":"blkl_0YV8XTSH9MD578386XQDWSEBNF"},"type":{"description":"Type of blocklist.","type":"string","enum":["payment-card","bank-account","customer-id","email","email-domain","ip-address","country","fingerprint","bin","address"]},"value":{"description":"Value of the blocklist.","type":"string"},"expirationTime":{"description":"Date and time when the blocklist expires.","type":["string","null"],"format":"date-time"},"source":{"description":"Source that triggered the creation of the blocklist.","type":["string","null"],"readOnly":true,"enum":["automated-blocklists","manual-blocklists","risk-score-rules"],"example":"manual-blocklists"},"entityId":{"type":["string","null"],"readOnly":true,"description":"ID of the user, transaction or dispute that triggered the creation of the blocklist.","example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CouponRestrictionDiscountPerRedemption":{"type":"object","description":"Restricts the number of times that the coupon can be applied by one\nredemption. For example, use this restriction to configure a coupon\nthat can only be applied to the first subscription renewal of a\nparticular product.","required":["type","quantity"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["discounts-per-redemption"]},"quantity":{"type":"integer","description":"Permitted number of discounts per redemption."}}},"CurrencyCode":{"type":"string","description":"Currency code in ISO 4217 format.","minLength":3,"maxLength":3,"example":"USD","x-label":"Currency"},"CouponRestrictionMaximumOrderAmount":{"type":"object","description":"Specifies a maximum order amount for a coupon application.\nFor example, if the restriction amount is $20, \nthe coupon is only applied to invoices with a total amount of $20 or less.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["maximum-order-amount"]},"amount":{"type":"number","format":"double","description":"Maximum order amount that is allowed to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"CouponRestrictionMinimumOrderAmount":{"type":"object","description":"Specifies a minimum order amount for a coupon application. For\nexample, if the restriction amount is $20, the coupon is only\napplied to invoices with a total amount of $20 or more.","required":["type","amount","currency"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["minimum-order-amount"]},"amount":{"type":"number","format":"double","description":"Minimum order quantity that is required to apply the coupon."},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"CouponRestrictionPaidByTime":{"type":"object","description":"Specifies a date and time at which a coupon redemption expires if the invoice is not paid.","required":["type","time"],"properties":{"type":{"description":"Type of coupon restriction.","type":"string","enum":["paid-by-time"]},"time":{"type":"string","format":"date-time","description":"Date and time when a coupon redemption is no longer valid, and the coupon is removed from unpaid invoices if applied.\n\n> **Note:** This date-time cannot be changed."}}},"CouponRestrictionRestrictToInvoices":{"type":"object","description":"Restricts a coupon to specific invoices.","required":["type","invoiceIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-invoices"]},"invoiceIds":{"type":"array","description":"Invoice IDs on which a coupon can be applied.","items":{"type":"string"}}}},"CouponRestrictionRestrictToPlans":{"type":"object","description":"Restricts a coupon to specific pricing plans.","required":["type","planIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-plans"]},"planIds":{"type":"array","description":"Plan IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}},"CouponRestrictionRestrictToProducts":{"type":"object","description":"Restricts a coupon to specific products.","required":["type","productIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-products"]},"productIds":{"type":"array","description":"Product IDs on which a coupon can be applied.","items":{"type":"string"}},"minimumQuantity":{"type":"integer","default":1,"description":"Minimum quantity that is required to apply the restriction and subsequent discount."}}},"CouponRestrictionRestrictToSubscriptions":{"type":"object","description":"Restricts a coupon to specific order subscriptions.","required":["type","subscriptionIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-subscriptions"]},"subscriptionIds":{"type":"array","description":"Subscription IDs on which a coupon can be applied.","items":{"type":"string"}}}},"RedemptionRestriction":{"description":"Redemption restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"}]},"CouponRedemption":{"type":"object","description":"Coupon redemption log.","properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"cpn_rdm_01HXC82EEPW6YD3MPWJY7151VR"},"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"additionalRestrictions":{"description":"Additional coupon redemption restrictions.","type":"array","items":{"$ref":"#/components/schemas/RedemptionRestriction"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"canceledTime":{"description":"Date and time when the coupon is canceled.","readOnly":true,"x-sortable":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","coupon"]}}}}}},"DiscountContext":{"type":"string","description":"Context in which the discount applies.","default":"items","x-label":"Context","x-sortable":true,"x-basic":true,"x-enumDescriptions":{"items":"items (less discounts)","shipping":"shipping (less discounts)","items-and-shipping":"items and shipping (less discounts)"},"enum":["items","shipping","items-and-shipping"]},"DiscountFixed":{"type":"object","description":"Coupon fixed amount discount.","required":["amount","currency","type"],"properties":{"amount":{"description":"Amount of discount.","type":"number","format":"double","minimum":0.01},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"type":"string","enum":["fixed"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}},"DiscountPercent":{"type":"object","description":"Coupon percent discount.","required":["value","type"],"properties":{"value":{"description":"Percentage of discount.","type":"number","format":"double","minimum":0.01,"maximum":100},"type":{"type":"string","enum":["percent"],"x-label":"Type","x-sortable":true,"x-basic":true},"context":{"$ref":"#/components/schemas/DiscountContext"}}},"Discount":{"type":"object","description":"Coupon discount.","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/DiscountFixed","percent":"#/components/schemas/DiscountPercent"}},"oneOf":[{"$ref":"#/components/schemas/DiscountFixed"},{"$ref":"#/components/schemas/DiscountPercent"}]},"CouponRestrictionRedemptionsPerCustomer":{"type":"object","description":"Restricts the number of times that a coupon can be redeemed by one\ncustomer. For example, use this restriction to limit the number of\nredemptions to one per customer.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["redemptions-per-customer"]},"quantity":{"type":"integer","description":"Permitted number of redemptions per customer."}}},"CouponRestrictionRestrictToBxgy":{"type":"object","description":"Provides \"buy X get Y\" promotions.\nThese promotions incentivize new customers to buy and also reward existing customers.\nThis restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\nFor example, if a customer buys two or more books, they get one free bookmark.","required":["type","buy","get"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-bxgy"]},"buy":{"type":"array","description":"One or more plan and quantity definitions that must be purchased to receive all plans and quantities that are defined in the `get` instruction.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item being purchased.\nThis value must be unique within the `buy.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that must be purchased for this restriction to apply."}}}},"get":{"type":"array","description":"One or more plan and quantity definitions that are added to a purchase if all definitions in the `buy` condition are met.\nAll `planId` values in this array must be unique.","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"Plan ID of the item that is to be received by the customer.\nThis value must be unique within the `get.items` array.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"type":"integer","minimum":1,"description":"Total quantity of the associated plan ID that is to be received by the customer."}}}}}},"CouponRestrictionRestrictToCountries":{"type":"object","description":"Restricts a coupon for use in specific countries.","required":["type","countries"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-countries"]},"countries":{"type":"array","description":"Countries where the coupon can be applied, in ISO Alpha-2 code format.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","items":{"type":"string","pattern":"^[A-Z]{2}$"}}}},"CouponRestrictionRestrictToCustomerTags":{"type":"object","description":"Restricts a coupon to customers with specific tags.","required":["type","tags","requireAllTags"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customer-tags"]},"tags":{"type":"array","description":"Customer tags on which a coupon can be applied.","items":{"type":"string"}},"requireAllTags":{"type":"boolean","description":"Specifies if the customer must have all listed tags,\nor at least one of the listed tags, to redeem a coupon.","enum":[true,false],"x-enumDescriptions":{"true":"Customer must have all listed tags to redeem a coupon.","false":"Customer must have at least one of the listed tags to redeem a coupon."}}}},"CouponRestrictionRestrictToCustomers":{"type":"object","description":"Restricts a coupon to specific customers.","required":["type","customerIds"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-customers"]},"customerIds":{"type":"array","description":"Customer IDs on which a coupon can be applied.","items":{"type":"string"}}}},"CouponRestrictionExclusiveApplication":{"type":"object","description":"Restricts a coupon so that it cannot be used in combination with other coupons.\nIf more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined.\nIf a coupon with this restriction is applied, all other coupons are removed.","required":["type"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["restrict-to-exclusive-application"]}}},"CouponRestrictionTotalRedemptions":{"type":"object","description":"Restricts the number of times a coupon can be redeemed by different customers.","required":["type","quantity"],"properties":{"type":{"type":"string","description":"Type of coupon restriction.","enum":["total-redemptions"]},"quantity":{"type":"integer","description":"Permitted total number of redemptions."}}},"CouponRestriction":{"description":"Coupon restrictions.","type":"object","discriminator":{"propertyName":"type","mapping":{"discounts-per-redemption":"#/components/schemas/CouponRestrictionDiscountPerRedemption","maximum-order-amount":"#/components/schemas/CouponRestrictionMaximumOrderAmount","minimum-order-amount":"#/components/schemas/CouponRestrictionMinimumOrderAmount","paid-by-time":"#/components/schemas/CouponRestrictionPaidByTime","redemptions-per-customer":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer","restrict-to-bxgy":"#/components/schemas/CouponRestrictionRestrictToBxgy","restrict-to-countries":"#/components/schemas/CouponRestrictionRestrictToCountries","restrict-to-customer-tags":"#/components/schemas/CouponRestrictionRestrictToCustomerTags","restrict-to-customers":"#/components/schemas/CouponRestrictionRestrictToCustomers","restrict-to-exclusive-application":"#/components/schemas/CouponRestrictionExclusiveApplication","restrict-to-invoices":"#/components/schemas/CouponRestrictionRestrictToInvoices","restrict-to-plans":"#/components/schemas/CouponRestrictionRestrictToPlans","restrict-to-products":"#/components/schemas/CouponRestrictionRestrictToProducts","restrict-to-subscriptions":"#/components/schemas/CouponRestrictionRestrictToSubscriptions","total-redemptions":"#/components/schemas/CouponRestrictionTotalRedemptions"}},"oneOf":[{"$ref":"#/components/schemas/CouponRestrictionDiscountPerRedemption"},{"$ref":"#/components/schemas/CouponRestrictionExclusiveApplication"},{"$ref":"#/components/schemas/CouponRestrictionMaximumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionMinimumOrderAmount"},{"$ref":"#/components/schemas/CouponRestrictionPaidByTime"},{"$ref":"#/components/schemas/CouponRestrictionRedemptionsPerCustomer"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToBxgy"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCountries"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomerTags"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToCustomers"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToInvoices"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToPlans"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToProducts"},{"$ref":"#/components/schemas/CouponRestrictionRestrictToSubscriptions"},{"$ref":"#/components/schemas/CouponRestrictionTotalRedemptions"}]},"Coupon":{"type":"object","description":"Coupons and discounts.","required":["discount","issuedTime"],"properties":{"id":{"type":"string","description":"ID of the coupon.\nThis value is also known as the coupon redemption code.","readOnly":true,"maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"discount":{"$ref":"#/components/schemas/Discount"},"restrictions":{"description":"Coupon restrictions.\nAll `type` values in this array must be unique.","type":"array","items":{"$ref":"#/components/schemas/CouponRestriction"}},"redemptionsCount":{"type":"integer","description":"Total number of times that a coupon is redeemed.","minimum":0,"readOnly":true},"status":{"type":"string","description":"Specifies the current status of the coupon.","readOnly":true,"enum":["draft","issued","expired"]},"description":{"type":"string","x-basic":true,"description":"Description of the coupon.\nUse this field to provide a description for the invoice discount item.\n\nIf this field is empty,\nthe invoice discount item description uses the related coupon ID,\nin the following format: `Coupon \"COUPON-ID\"`."},"issuedTime":{"description":"Date and time when the coupon is issued.\nThis value may also be described as start time of the coupon.","type":"string","x-label":"Valid from","x-sortable":true,"x-basic":true,"format":"date-time"},"expiredTime":{"description":"Date and time when the coupon expires.","type":["string","null"],"x-label":"Valid until","x-sortable":true,"x-basic":true,"format":"date-time"},"revision":{"description":"Number of times the coupon data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerCredential":{"type":"object","required":["username","password","customerId"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":50,"example":"cus_crd_0YV9Y706QGCB39FQD380G1ZHZH"},"username":{"description":"Username associated with the credential.","type":"string"},"password":{"description":"Password associated with the credential.","type":"string","format":"password","writeOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"expiredTime":{"description":"Date and time when the credential expires.","type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"ArrayCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nArray of strings with up to 255 characters.\nThe maximum size is 1000 elements.","type":"string","enum":["array"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if the custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"required":{"description":"Specifies if this value is required.\nThis value can be combined with any parameter and is available for custom fields of any type.","type":"boolean"},"default":{"description":"Default value.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BooleanCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nSpecifies a `true` or `false` value.","type":"string","enum":["boolean"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"boolean"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DateCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [full-date](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DD).","type":"string","enum":["date"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DateTimeCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nString in [date-time](https://www.rfc-editor.org/rfc/rfc3339) format (YYYY-MM-DDTHH:MM:SSZ).","type":"string","enum":["datetime"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string","format":"date-time"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"IntegerCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nCardinal value of between `-2^31` and `2^31-1`.","type":"string","enum":["integer"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed integer.\nThis value can be combined with the `maximum` parameter.","type":"integer"},"maximum":{"description":"Maximum allowed integer.\nThis value can be combined with the `minimum` parameter.","type":"integer"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"integer"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"NumberCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type value cannot be changed.\n\nFloat value. This field also accepts cardinal values which are interpreted as float.","type":"string","enum":["number"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"minimum":{"description":"Minimum allowed number.\nThis value can be combined with the `maximum` parameter.","type":"number","format":"double"},"maximum":{"description":"Maximum allowed number.\nThis value can be combined with the `minimum` parameter.","type":"number","format":"double"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"number","format":"double"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"StringCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nRegular string of up to 255 characters.","type":"string","enum":["string"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"allowedValues":{"description":"List of allowed values.","type":"array","items":{"type":"string"}},"maxLength":{"description":"Maximum allowed string length .\nA maximum length of 4000 characters can be configured.\nBy default, this value is set to 255.","type":"integer"},"pattern":{"description":"Allowed regular expression of a string.","type":"string","example":"/^[0-9]+$/"},"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"string"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"MonetaryCustomField":{"type":"object","required":["type"],"properties":{"name":{"description":"Name of the custom field.","type":"string","readOnly":true},"type":{"description":"Describes the data type.\nThe custom field type cannot be changed.\n\nA map of 3-letter currency, code, and amount.\nExample: `{\"currency\": \"EUR\", \"amount\": 25.30}`.","type":"string","enum":["monetary"]},"description":{"description":"Description of the custom field.","type":["string","null"]},"isEnabled":{"description":"Specifies if custom field is enabled.","type":"boolean","default":true},"additionalSchema":{"type":["object","null"],"description":"Additional schema which adds additional values constrains.","properties":{"required":{"description":"Specifies if this value is required.","type":"boolean"},"default":{"description":"Default value.","type":"object","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","format":"double"}}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomField":{"description":"Separate custom field schema.","type":"object","discriminator":{"propertyName":"type","mapping":{"array":"#/components/schemas/ArrayCustomField","boolean":"#/components/schemas/BooleanCustomField","date":"#/components/schemas/DateCustomField","datetime":"#/components/schemas/DateTimeCustomField","integer":"#/components/schemas/IntegerCustomField","number":"#/components/schemas/NumberCustomField","string":"#/components/schemas/StringCustomField","monetary":"#/components/schemas/MonetaryCustomField"}},"oneOf":[{"$ref":"#/components/schemas/ArrayCustomField"},{"$ref":"#/components/schemas/BooleanCustomField"},{"$ref":"#/components/schemas/DateCustomField"},{"$ref":"#/components/schemas/DateTimeCustomField"},{"$ref":"#/components/schemas/IntegerCustomField"},{"$ref":"#/components/schemas/NumberCustomField"},{"$ref":"#/components/schemas/StringCustomField"},{"$ref":"#/components/schemas/MonetaryCustomField"}]},"BlankProblem":{"description":"Problem Details JSON Object [[RFC7807](https://tools.ietf.org/html/rfc7807)].","type":"object","minProperties":1,"additionalProperties":true,"properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":599},"title":{"type":"string","description":"Short, human-readable summary of the problem type.\nIt SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization."}}},"DocumentedProblem":{"type":"object","allOf":[{"properties":{"type":{"type":"string","description":"URI reference [[RFC3986](https://tools.ietf.org/html/rfc3986)] that identifies the problem type.\nIt should provide human-readable documentation for the problem type.\nWhen this member is not present, its value is assumed to be \"about:blank\".","format":"uri","example":"https://www.rebilly.com/docs/"}}},{"$ref":"#/components/schemas/BlankProblem"}]},"DetailedProblem":{"type":"object","allOf":[{"$ref":"#/components/schemas/BlankProblem"},{"properties":{"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem."}}}]},"Problem":{"type":"object","allOf":[{"$ref":"#/components/schemas/DocumentedProblem"},{"$ref":"#/components/schemas/DetailedProblem"}]},"Error":{"type":"object","allOf":[{"$ref":"#/components/schemas/Problem"},{"properties":{"error":{"deprecated":true,"type":"string"}}}]},"WebsiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"PaymentMethod":{"type":"string","description":"Payment method.","enum":["payment-card","ach","cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Airpay","Alfa-click","Alipay","AmazonPay","Apple Pay","AstroPay Card","AstroPay-GO","BankSEND","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Blik","Boleto","Boleto-2","Boleto-3","cash-deposit","CASHlib","CashToCode","CCAvenue","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Conekta-spei","cryptocurrency","Cupon-de-pagos","CyberSource","Dimoco-pay-smart","Directa24Card","domestic-cards","Efecty","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","EPS","ePay.bg","Ethereum","e-wallet","ezyEFT","eZeeWallet","FasterPay","Flexepin","Giropay","Google Pay","Gpaysafe","iCashOne Voucher","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","InstantPayments","instant-bank-transfer","Interac-online","Interac-eTransfer","Interac-express-connect","Interac","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","Litecoin","loonie","LPG-online","LPG-payment-card","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Mollie","Multibanco","Bancontact","Bancontact-mobile","MTS","MuchBetter","MuchBetterVoucher","MyFatoorah","Neosurf","Netbanking","Neteller","Nordea-Solo","NordikCoin","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-lottery","Pagsmile-deposit-express","PayCash","Payco","Payeer","PaymentAsia-crypto","Paysafecard","PayTabs","Pay4Fun","Paynote","Paymero","Paymero-QR","PayU","PayULatam","Perfect-money","Piastrix","PIX","PIX-Automatico","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","rebilly-hosted-payment-form","Resurs","reverse-withdrawal","Ripple","SafetyPay","Samsung Pay","SEPA","Siirto","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","SPEI","swift-dbt","Tele2","Telr","Terminaly-RF","Tether","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","TWINT","UniCrypt","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]},"ResourceCustomFields":{"description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nFor more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).","type":"object","default":{},"example":{"foo":"bar"}},"ContactPhoneNumbers":{"description":"List of phone numbers associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Phone number label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Phone number value.","type":"string","maxLength":50,"example":"1-512-777-0269"},"primary":{"description":"Specifies if the phone number is the contact's primary phone number.","type":"boolean","example":true}}}},"ContactEmails":{"description":"List of email addresses associated with the contact.","type":"array","items":{"type":"object","required":["label","value"],"properties":{"label":{"description":"Email label or name.","type":"string","maxLength":45,"example":"main"},"value":{"description":"Email address value.","type":"string","format":"email","maxLength":255,"example":"rebilly@example.com"},"primary":{"description":"Specifies if the email address is the contact's primary email address.","type":"boolean","example":true}}}},"ContactObject":{"type":"object","description":"Contact's information.","properties":{"firstName":{"description":"Contact's first name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Benjamin"},"lastName":{"description":"Contact's last name.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Franklin"},"organization":{"description":"Contact's organization.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"Rebilly"},"address":{"description":"First line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60,"example":"36 Craven St"},"address2":{"description":"Second line of the contact's street address.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":60},"city":{"description":"Contact's city of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Austin"},"region":{"description":"Contact's region of residence.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":45,"example":"Texas"},"country":{"description":"Contact's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","maxLength":2,"example":"GB"},"postalCode":{"description":"Contact's postal code.","type":["string","null"],"pattern":"^[\\w\\s\\-]+$","maxLength":10,"example":"WC2N 5NF"},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"dob":{"description":"Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.","type":["string","null"],"format":"date","example":"1980-04-01"},"jobTitle":{"description":"Contact's job title.","type":["string","null"],"pattern":"^[\\u0000-\\uFFFF]+$","maxLength":255,"example":"CEO"},"hash":{"description":"Hash value for the contact.\nUse this value to compare contacts for identical attribute values.","type":"string","maxLength":40,"example":"056ae6d97c788b9e98b049ebafd7b229bf852221","readOnly":true}}},"Company":{"type":["object","null"],"description":"Company information that is associated with the customer's primary email address domain.\n\nThis is a paid feature, to enable it [contact Rebilly](https://www.rebilly.com/support/).","readOnly":true,"properties":{"name":{"type":["string","null"],"description":"Name of the company."},"domain":{"type":"string","description":"Website domain of the company."},"yearFounded":{"type":["number","null"],"description":"Founding year of the company.","format":"integer"},"industry":{"type":["string","null"],"description":"Industry the company is associated with."},"employeesCount":{"type":["number","null"],"description":"Number of employees in the company.","format":"integer"},"country":{"type":["string","null"],"description":"Country where the company is based."},"locality":{"type":["string","null"],"description":"Locality or region where the company is based."},"_links":{"type":"array","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["linkedin"]}}}}}},"CustomerAverageValue":{"type":"object","readOnly":true,"description":"Average customer value.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Average Value","x-sortable":true,"x-basic":true,"description":"Average amount of approved payments in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Average approved payment amount in USD.","type":"number","format":"double"}}},"CustomerLifetimeRevenue":{"type":"object","readOnly":true,"description":"Customer's lifetime revenue.","properties":{"currency":{"description":"Merchant's reporting currency.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"x-type":"Money","x-label":"Lifetime Revenue","x-sortable":true,"x-basic":true,"description":"Revenue amount in the merchant's reporting currency.","type":"number","format":"double"},"amountUsd":{"description":"Revenue amount in USD.","type":"number","format":"double"}}},"OrganizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"TaxNumber":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"isDefault":{"type":"boolean","description":"Determines if the tax number is selected as default to display on invoices.","example":true},"isValid":{"type":["boolean","null"],"description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation).","example":true,"readOnly":true}}},"LeadSourceData":{"type":"object","description":"Lead source information.","properties":{"medium":{"description":"Category of the lead source traffic.\nFor example, the medium could be organic search, Google ads, Display ads, and so on.","type":["string","null"],"maxLength":512},"source":{"description":"Domain, platform, or channel from which the lead source originates.","type":["string","null"],"maxLength":512},"campaign":{"description":"Campaign name of the lead source.","type":["string","null"],"maxLength":512},"term":{"description":"Term associated with a lead source.","type":["string","null"],"maxLength":512},"content":{"description":"Content contained in the lead source content.\nFor example, content could be graphics, video, and so on.","type":["string","null"],"maxLength":512},"affiliate":{"description":"Individual or entity that is affiliated with the lead source.","type":["string","null"],"maxLength":512},"subAffiliate":{"description":"Individual or entity that is associated with a lead source affiliate.\nIn other products, this field may also be referred to as sub ID or click ID in some.","type":["string","null"],"maxLength":512},"salesAgent":{"description":"Name of the sales agent associated with the lead source.","type":["string","null"],"maxLength":512},"clickId":{"description":"ID of the lead source click.\nThis value is passed in the ad click URL for tracking and campaign attribution.","type":["string","null"],"maxLength":512},"path":{"description":"URL from which the lead source originates.","type":["string","null"],"maxLength":512},"referrer":{"description":"Lead source [`referrer` URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer).","type":["string","null"],"format":"uri","maxLength":2083,"example":"https://www.rebilly.com"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}}}},"Customer":{"type":"object","description":"Customer information.","properties":{"id":{"type":"string","description":"ID of the customer.","readOnly":true,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","maxLength":50},"email":{"description":"Customer's email address.","type":["string","null"],"format":"email","readOnly":true,"x-sortable":true,"x-basic":true},"firstName":{"description":"Customer's first name.","type":["string","null"],"x-basic":true,"readOnly":true},"lastName":{"description":"Customer's last name.","type":["string","null"],"x-sortable":true,"x-basic":true,"readOnly":true},"websiteId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"paymentToken":{"type":"string","writeOnly":true,"description":"Write-only payment token.\nIf supplied, the token is converted into a payment instrument, and its ID is assigned to `defaultPaymentInstrumentId` value.\nThe value of this property overrides the `defaultPaymentInstrumentId` if both are supplied.\nThis token may only be used once before it expires."},"defaultPaymentInstrument":{"type":["object","null"],"description":"Default payment instrument of the customer.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","readOnly":true,"required":["method","paymentInstrumentId"],"properties":{"method":{"$ref":"#/components/schemas/PaymentMethod"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"defaultPaymentInstrumentId":{"type":["string","null"],"description":"ID of the customer's default payment instrument.\n\nThe default payment instrument is used to automatically pay subscription renewals,\nand for transaction requests where a specific payment instrument is not provided.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","writeOnly":true},"preferredPayoutInstrumentId":{"type":["string","null"],"description":"ID of the customer's preferred payment instrument for payouts.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N","default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"primaryAddress":{"description":"Customer's primary address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"company":{"$ref":"#/components/schemas/Company"},"averageValue":{"$ref":"#/components/schemas/CustomerAverageValue"},"paymentCount":{"x-label":"Payments","x-sortable":true,"x-basic":true,"description":"Total number of approved payments made by the customer.\nPayments are the result of `sale` or `capture` transactions.","readOnly":true,"type":"integer"},"lastPaymentTime":{"x-label":"Last Payment","x-sortable":true,"x-basic":true,"description":"Date and time when the customer made their last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true},"lifetimeRevenue":{"$ref":"#/components/schemas/CustomerLifetimeRevenue"},"invoiceCount":{"x-sortable":true,"description":"Total number of invoices issued to the customer.\nThis value is auto-incrementing.\nIf this value is `0`, the record relates to a lead.\nA lead is a customer who has not made a payment yet.\nIf this value is greater than or equal to `1` the record relates to a customer.","readOnly":true,"type":"integer"},"tags":{"description":"List of customer tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"revision":{"description":"Number of times the customer's data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"hasFulfilledKyc":{"description":"Specifies if the customer has accepted and reviewed identity and address documents, or an accepted credit file document.","type":"boolean","readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"locale":{"type":["string","null"],"description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR","default":null},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the customer.","items":{"$ref":"#/components/schemas/TaxNumber"}},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}],"writeOnly":true},"personId":{"type":["string","null"],"description":"ID of the associated person.","maxLength":50,"example":"prs_0YV7DDSDD1C8DA64KHH2W33CPF"},"notificationEmails":{"type":"array","description":"Email addresses for notification delivery in event-based email notifications.\nWhen you configure event-based email notifications, you can send to these addresses, the customer's primary email address, or another email address you specify.\nFor more information, see [Manage notification emails](https://www.rebilly.com/docs/data-tables/manage-customer-information#manage-notification-emails).","items":{"type":"string","format":"email"}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","defaultPaymentInstrument","leadSource","website"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested using the `expand` query string parameter.","readOnly":true,"properties":{"defaultPaymentInstrument":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"}}}}},"CustomerTimelineCustomEvent":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"name":{"description":"Name of the customer timeline custom event type.\nThis value must not conflict with any system event name.","type":"string","minLength":1,"maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"LeadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSourceData"},{"type":"object","properties":{"original":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/LeadSourceData"}]}}}]},"RedemptionCancelTimelineAction":{"description":"Cancel redemption.","type":"object","readOnly":true,"properties":{"action":{"type":"string","enum":["redemption-cancel"]},"redemptionId":{"$ref":"#/components/schemas/ResourceId"}}},"ResendEmailTimelineAction":{"type":"object","description":"Resend email action.","readOnly":true,"properties":{"action":{"type":"string","enum":["resend-email"]},"messageId":{"$ref":"#/components/schemas/ResourceId"}}},"RulesetRestoreTimelineAction":{"type":"object","description":"Restore ruleset version.","readOnly":true,"properties":{"action":{"type":"string","enum":["ruleset-restore"]},"version":{"type":"integer","description":"Version of the ruleset to restore."}}},"TimelineAction":{"type":"object","discriminator":{"propertyName":"action","mapping":{"redemption-cancel":"#/components/schemas/RedemptionCancelTimelineAction","resend-email":"#/components/schemas/ResendEmailTimelineAction","ruleset-restore":"#/components/schemas/RulesetRestoreTimelineAction"}},"oneOf":[{"$ref":"#/components/schemas/RedemptionCancelTimelineAction"},{"$ref":"#/components/schemas/ResendEmailTimelineAction"},{"$ref":"#/components/schemas/RulesetRestoreTimelineAction"}]},"TimelineTable":{"type":"object","description":"Additional timeline message information.","discriminator":{"propertyName":"type","mapping":{"three-columns":"#/components/schemas/ThreeColumnsTimelineTable","two-columns":"#/components/schemas/TwoColumnsTimelineTable","one-column":"#/components/schemas/OneColumnTimelineTable","list":"#/components/schemas/ListTimelineTable"}},"properties":{"type":{"type":"string","enum":["list","one-columns","two-columns","three-columns"]},"title":{"type":"string","description":"Data table title."},"footer":{"type":"string","description":"Data table footer."}}},"ThreeColumnsTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"previousValue":{"type":["string","integer","number","boolean"]},"newValue":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Descriptor","previousValue":"test.com","newValue":"new-test.com"}}}}}]},"TwoColumnsTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]},"OneColumnTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"object","properties":{"attribute":{"type":"string"},"value":{"type":["string","integer","number","boolean"]}},"example":{"attribute":"Who","value":"John Doe"}}}}}]},"ListTimelineTable":{"allOf":[{"$ref":"#/components/schemas/TimelineTable"},{"type":"object","properties":{"data":{"type":"array","description":"Table data.\nEach array element represents a table row.","items":{"type":"string"}}}}]},"TimelineExtraData":{"type":"object","description":"Additional data.","readOnly":true,"properties":{"actions":{"description":"Actions available for a timeline message.\nIf no actions are available, this field is empty.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineAction"}},"tables":{"description":"Table data that is attached to the timeline message.","type":"array","minItems":0,"items":{"$ref":"#/components/schemas/TimelineTable"}},"author":{"type":"object","description":"Author of the timeline message.","properties":{"userFullName":{"description":"Full name of the author.","type":"string"},"userId":{"description":"ID of the author.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"}}},"mentions":{"description":"User mentions, or tags, in a timeline.","type":"object","additionalProperties":{"type":"string"},"example":{"@test@mail.com":"userId-1"}},"links":{"description":"Links that are attached to a timeline message.","type":"array","items":{"type":"object","properties":{"resourceType":{"type":"string","enum":["kyc-document","invoice","subscription","transaction","email-message","dispute","coupon","external","payout-request-batch"]},"resourceId":{"$ref":"#/components/schemas/ResourceId"},"placeholder":{"type":"string","example":"KYC document"},"externalUrl":{"type":"string","example":"http://example.com"}}}}}},"ServerTimestamp":{"type":"string","description":"Read-only timestamp in ISO 8601 date-time format.","format":"date-time","readOnly":true},"CustomerTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the customer timeline custom event.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","enum":["account-password-reset-requested","account-verification-requested","aml-list-was-possibly-matched","deposit-request-completed","deposit-request-created","deposit-request-expired","deposit-request-started","coupon-applied","coupon-redeemed","coupon-redemption-canceled","custom-event","custom-event-processed","custom-fields-changed","customer-bank-account-blocked","customer-blocked","customer-comment-created","customer-created","customer-merged","customer-payment-card-blocked","customer-requested-otp","customer-tagged","customer-untagged","default-payment-instrument-changed","email-message-sent","experian-check-performed","invoice-abandoned","invoice-created","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-revenue-recognized","invoice-voided","kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-fulfilled","lead-source-changed","order-activated","order-canceled","order-churned","order-completed","order-created","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-paid-early","order-reactivated","order-renewed","order-trial-ended","order-upgraded","payment-card-expiration-was-modified","payment-card-expired","payment-instrument-created","payment-instrument-deactivated","primary-address-changed","quickbooks-customer-created","quickbooks-customer-task-failed","quote-canceled","quote-created","quote-expired","quote-issued","quote-order-attached","quote-recalled","quote-rejected","quote-updated","refund-was-reflected-in-invoices","subscription-pause-created","subscription-pause-revoked","subscription-paused","subscription-resumed","subscription-trial-end-changed","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-voided","transaction-waiting-gateway","wallet-admin-credited","wallet-admin-debited"]},"customEventType":{"description":"Timeline custom event type.\nUsed with `custom-event` type.\nThis value must be defined using the Create customer timeline custom event type operation.","type":["string","null"],"minLength":1,"maxLength":255},"customData":{"description":"Timeline custom event data.\nUsed with `custom-event` type.\nTransforms to `extraData` two-column table in response.","type":"object","writeOnly":true,"example":{"customAttribute":"customValue","otherAttribute":"otherValue"}},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Detailed message description.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CustomerCreditBalance":{"type":"object","required":["balances"],"properties":{"balances":{"description":"Customer credit balances grouped by currency.","readOnly":true,"type":"array","items":{"type":"object","required":["currency","unallocatedAmount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"unallocatedAmount":{"description":"Sum of unallocated credit memo amounts for the currency.","readOnly":true,"type":"number","format":"double","x-type":"Money","x-currency-field":"currency"}}}}}},"Dispute":{"type":"object","properties":{"id":{"type":"string","description":"ID of the dispute.","readOnly":true,"maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"customerId":{"description":"ID of the customer who is disputing a transaction.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"transactionId":{"description":"ID of the disputed transaction.","type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"]},"caseId":{"description":"Case ID of the dispute.","type":["string","null"]},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":["string","null"],"maxLength":255},"reasonDescription":{"description":"Description of the reason for the dispute.","type":["string","null"],"maxLength":512,"readOnly":true},"category":{"description":"Category of dispute.","type":"string","readOnly":true,"enum":["fraud","authorization","processing-errors","consumer-disputes","uncategorized","bank-return"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"},"rawResponse":{"description":"Raw response from the payment gateway that processed the disputed transaction.","type":["string","null"],"readOnly":true},"resolvedTime":{"type":["string","null"],"format":"date-time","description":"Date and time when the dispute is resolved.","readOnly":true},"source":{"description":"Source of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"api","manual","sftp","webhook"]},"revision":{"description":"Number of times the dispute data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","customer","attachments"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"transaction":{"type":"object"},"customer":{"type":"object"}}}}},"TransactionId":{"type":"string","description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"File":{"type":"object","properties":{"id":{"type":"string","description":"ID of the file.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"name":{"description":"Original file name.","type":"string","maxLength":255},"extension":{"description":"File extension.","type":"string"},"description":{"description":"Description of the file.","type":"string","maxLength":255},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"}},"mime":{"description":"MIME type of the file.","type":"string","readOnly":true,"enum":["image/png","image/jpeg","image/gif","image/webp","application/pdf","application/json","application/zip","text/csv"]},"size":{"description":"File size, in bytes.","type":"integer","readOnly":true},"width":{"description":"Width of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"height":{"description":"Height of the image.\nThis field is applicable to images only.","type":["integer","null"],"readOnly":true},"sha1":{"description":"Hash sum of the file.","type":"string","readOnly":true},"exifData":{"description":"Collection of EXIF tags contained in the image metadata.\nThis field is applicable to images only.","type":["object","null"],"readOnly":true,"example":{"FileSize":120,"Software":"GIMP 2.4.5"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","download","signedLink","permalink"]}}}}}},"FileCreateFromInline":{"type":"object","required":["file"],"properties":{"file":{"description":"File in base64 encoded format.","type":"string","example":"R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}},"FileCreateFromUrl":{"type":"object","required":["url"],"properties":{"url":{"description":"URL of the file to upload.","type":"string","example":"https://app.rebilly.com/static/gateways/Stripe.png"},"isPublic":{"description":"Specifies if the file is available publicly without authentication.\nIf this value is `true`, the permalink in the `_links` section contains the public URL.","type":"boolean","example":false},"name":{"description":"File name used for downloading.","type":"string","maxLength":255,"example":"logo.png"},"description":{"description":"Description of the file.","type":"string","maxLength":255,"example":"My file description"},"sourceType":{"description":"Source of the file.","type":["string","null"],"enum":["upload","camera","organization-export","organization-closure-export",null],"example":"upload"},"tags":{"description":"List of tags associated with the file.","type":"array","items":{"type":"string"},"example":["test","tags"]}}},"ManualShipping":{"description":"Manually set shipping amount.","type":"object","required":["amount","calculator"],"properties":{"amount":{"x-type":"Money","type":"number","format":"double","description":"Shipping amount."},"calculator":{"description":"Shipping calculator.","type":"string","enum":["manual"]}}},"RebillyShipping":{"description":"Rebilly-based shipping which is calculated by shipping rates.","type":"object","required":["calculator"],"properties":{"calculator":{"description":"Shipping calculator.","type":"string","enum":["rebilly"]},"rateId":{"description":"ID of the shipping rate.\nIf this value is not set,\nthe cheapest applicable shipping rate is used.","type":["string","null"],"maxLength":50,"example":"shipping-123-456"},"amount":{"type":"number","format":"double","readOnly":true,"description":"Shipping amount which is calculated from [Shipping rates](https://www.rebilly.com/catalog/all/shipping-rates)."}}},"Shipping":{"description":"Shipping settings.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualShipping","rebilly":"#/components/schemas/RebillyShipping"}},"oneOf":[{"$ref":"#/components/schemas/ManualShipping"},{"$ref":"#/components/schemas/RebillyShipping"}]},"TaxItem":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double","readOnly":true},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94,"readOnly":true},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04,"readOnly":true},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0,"readOnly":true},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38,"readOnly":true},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double","readOnly":true},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"readOnly":true,"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US","readOnly":true},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA","readOnly":true},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES","readOnly":true}}}}},"ManualTax":{"type":"object","description":"Manual tax calculator.","required":["calculator","items"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["manual"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"RebillyTaxJarTax":{"type":"object","description":"TaxJar tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-taxjar"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"RebillyAvalaraTax":{"type":"object","description":"Avalara tax calculator.","required":["calculator"],"properties":{"calculator":{"description":"Type of tax calculator.","type":"string","enum":["rebilly-avalara"]},"amount":{"type":"number","format":"double","x-type":"Money","x-sortable":true,"description":"Total amount of taxes.","readOnly":true},"items":{"type":"array","description":"Taxes applied and calculated based on the `taxCategoryId` of the related product.","items":{"$ref":"#/components/schemas/TaxItem"}}}},"Taxes":{"description":"Taxes.","type":"object","discriminator":{"propertyName":"calculator","mapping":{"manual":"#/components/schemas/ManualTax","rebilly-taxjar":"#/components/schemas/RebillyTaxJarTax","rebilly-avalara":"#/components/schemas/RebillyAvalaraTax"}},"oneOf":[{"$ref":"#/components/schemas/ManualTax"},{"$ref":"#/components/schemas/RebillyTaxJarTax"},{"$ref":"#/components/schemas/RebillyAvalaraTax"}]},"InvoiceItem":{"type":"object","required":["type","unitPrice"],"properties":{"id":{"type":"string","description":"ID of the invoice item.","readOnly":true,"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"description":"Type of invoice item.","type":"string","x-basic":true,"enum":["debit","credit"]},"description":{"description":"Description of the invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"price":{"description":"Total price of the invoice item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"readOnly":true,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":["string","null"],"description":"ID of the order.","maxLength":50,"readOnly":true,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":["string","null"],"format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":["string","null"],"format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":["integer","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/TaxItem"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","subscription","plan"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}},"CreditMemoInvoiceAllocation":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"GatewayName":{"description":"Payment gateway name.","type":["string","null"],"enum":["A1Gateway","ACI","Adyen","Aera","Aircash","Airpay","Airwallex","AsiaPay","AmazonPay","AmexVPC","Antom","ApcoPay","AsiaPaymentGateway","AstroPayCard","AuthorizeNet","Awepay","Bambora","BankSEND","BitPay","BlueSnap","BraintreePayments","Buckaroo","BVNK","Cardknox","Cashflows","CASHlib","Cashterminal","CashToCode","CauriPayment","Cayan","CCAvenue","Chase","CheckoutCom","Chillstock","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptomus","Cryptonator","CyberSource","DataCash","Dengi","Dimoco","Directa24","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","ecoPayzTurkey","EcorePay","Elavon","Euteller","eMerchantPay","EMS","ePay","EPG","EPro","Ezeebill","eZeeWallet","ezyEFT","FasterPay","Finrax","Flexepin","FinTecSystems","FundSend","Forte","gate2way","GET","Gigadat","GlobalOnePay","GoCardless","Gooney","Gpaysafe","Greenbox","HiPay","iCashOne","iCanPay","ICEPAY","iCheque","iDebit","Ilixium","IMerchant","Ingenico","INOVAPAY","Inovio","Intuit","InstaDebit","IpayOptions","Isx","JetPay","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","LaCore","Limepay","Loonio","loonie","LPG","MaxiCash","MercadoPago","MiFinity","Mollie","MobilePay","Moneris","Monolo","MonRem","MtaPay","MuchBetter","MuchBetterGateway","MyFatoorah","Naewe","Neosurf","Netbanking","Neteller","NGenius","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Pagadito","Pagsmile","Panamerican","ParamountCommerce","ParamountEft","ParamountInterac","PandaGateway","Pay4Fun","Paybilt","PayCash","Paycly","PayClub","PayCom","PayEcards","Payeezy","Payflow","PayGlocal","Paynote","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","PayPal","Payper","Payr","PayRedeem","PayRetailers","Paysafe","Paysafecard","Paysafecash","PayTabs","PayU","PayULatam","Payvision","PayXpert","PharosPayments","Piastrix","Pin4Pay","Plugnpay","PostFinance","Powertranz","PPRO","Prosa","PSiGate","Quickpay","Rapyd","Realex","Realtime","Redsys","Rotessa","RPN","Safecharge","SaltarPay","Sagepay","SeamlessChex","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","Splitit","StaticGateway","STPMexico","Stripe","Tabby","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","TrustsPay","Trustly","TWINT","Txn","Unlimit","UPayCard","USAePay","VantivLitle","vegaaH","VCreditos","VegaWallet","Viva","Wallet88","Walpay","WesternUnion","Wirecard","WorldlineAtosFrankfurt","Worldpay","XPay","Zimpler","Zotapay"]},"AcquirerName":{"description":"Acquirer name.","type":["string","null"],"enum":["Adyen","ACI","Aera","Alipay","AIB","Aircash","Airpay","AmazonPay","ApcoPay","AsiaPaymentGateway","AstroPay Card","Awepay","Ipay Options","B+S","Bambora","BitPay","Bank of America","Bank of Moscow","Bank of Rebilly","Bank One","BankSEND","BMO Harris Bank","Borgun","BraintreePayments","Buckaroo","BVNK","Cardknox","CASHlib","Cashterminal","CashToCode","Catalunya Caixa","CCAvenue","Chase","CheckoutCom","Chillstock","ChinaUnionPay","CIM","Circle","Citadel","Clearhaus","Cleo","CODVoucher","Coinbase","CoinGate","CoinPayments","Conekta","Coppr","Cps","Credorax","Cryptonator","CyberSource","Dimoco","dLocal","Dragonphoenix","Dropayment","EasyPayDirect","EBANX","ecoPayz","EcorePay","Elavon","EMS","ePay","EPG","Euteller","Ezeebill","eZeeWallet","ezyEFT","Fifth Third Bank","Finrax","First Data Buypass","First Data Nashville","First Data North","First Data Omaha","FinTecSystems","Flexepin","Forte","FundSend","gate2way","Gigadat","Global East","Gooney","Gpaysafe","Heartland","HiPay","HSBC","iCashOne","iCanPay","ICEPAY","iCheque","Ilixium","Ingenico","INOVAPAY","Intuit","Isx","Jeton","JPMOrbital","Khelocard","Klarna","Konnektive","Kushki","Limepay","Loonio","loonie","LPG","Masapay","MaxiCash","MercadoPago","Merrick","Mission Valley Bank","MiFinity","MobilePay","Moneris","Monolo","MonRem","MuchBetter","MuchBetterGateway","MyFatoorah","NATWEST","Neosurf","Netbanking","Neteller","NinjaWallet","NMI","NordikCoin","NOWPayments","NuaPay","Nuvei","OchaPay","OmniMatrix","Onlineueberweisen","OnRamp","Orbital","Other","Panamerican","Panda Bank","Paramount","ParamountCommerce","ParamountEft","ParamountInterac","Pay4fun","Paybilt","PayCash","PayClub","PayEcards","PayGlocal","PaymentAsia","PaymenTechnologies","PaymentsOS","Paymero","Paynetics","PayPal","Payper","Payr","PayRedeem","PayRetailers","PayTabs","PayU","PayULatam","Payvision","PharosPayments","Piastrix","Pin4Pay","Peoples Trust Company","PostFinance","PPRO","Privatbank","Prosa","PSiGate","QQPay","Rapyd","RBC","RBS WorldPay","RealTime","Rotessa","Safecharge","SaltarPay","SecureTrading","SecurionPay","Skrill","SmartInvoice","SMSVoucher","Sofort","SparkPay","State Bank of Mauritius","STPMexico","Stripe","Tabby","TBI","Telr","TestProcessor","Thunes","ToditoCash","Triple000","Truevo","Trustly","TrustPay","TrustsPay","TSYS","TWINT","Txn","UPayCard","Vantiv","VCreditos","VegaWallet","VoicePay","Wallet88","WeChat Pay","Wells Fargo","Wing Hang Bank","Wirecard","WorldPay","XPay","Zimpler","Zotapay"]},"VaultedInstrument":{"title":"Vaulted payment instrument","description":"Vaulted payment instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","required":["method","paymentInstrumentId"],"properties":{"method":{"description":"Payment method supported vault.\nFor more information, see [Payment instrument](https://www.rebilly.com/catalog/all/payment-instruments).","type":"string","enum":["payment-card","ach","paypal"]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"AlternativePaymentInstrument":{"title":"Alternative instrument","description":"Alternative payment method instrument.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"allOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"not":{"enum":["payment-card","ach","paypal","cash","check"]}}]},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"reference":{"description":"Reference data.\nThis field is available only for the `bank-transfer` payment method.","type":["string","null"]}}},"CashInstrument":{"title":"Cash","description":"Cash payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["cash"]},"receivedBy":{"description":"Individual or entity that received the payment.","type":"string"}}},"CheckInstrument":{"title":"Check","description":"Check payment instrument object.\n\nTo use this payment instrument for automatic subscription renewals,\nand for transactions when no specific payment instrument is provided by the user,\nset this as the default payment instrument.","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["check"]},"reference":{"description":"Reference data.","type":"string"}}},"MoneyAmount":{"type":"number","format":"double","example":10,"x-type":"Money"},"Money":{"type":"object","required":["amount","currency"],"properties":{"amount":{"$ref":"#/components/schemas/MoneyAmount"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"HttpHeaders":{"type":"object","description":"HTTP headers.","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},"x-is-free-form":true},"RiskMetadata":{"type":"object","title":"Risk metadata","description":"Risk metadata used for 3D Secure and risk scoring.","properties":{"ipAddress":{"description":"Customer's IP address.","type":["string","null"],"format":"ipv4 or ipv6","example":"93.92.91.90"},"fingerprint":{"description":"Customer's device fingerprint.\nA device fingerprint is a unique token that is used to identify the customer.\nThe device fingerprint is generated based on device attributes, such as: hardware,\nsoftware, IP address, language, browser, and more.","type":["string","null"],"maxLength":50,"example":"pIUt3xbgX3l9g3YDiLbx"},"httpHeaders":{"oneOf":[{"$ref":"#/components/schemas/HttpHeaders"},{"type":"null"}]},"browserData":{"type":["object","null"],"description":"Browser data used for 3D Secure and risk scoring.","required":["colorDepth","isJavaEnabled","language","screenWidth","screenHeight","timeZoneOffset"],"properties":{"colorDepth":{"description":"Browser color depth in bits per pixel.\nThis value is obtained using the `screen.colorDepth` property.","type":"integer","minimum":1,"maximum":48,"example":24},"isJavaEnabled":{"description":"Specifies if Java is enabled in a browser.\nThis value is obtained from the `navigator.javaEnabled` property.","type":"boolean"},"language":{"description":"Browser language settings.\nThis value is obtained from the `navigator.language` property.","type":"string","example":"en-US","maxLength":8},"screenWidth":{"description":"Width of the browser screen.\nThis value is obtained from the `screen.width` property.","type":"integer","minimum":0,"maximum":65535,"example":1920},"screenHeight":{"description":"Height of the browser screen.\nThis value is obtained from the `screen.height` property.","type":"integer","minimum":0,"maximum":65535,"example":1080},"timeZoneOffset":{"description":"Browser time zone offset in minutes from UTC.\nA positive offset indicates that the local time is behind UTC.\nA negative offset indicates that the local time is ahead of UTC.\nYou can find this value using the `(new Date()).getTimezoneOffset()` property.","type":"integer","minimum":-1410,"maximum":1410,"example":300},"isAdBlockEnabled":{"description":"Specifies if the usage of ad block has been detected in the browser.","type":["boolean","null"]}}},"extraData":{"type":["object","null"],"description":"Third-party data used for risk scoring.","properties":{"kountFraudSessionId":{"description":"Alpha-numeric `fraudSessionId` as provided by the Kount SDK.","type":["string","null"],"minLength":10,"maxLength":32,"example":"abcdefg12345abababab123456789012"},"payPalMerchantSessionId":{"description":"PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.","type":["string","null"],"minLength":1,"maxLength":64,"example":"dd65ratxc5qv15iph3vyoq7l6davuowa"},"threatMetrixSessionId":{"description":"Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.","pattern":"[a-zA-Z0-9_-]+","type":["string","null"],"minLength":1,"maxLength":128,"example":"dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa"}}},"isProxy":{"description":"Specifies if the customer's IP address is related to a proxy.","type":"boolean","readOnly":true},"isVpn":{"description":"Specifies if the customer's IP address is related to a VPN.","type":"boolean","readOnly":true},"isTor":{"description":"Specifies if the customer's IP address is related to TOR.","type":"boolean","readOnly":true},"isHosting":{"description":"Specifies if the customer's IP address is related to hosting.","type":"boolean","readOnly":true},"hostingName":{"description":"Name of the data center or hosting provider, if available.","type":["string","null"],"readOnly":true},"isp":{"description":"Internet Service Provider (ISP) name, if available.","type":["string","null"],"readOnly":true},"country":{"description":"Country ISO Alpha-2 code of the specified IP address.","maxLength":2,"type":["string","null"],"readOnly":true,"example":"US"},"region":{"description":"Region of the specified IP address.","type":["string","null"],"readOnly":true,"example":"NY"},"city":{"description":"City of the specified IP address.","type":["string","null"],"readOnly":true,"example":"New York"},"latitude":{"description":"Latitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"longitude":{"description":"Longitude of the specified IP address.","type":["number","null"],"format":"double","readOnly":true},"postalCode":{"description":"Postal code of the specified IP address.","type":["string","null"],"maxLength":10,"readOnly":true},"timeZone":{"description":"Time zone of the specified IP address.","type":["string","null"],"readOnly":true,"example":"America/New_York"},"accuracyRadius":{"description":"Accuracy radius of the specified IP address, in kilometers.","type":["integer","null"],"readOnly":true},"distance":{"description":"Distance between the customer's IP address and the billing address geolocation, in kilometers.","type":["integer","null"],"readOnly":true},"hasMismatchedBillingAddressCountry":{"description":"Specifies if the customer's billing address country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedBankCountry":{"description":"Specifies if the customer's bank country and geo-IP address are not the same.","type":"boolean","readOnly":true},"hasMismatchedTimeZone":{"description":"Specifies if the customer's browser time zone and the IP address associated time zone are not the same.","type":"boolean","readOnly":true},"hasMismatchedHolderName":{"description":"Specifies if the customer's billing address name and primary address name are not the same.","type":"boolean","readOnly":true},"hasFakeName":{"description":"Specifies if the holder name seems fake.","type":"boolean","readOnly":true},"isHighRiskCountry":{"description":"Specifies if the geo-IP country, or the customer's billing country, is considered a high risk country.","type":"boolean","readOnly":true},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","type":"integer","readOnly":true},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","type":"integer","readOnly":true},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","type":"integer","readOnly":true},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","type":"integer","readOnly":true},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","type":"integer","readOnly":true},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","type":"integer","readOnly":true},"score":{"description":"Computed risk score based on IP risk data,\nsuch as: `isVpn`, `isTor`, and `isProxy`.","type":"integer","readOnly":true}}},"TransactionLimitAmount":{"type":["object","null"],"title":"LimitAmount","description":"Transaction amount limit information.","properties":{"amount":{"type":"number","format":"double","example":275.35,"description":"Limit amount."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"resetTime":{"type":["string","null"],"format":"date-time","description":"Date and time in which the limit amount resets.\nThis value may be used for user interfaces."}}},"Transaction":{"type":"object","description":"Transaction information.","properties":{"id":{"readOnly":true,"$ref":"#/components/schemas/TransactionId"},"websiteId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"customerId":{"x-basic":true,"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"amount":{"x-type":"Money","x-sortable":true,"x-basic":true,"description":"Total amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"purchaseAmount":{"description":"Amount by which the purchase is completed.\nIf an adjustment occurs, the purchased amount may differ from the requested amount.","type":"number","format":"double","x-type":"Money","x-currency-field":"purchaseCurrency","x-sortable":true,"readOnly":true},"purchaseCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"requestAmount":{"description":"Amount of the payment request.\nIf an adjustment occurs,\nthe purchase amount may differ from the billing amount.","type":"number","x-type":"Money","x-currency-field":"requestCurrency","format":"double","readOnly":true},"requestCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"parentTransactionId":{"description":"ID of the parent transaction.","type":["string","null"],"$ref":"#/components/schemas/TransactionId"},"childTransactions":{"description":"IDs of child transactions.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"invoiceIds":{"description":"Related invoice IDs.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"subscriptionIds":{"description":"Subscription IDs of invoices that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"planIds":{"description":"Plan IDs of orders that are related to the transaction.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/ResourceId"}},"isRebill":{"description":"Specifies if the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","type":"boolean","readOnly":true},"rebillNumber":{"description":"Rebill number of the transaction.\nA rebill number is the number of recurring payments in a subscription, excluding trials or setup fees.","type":"integer","readOnly":true,"x-sortable":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"has3ds":{"description":"Specifies if the transaction uses 3D Secure.","type":"boolean","readOnly":true},"3ds":{"type":"object","description":"Authentication object.\nFor more information, see [3D Secure (3DS)](https://www.rebilly.com/docs/settings/3ds/).","readOnly":true,"properties":{"server":{"description":"Name of the 3D Secure server.","type":"string"},"version":{"description":"Version of 3D Secure.","type":"string","enum":["1.0.2","2.1.0","2.2.0"]},"enrolled":{"description":"Specifies if the cardholder is enrolled in 3D Secure.","type":"string","enum":["yes","no","invalid card/timeout","unavailable"]},"authenticated":{"description":"Authentication response status for 3D Secure.","type":"string","enum":["yes","no","not applicable","attempted"]},"liability":{"type":"string","enum":["protected","not protected","protected (attempt)"]},"flow":{"description":"Authentication flow for 3D Secure 2.","type":"string","enum":["frictionless","challenge"]},"isDowngraded":{"description":"Specifies if 3D Secure 2 is attempted and downgraded to 3D Secure 1.","type":"boolean","default":false,"deprecated":true}}},"redirectUrl":{"description":"URL where the end-user is redirected to when an offsite transaction is completed.\nThe default value is the website URL.","type":["string","null"],"maxLength":2083,"format":"uri"},"retryNumber":{"type":"integer","readOnly":true,"description":"Position of the transaction in the sequence of retries.","x-sortable":true},"isRetry":{"type":"boolean","readOnly":true,"description":"Specifies if a transaction is a retry."},"billingDescriptor":{"type":["string","null"],"readOnly":true,"description":"Billing descriptor that appears on the periodic billing statement.\nFor a credit card statement, this field commonly contains 12 or fewer characters."},"description":{"type":"string","description":"Description of the payment.","maxLength":255},"requestId":{"description":"Request ID of the transaction.\nThis ID must be unique within a 24-hour period.\nUse this field to prevent duplicate transactions.","type":"string","x-sortable":true},"hasAmountAdjustment":{"description":"Specifies if the transaction has amount adjustment.","type":"boolean","readOnly":true},"gatewayName":{"readOnly":true,"description":"Name of the payment gateway that processed, or is selected to process, the transaction.\nThis value is only available after a gateway is selected for the transaction.","x-label":"Gateway","x-basic":true,"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"processedTime":{"description":"Date and time when the transaction is processed.","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"gatewayAccountId":{"type":["string","null"],"description":"ID of the gateway account that processed the transaction.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34","readOnly":true},"gatewayTransactionId":{"description":"ID of the gateway transaction.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"gateway":{"type":"object","description":"Related gateway information.","readOnly":true,"properties":{"response":{"description":"Gateway response.","type":"object","properties":{"code":{"description":"Gateway response code.","type":["string","null"]},"message":{"description":"Gateway response message.","type":["string","null"]},"type":{"description":"Gateway response type.","type":["string","null"]},"originalCode":{"description":"Raw, unmapped gateway response code.","type":["string","null"]},"originalMessage":{"description":"Raw, unmapped gateway response message.","type":["string","null"]}}},"avsResponse":{"description":"Gateway Address Verification System (AVS) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}},"cvvResponse":{"description":"Gateway Card Verification Value (CVV) response.","type":"object","properties":{"code":{"description":"Response code.","type":["string","null"]},"message":{"description":"Response message.","type":["string","null"]},"originalCode":{"description":"Raw response code.","type":["string","null"]},"originalMessage":{"description":"Raw response message.","type":["string","null"]}}}}},"acquirerName":{"readOnly":true,"description":"Acquirer name.\nThis value is only available when a transaction uses a payment gateway.\nIf a transaction does not use a payment gateway, this value is `null`.","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"deprecated":true,"description":"Payment method.\n\n>**Note:** Use `paymentInstrument.method` instead.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}]},"velocity":{"description":"Number of transactions by the same customer in the past 24 hours.","type":"integer"},"revision":{"description":"Number of times the transaction data has been modified.\n\nThis revision number is useful when analyzing webhook data to determine if the change takes precedence over the current representation.","type":"integer","readOnly":true},"referenceData":{"description":"Transaction reference data.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"},"readOnly":true},"bin":{"description":"Payment card Bank Identification Number (BIN).","x-label":"BIN","type":["string","null"],"format":"bin","readOnly":true},"paymentInstrumentFingerprint":{"description":"Unique value that is used to identify the payment instrument of the transaction.\nThis value is `null` if the transaction has no payment instrument,\nor the payment instrument has no fingerprint.","type":["string","null"],"readOnly":true},"paymentInstrument":{"type":"object","oneOf":[{"$ref":"#/components/schemas/VaultedInstrument"},{"$ref":"#/components/schemas/AlternativePaymentInstrument"},{"$ref":"#/components/schemas/CashInstrument"},{"$ref":"#/components/schemas/CheckInstrument"}]},"hasDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) applies to the transaction.","type":"boolean","readOnly":true},"dcc":{"description":"Detailed Dynamic currency conversion (DCC).\nIf DCC is not applied to the transaction, this value is `null`.","type":["object","null"],"readOnly":true,"properties":{"base":{"description":"Initial amount and currency to convert from.","$ref":"#/components/schemas/Money"},"quote":{"description":"Suggested amount and currency to convert to.","$ref":"#/components/schemas/Money"},"usdMarkup":{"description":"Markup amount converted to USD.","$ref":"#/components/schemas/MoneyAmount"},"outcome":{"type":"string","description":"Dynamic currency conversion outcome.","enum":["unprocessed","rejected","selected"]},"isForceDcc":{"description":"Specifies if Dynamic Currency Conversion (DCC) is forced for the transaction.","type":"boolean"}}},"riskScore":{"description":"Risk score for the transaction.","type":"integer","readOnly":true,"x-sortable":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"notificationUrl":{"description":"URL where a server-to-server POST notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"isDisputed":{"description":"Specifies if a transaction is disputed.","type":"boolean","readOnly":true},"disputeTime":{"description":"Date and time when the dispute is created.\nIf the transaction is not disputed, this value is `null`.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true},"disputeStatus":{"description":"Status of the dispute.","type":["string","null"],"readOnly":true,"enum":[null,"response-needed","under-review","forfeited","won","lost","unknown"]},"isReconciled":{"description":"Specifies if the transaction is verified with gateway batch data.","type":"boolean","readOnly":true},"isProcessedOutside":{"description":"Specifies if the transaction is processed outside of Rebilly.","type":"boolean"},"isMerchantInitiated":{"description":"Specifies if the transaction is initiated by the merchant.","type":"boolean"},"hadDiscrepancy":{"description":"Specifies if the transaction is updated due to a discrepancy with its source of truth.","type":"boolean","readOnly":true},"orderId":{"deprecated":true,"description":"Order ID of the transaction.\nThis ID must be unique within a 24 hour period.\n\n> **Note:** Use the `requestId` field instead.","type":"string","x-sortable":true},"arn":{"x-label":"ARN","type":["string","null"],"readOnly":true,"description":"Acquirer reference number.","example":"74836950144358910018150"},"reportAmount":{"description":"Transaction amount converted to the report currency of the organization.","type":"number","x-type":"Money","x-sortable":true,"x-currency-field":"reportCurrency","format":"double","readOnly":true},"reportCurrency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"settlementTime":{"type":["string","null"],"description":"Date and time when the transaction is settled by the banking institution.","format":"date-time","readOnly":true,"x-sortable":true},"discrepancyTime":{"type":["string","null"],"description":"Date and time of the most recent discrepancy on the transaction.","format":"date-time","readOnly":true,"x-sortable":true},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"depositRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the deposit request if applicable.\nThe created transaction is based on the properties of this deposit request.","maxLength":50,"example":"dep_req_0YVJ65BSGYC3EAT58SEX8KY6J7"},"transferId":{"readOnly":true,"type":["string","null"],"description":"ID of the ledger transfer if applicable.\nThe transaction is linked to this transfer when processed in the wallet ledger.","maxLength":50,"example":"tb_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"payoutRequestId":{"readOnly":true,"type":["string","null"],"description":"ID of the payout request if applicable.\nThe created transaction is based on the properties of this payout request.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments","website","customer","gatewayAccount","paymentCard","parentTransaction","leadSource","approvalUrl","refundUrl","updateUrl","disputes","invoices","queryUrl","redirectUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"parentTransaction":{"type":"object"},"childTransactions":{"type":"array","maxItems":10,"description":"Most recent child transactions."},"gatewayAccount":{"type":"object"},"customer":{"type":"object"},"leadSource":{"type":"object"},"website":{"type":"object"},"invoices":{"type":"array","maxItems":10,"description":"Most recent related invoices."},"organization":{"type":"object"},"dispute":{"type":"object"},"paymentCard":{"type":"object"},"bankAccount":{"type":"object"}}}}},"TimeUnit":{"type":"string","enum":["second","minute","hour","day","month","year"]},"TimePluralUnit":{"type":"string","enum":["seconds","minutes","hours","days","months","years"]},"TimeIso8601Extended":{"description":"Extended ISO-8601 format of time.","type":"string","format":"time","pattern":"^(([01][0-9]|2[0-3]):([0-5][0-9])(?::([0-5][0-9]))?)((?:[+-](?:0[0-9]|1[12])(?::?[0-5][0-9])?)|Z)?$"},"SchedulingMethodDayOfMonth":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-month"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","method"]},"SchedulingMethodDayOfWeek":{"type":"object","properties":{"method":{"type":"string","enum":["day-of-week"]},"day":{"description":"Day of the week when the event occurs.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"week":{"type":"string","enum":["next","first-in-month","last-in-month"]},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","week","method"]},"PeriodAnchor":{"type":"object","description":"Instruction for calculating the period anchor.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]},"SchedulingMethodDateInterval":{"type":"object","properties":{"method":{"type":"string","enum":["date-interval"]},"duration":{"type":"integer","description":"Number of time units.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]},"anchor":{"$ref":"#/components/schemas/PeriodAnchor"}},"required":["duration","unit","method"]},"SchedulingMethodImmediately":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["immediately"]}}},"SchedulingMethodIntelligent":{"type":"object","properties":{"method":{"type":"string","enum":["intelligent"]},"duration":{"type":"integer","description":"Latest point in time at which the event should occur.\nThe event occurs at a random time between the initial time and duration time.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}},"required":["duration","unit","method"]},"InvoiceRetryScheduleInstruction":{"type":"object","description":"Specifies when the payment retry instruction is performed.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]},"AmountAdjustmentPoliciesNone":{"title":"None","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"],"description":"No payment amount adjustment."}}},"AmountAdjustmentPoliciesDiscountAmountRemaining":{"title":"Discount remaining amount","type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["discount-amount-remaining"],"description":"Discount the remaining amount on the invoice."}}},"AmountAdjustmentInstructionPartial":{"type":"object","required":["method","value","type"],"properties":{"method":{"type":"string","enum":["partial"]},"value":{"description":"Amount of the payment.","type":"number","format":"float"},"type":{"description":"Payment amount type.","type":"string","enum":["percent","fixed"]},"afterApprovalPolicy":{"description":"After an approved payment retry for an adjusted amount, this field specifies whether to discount the remaining invoice amount.","discriminator":{"propertyName":"method","mapping":{"none":"#/components/schemas/AmountAdjustmentPoliciesNone","discount-amount-remaining":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentPoliciesNone"},{"$ref":"#/components/schemas/AmountAdjustmentPoliciesDiscountAmountRemaining"}]}}},"AmountAdjustmentInstructionNone":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["none"]}}},"InvoiceRetryAmountAdjustmentInstruction":{"type":"object","description":"Specifies if the payment amount must be adjusted for the retry.","discriminator":{"propertyName":"method","mapping":{"partial":"#/components/schemas/AmountAdjustmentInstructionPartial","none":"#/components/schemas/AmountAdjustmentInstructionNone"}},"oneOf":[{"$ref":"#/components/schemas/AmountAdjustmentInstructionPartial"},{"$ref":"#/components/schemas/AmountAdjustmentInstructionNone"}]},"Invoice":{"required":["customerId","currency","websiteId"],"properties":{"id":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"invoiceNumber":{"description":"Auto-incrementing number based on the sequence of invoices for any particular customer.","readOnly":true,"type":"integer","x-basic":true},"orderId":{"description":"ID of the order (experimental).","readOnly":true,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC","type":["string","null"]},"subscriptionId":{"type":"string","description":"ID of the related subscription order, if available.\nThis field is `null` if there are no related subscription orders.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"quoteId":{"type":["string","null"],"description":"ID of the related quote, if available.\nThis field is `null` if there are no related quotes.","readOnly":true,"maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"organizationTaxIdNumber":{"description":"Organization tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"customerTaxIdNumber":{"description":"Customer tax ID number that is displayed on the invoice.","type":["object","null"],"required":["type","value"],"properties":{"type":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"],"example":"eu-vat"},"value":{"type":"string","description":"Value of the tax ID number.","example":"GB980780684"}}},"billingAddress":{"description":"Billing address of the invoice.\nAfter the first payment is made for an invoice, this value cannot be changed.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456","maxLength":50},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string","maxLength":65535},"items":{"type":"array","description":"Invoice items array.","readOnly":true,"items":{"$ref":"#/components/schemas/InvoiceItem"}},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"autopayScheduledTime":{"description":"Date and time when an automatic payment (autopay) is scheduled.","type":["string","null"],"x-sortable":true,"format":"date-time"},"autopayRetryNumber":{"description":"Number of times that an automatic payment (autopay) has been attempted on an invoice.","readOnly":true,"type":"integer","x-sortable":true,"minimum":0,"default":0},"status":{"type":"string","description":"Status of the invoice.","x-basic":true,"readOnly":true,"enum":["draft","quotation","unpaid","paid","partially-paid","past-due","abandoned","voided","partially-refunded","refunded","disputed"]},"delinquentCollectionPeriod":{"type":"integer","description":"Length of time, in days, between when the invoice is due and when the invoice is paid.","x-sortable":true,"readOnly":true},"collectionPeriod":{"type":"integer","x-sortable":true,"description":"Length of time, in days, between when the invoice is issued and when the invoice is paid.","readOnly":true},"abandonedTime":{"description":"Date and time when the invoice is abandoned.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidedTime":{"description":"Date and time when the invoice is voided.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"paidTime":{"x-label":"Payment Date","x-sortable":true,"x-basic":true,"description":"Date and time when the invoice is paid.","type":["string","null"],"format":"date-time","readOnly":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"paymentFormUrl":{"type":["string","null"],"readOnly":true,"format":"uri","description":"URL where the customer is redirected to pay the invoice\nusing one of the methods which are available to the customer.\nThis is an alternative to creating a new transaction with empty\n`methods`."},"creditMemoAllocations":{"type":"array","description":"Credit memo allocations to an invoice.","readOnly":true,"items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"transactions":{"type":"array","description":"Up to 10 of the most recent transactions for the invoice.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","maxItems":10,"readOnly":true,"items":{"$ref":"#/components/schemas/Transaction"}},"retryInstruction":{"description":"Invoice payment retry instruction.\nThis object specifies how to proceed if a payment related to the invoice fails.","type":["object","null"],"properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Describes the action to take when a payment attempt concludes, and payment is not collected.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Describes the action to take when all scheduled payment retries, in a retry instruction, have concluded and payment is not collected.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies"]},"revision":{"description":"Number of times the invoice data has been modified.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer","readOnly":true},"type":{"description":"Type of invoice.","type":"string","enum":["initial","renewal","interim","cancellation","one-time","refund","charge","one-time-sale"],"readOnly":true},"dueReminderTime":{"description":"Date and time when a past due reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"dueReminderNumber":{"description":"Number of past due reminder events that have been triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"delinquencyTime":{"description":"Date and time when the related order is considered delinquent, and is canceled.\nIf this value is `null`, no delinquency time is configured.\nIf the `dueTime` of the order becomes greater than the `delinquencyTime` value,\nthe `delinquencyTime` value becomes equal to `dueTime`.\n\nIf an invoice is not related to an order, this field can only be `null`.","type":["string","null"],"format":"date-time","default":null},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","attachments","leadSource","transactionAllocations","recalculateInvoice","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"}}}}},"InvoiceIssue":{"type":"object","properties":{"issuedTime":{"description":"Date and time when the invoice is issued.\nIf this field is `null` or omitted, the invoice is issued immediately.","type":["string","null"],"format":"date-time"},"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the `issuedTime` value.","type":["string","null"],"format":"date-time"}}},"InvoiceReissue":{"type":"object","properties":{"dueTime":{"description":"Date and time when the invoice is due for payment.\nIf this field is `null` or omitted, this value is set to the current date-time.","type":["string","null"],"format":"date-time"}}},"InvoiceTransactionAllocation":{"type":"object","properties":{"invoiceId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"amount":{"type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["invoice","transaction"]}}}}}},"InvoiceCreditMemoAllocationRequest":{"type":"object","description":"Allocation request settings.\nCredit memo IDs are not accepted and are selected automatically by the system.","properties":{"amount":{"type":"number","format":"double","exclusiveMinimum":0,"description":"Optional maximum amount to allocate from customer credit memos to the invoice.\nIf provided, allocation is capped at this value.\nIf omitted, the allocated amount is the lesser of:\n- Invoice unpaid amount.\n- Available allocatable credit memo balance."},"allocationOrder":{"type":"string","description":"Credit memo application order.","enum":["oldest-first","newest-first"],"x-enumDescriptions":{"oldest-first":"Applies oldest allocatable credit memos first.","newest-first":"Applies newest allocatable credit memos first."},"default":"oldest-first"}}},"InvoiceAppliedCreditMemoAllocation":{"type":"object","required":["creditMemoId","amount"],"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"amount":{"description":"Amount allocated from the credit memo to the invoice.","type":"number","format":"double"}}},"InvoiceCreditMemoAllocationResponse":{"type":"object","required":["invoiceId","currency","appliedCreditMemos","remainingInvoiceAmount"],"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/CurrencyCode"}]},"appliedCreditMemos":{"type":"array","readOnly":true,"description":"List of credit memos applied to the invoice and the amount allocated from each.","items":{"$ref":"#/components/schemas/InvoiceAppliedCreditMemoAllocation"}},"remainingInvoiceAmount":{"description":"Remaining amount due on the invoice after credit memo allocation.","type":"number","readOnly":true,"format":"double"}}},"InvoiceTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-restored","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","quickbooks-credit-memo-created","quickbooks-credit-memo-voided","quickbooks-invoice-created","quickbooks-invoice-task-failed","quickbooks-invoice-updated","quickbooks-invoice-voided","quickbooks-revenue-recognition-created","timeline-comment-created","transaction-abandoned","transaction-approved","transaction-canceled","transaction-declined","transaction-initiated","transaction-partially-refunded","transaction-refunded","transaction-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Describes the message details.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CreditMemoTaxItem":{"type":"object","required":["amount","description"],"properties":{"amount":{"description":"Amount of the tax.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."},"rate":{"description":"Overall sales tax rate which includes state, county, city and district tax.","type":["number","null"],"format":"double"},"stateAmount":{"description":"Amount of sales tax to collect for the state.","type":["number","null"],"format":"double","example":0.94},"countyAmount":{"description":"Amount of sales tax to collect for the county.","type":["number","null"],"format":"double","example":0.04},"cityAmount":{"description":"Amount of sales tax to collect for the city.","type":["number","null"],"format":"double","example":0},"specialDistrictAmount":{"description":"Amount of sales tax to collect for the special district.","type":["number","null"],"format":"double","example":0.38},"stateRate":{"description":"State sales tax rate for given location.","type":["number","null"],"format":"double"},"countyRate":{"description":"County sales tax rate for given location.","type":["number","null"],"format":"double"},"cityRate":{"description":"City sales tax rate for given location.","type":["number","null"],"format":"double"},"specialDistrictRate":{"description":"Special district sales tax rate for given location.","type":["number","null"],"format":"double"},"jurisdictions":{"description":"Jurisdiction names for the invoice.","type":["object","null"],"properties":{"country":{"description":"Two-letter ISO country code for the provided location.","type":["string","null"],"example":"US"},"state":{"description":"Postal abbreviated state name for the provided location.","type":["string","null"],"example":"CA"},"county":{"description":"County name for the provided location.","type":["string","null"],"example":"LOS ANGELES"},"city":{"description":"City name for the provided location.","type":["string","null"],"example":"LOS ANGELES"}}}}},"CreditMemo":{"type":"object","description":"Credit memo object.","required":["customerId","currency"],"properties":{"id":{"type":"string","description":"ID of the credit memo.","readOnly":true,"maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"number":{"description":"Auto-incrementing number based on the sequence of credit memos for any particular customer.","readOnly":true,"type":"integer"},"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"$ref":"#/components/schemas/CreditMemoInvoiceAllocation"}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"status":{"type":"string","description":"Status of the credit memo.","readOnly":true,"enum":["draft","quotation","issued","applied","partially-applied","voided"],"x-enumDescriptions":{"draft":"Credit memo is in process of being created.\nThe full amount of the credit memo is unused, and the customer has not seen it yet.","quotation":"Credit memo is associated with a quote.\nIf the customer approves the quotation, the credit memo changes to the `issued` state.","issued":"Credit memo is available with a full amount to be applied.","applied":"The full amount of the credit memo has been applied.\nNo more credit can be created from it.","partially-applied":"A partial amount of the credit memo has been applied.\nA credit can be created from the remaining amount.","voided":"Credit memo has been voided and cannot be used anymore."}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"},"taxAmount":{"description":"Sum of items tax amount of an invoice to credit.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"totalAmount":{"description":"Total amount of all credits in the credit memo, including items, shipping, and tax.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"unusedAmount":{"description":"Unused credit memo amount that has not been allocated.","readOnly":true,"type":"number","format":"double","default":0,"x-type":"Money"},"revision":{"type":"integer","readOnly":true,"description":"Number of times the credit memo has been modified."},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which the credit memo is issued.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"quoteId":{"type":["string","null"],"description":"ID of the related quote.","readOnly":true,"maxLength":50,"example":"qt_0YVF9605RKC62BP14NE2R7V2XT"},"transactionId":{"type":["string","null"],"description":"ID of the transaction associated with the credit memo.\nAssociating a transaction does not change the unused amount of the credit memo.\nThe transaction must be approved and associated with the same customer as the credit memo.\nApproved transactions of any type are accepted, including refunds and voided sales.\nIf the transaction result changes later, the association is retained.\nIf this field is omitted in an update request and `customerId` is not changed, this field retains its current value.\nIf this field is omitted and `customerId` is changed, the transaction is removed from the credit memo.\nTo remove the transaction from the credit memo, set this field to `null`.","maxLength":50,"example":"txn_0YVDTQJ8YKC82BP14NE2R7V2XT"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PatchCreditMemoRequest":{"type":"object","description":"Patch credit memo object.","properties":{"allocations":{"type":"object","description":"Allocations reduce the unused amount of a credit memo.","properties":{"transactions":{"type":"array","description":"List of transactions (typically refunds, credits, and chargebacks) that are allocated to reduce the unused amount of a credit memo.\n\n  - To delete transaction allocations, send an empty transaction allocation array in the request.\n  - To modify transaction allocations, send a modified transaction allocation array in the request.\n  - If you do not want to modify or delete transaction allocations, do not send a transaction allocation array in the request.","items":{"type":"object","properties":{"transactionId":{"description":"ID of the transaction to which the credit memo is allocated.","$ref":"#/components/schemas/TransactionId"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the transaction.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the transaction amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The transaction amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"invoices":{"type":"array","description":"List of invoices that the credit memo is allocated to.\n\n- To delete invoice allocations, send an empty invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be deleted.\n- To modify invoice allocations, send a modified invoice allocation array in the request.\n  Only `unpaid`, `partially-paid`, and `past-due` invoices can be modified.\n- If you do not want to modify or delete invoice allocations, do not send an invoice allocation array in the request.","items":{"type":"object","properties":{"invoiceId":{"type":"string","description":"ID of invoice to which the credit memo is allocated.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"amount":{"description":"Amount of credit that is allocated from the credit memo to the invoice.\nIf the `amount` value is not supplied or exceeds the unused amount of the credit memo or the invoice due amount, the lesser of the following two values is used:\n- The unused amount of the credit memo.\n- The invoice due amount.","type":"number","format":"double"},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"createdTime":{"description":"Date and time at which a credit memo is allocated.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}}}},"items":{"type":"array","description":"Items of the credit memo.","items":{"type":"object","required":["unitPrice","quantity"],"properties":{"id":{"type":"string","description":"ID of the credit memo item.","readOnly":true,"maxLength":50,"example":"crmm_itm_01HXC7PK2C6F367VYCFXDRYMAQ"},"invoiceItemId":{"description":"ID of the invoice item to which the credit item is referenced.","type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"description":{"description":"Description of the credit memo item.","type":"string"},"unitPrice":{"description":"Price of the credit memo item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the credit memo item.","type":"integer"},"price":{"description":"Total price of the credit memo item.","type":"number","format":"double","readOnly":true},"productId":{"type":["string","null"],"description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"description":"ID of the related plan.","type":["string","null"],"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"tax":{"description":"Credit memo item tax.","oneOf":[{"$ref":"#/components/schemas/CreditMemoTaxItem"},{"type":"null"}]}}}},"reason":{"description":"Reason for the credit memo.","type":"string","enum":["return","product-unsatisfactory","order-change","order-cancellation","chargeback","write-off","waiver","customer-credit","prepayment","other"]},"description":{"type":"string","x-basic":true,"description":"Public description, that is visible to customers, which describes the purpose of the credit memo."},"shippingAmount":{"description":"Shipping amount of an invoice to credit.","type":"number","format":"double","default":0,"x-type":"Money"}}},"CreditMemoTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["credit-memo-created","credit-memo-applied","credit-memo-partially-applied","credit-memo-voided"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Content of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalAccount":{"type":"object","required":["name"],"properties":{"id":{"type":"string","description":"ID of the journal account.","readOnly":true,"maxLength":50,"example":"jrn_acc_0YVCXS791DD8JAK1WV3VHM70ZQ"},"name":{"type":"string","description":"Name of the journal account.","example":"Unearned revenue"},"description":{"type":["string","null"]},"createdTime":{"description":"Date and time when the journal record is created.","$ref":"#/components/schemas/ServerTimestamp"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalEntry":{"type":"object","required":["period","currency"],"properties":{"id":{"type":"string","description":"ID of the journal entry.","readOnly":true,"maxLength":50,"example":"jrn_ent_0YVCXSFCF2DJX99NBBSJCEVETB"},"period":{"type":"object","properties":{"startDate":{"type":"string","format":"date","example":"2022-09-01"},"endDate":{"type":"string","format":"date","example":"2022-09-30"}}},"label":{"type":"string","description":"Custom label that can be used to filter entries.\nAnnual orders are created with the label **Annual**.\nMonthly orders are created with the label **Monthly**.","maxLength":255,"default":"monthly"},"currency":{"description":"Currency of the journal record revenue.","$ref":"#/components/schemas/CurrencyCode"},"description":{"type":"string"},"totalRecognizedAmount":{"description":"Total amount of all revenue recognized at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"totalEstimatedAmount":{"description":"Total amount of all revenue estimated at the end of the journal period.","type":"number","format":"double","readOnly":true,"x-sortable":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"JournalRecord":{"type":"object","required":["journalEntryId","invoiceItemId","debitAccountId","creditAccountId"],"properties":{"id":{"type":"string","description":"Unique resource ID.","readOnly":true,"maxLength":50,"example":"jrn_rec_0YVCXV2HE5DBT89QV7RXSJEZQ4"},"journalEntryId":{"description":"ID of the journal entry.","type":"string","maxLength":50,"example":"jrn_ent_01JXJ8EF9WVR0W187QZ6WF5703"},"customerId":{"description":"ID of the customer.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF","readOnly":true},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT","readOnly":true},"invoiceItemId":{"type":"string","description":"ID of the invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"type":{"type":"string","readOnly":true,"enum":["automated","manual"]},"estimatedAmount":{"description":"Amount of revenue estimated to be recognized at the schedule date.\nThis value is ignored when updating a journal record with a `type` of `automated`.","type":["number","null"],"format":"double"},"recognizedAmount":{"description":"Amount of revenue recognized at the journal period end.","type":["number","null"],"format":"double"},"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8S97PTMYX8W01SQ72FSWC"},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"],"maxLength":50,"example":"jrn_acc_01JXJ8RW7AWMVAH7DP3VXYQC1W"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"invoice":{"type":"object"},"invoiceItem":{"type":"object"},"debitAccount":{"type":"object"},"creditAccount":{"type":"object"},"journalEntry":{"type":"object"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","invoice","invoiceItem","journalEntry","creditAccount","debitAccount"]}}}}}},"KycDocumentTypes":{"type":"string","enum":["identity-proof","address-proof","funds-proof","purchase-proof","credit-file-proof"]},"KycDocumentSubtypes":{"type":["string","null"],"enum":["passport","id-card","driver-license","birth-certificate","utility-bill","rental-receipt","lease-agreement","copy-credit-card","credit-card-statement","bank-statement","inheritance-documentation","tax-return","salary-slip","sale-of-assets","public-health-card","proof-of-age-card","reverse-of-id","public-service","ewallet-holder-details","ewallet-transaction-statement","marriage-certificate","firearms-license","insurance-letter","income-statement","debtors-letter","other",null]},"KycRequestDocument":{"type":"object","required":["type"],"properties":{"type":{"description":"Type of document to request from the customer.","$ref":"#/components/schemas/KycDocumentTypes"},"subtypes":{"description":"Permitted document subtype.","type":["array","null"],"items":{"$ref":"#/components/schemas/KycDocumentSubtypes"}},"maxAttempts":{"description":"Total number of allowed document upload attempts.\nUse `0` to allow unlimited upload attempts.","type":"integer","default":3,"minimum":0,"maximum":100},"faceProofRequired":{"description":"Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document.","type":"boolean"},"faceLivenessRequired":{"description":"Specifies if the customer must use the face liveness feature when uploading a selfie.\nFor more information, see [Facial recognition and identity verification](https://www.rebilly.com/docs/kyc-and-aml/kyc#facial-recognition-identity-verification).","type":"boolean"}}},"KycDocumentMatchLevels":{"description":"Document verification level.","type":"integer","enum":[1,2,3],"default":2,"x-enumDescriptions":{"1":"Moderate verification requirements. This option is used for sale transactions.","2":"Strict verification requirements. This option is used for credit transactions.","3":"Basic verification requirements. This option is used when a high level of verification is not required."}},"KycRequest":{"type":"object","description":"KYC request information.","required":["customerId","documents"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["gathering","attempted","partial","pending-review","fulfilled","failed","abandoned","expired"],"x-enumDescriptions":{"gathering":"No documents have been provided yet.\nThis is a temporary state.","attempted":"At least one document has been provided but none were assigned the `accepted` status.\nThis is a temporary state.","partial":"At least one requested document has the `accepted` status,\nbut not all requested documents have been assigned the `accepted` status.\nThis is a temporary state.","pending-review":"At least one requested document has the `pending` status,\nand no requested documents have been assigned the `accepted` status.\nThis is a temporary state, until the document is reviewed,\nor another `accepted` document is provided.","fulfilled":"All requested documents are provided and have been assigned the `accepted` status.\nThis is a permanent state.","failed":"At least one requested document has exhausted all attempts,\nand has not been assigned a `accepted`, `pending`, or `in-progress` status.\nThis is a permanent state.","abandoned":"One or more documents provided but the request expired.\nThis is a permanent state.","expired":"No documents were provided and the request expired.\nThis is a permanent state."}},"redirectUrl":{"description":"URL where the customer is redirected when a KYC document upload is complete.\nWhen the customer is redirected,\nRebilly appends an `info` query parameter that has one of the following values:\n  - `back`: Customer clicked the `back to website` link.\n  - `token_expired`: Customer's token expired.\n  - `success`: Customer uploaded KYC documents that have been analyzed.\n  - `manual`: Customer uploaded KYC documents that require a manual review.\n    This is because the analyzer rejected the documents or could not process them.\n  - `partial`: Some of the customer's KYC documents have been analyzed,\n    but other documents have not.\n    For example, this may occur when a proof of address document is analyzed but proof of ID is not.\n\nExample: `https://example.com?info=success`.","type":["string","null"],"format":"uri"},"reason":{"description":"Reason for uploading.","example":"spend limit","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC request data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"expirationTime":{"description":"Date and time when the request expires.\nThe default value is one hour in the future.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","documents","gatherer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"documents":{"type":"array"}}}}},"KycDocumentRejectionReasonTypes":{"description":"Reason the document is rejected.","type":"string","enum":["document-unreadable","document-expired","document-was-valid-but-expired","document-not-matching","document-duplicate","document-invalid","document-not-open","underage-person","third-party-or-mismatch","expiration-date-missing","issue-date-missing","subtype-missing","dob-mismatch","name-mismatch","name-and-dob-mismatch","critical-info-missing","old-address-on-id","tampered-document","no-document-data-detected","other"]},"KycDocumentRejection":{"description":"Reason the document is rejected.","type":["object","null"],"required":["type"],"readOnly":true,"properties":{"type":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"message":{"description":"KYC document rejection message.","type":"string","maxLength":255,"example":"Provided document is unreadable"}}},"KycDocumentMatchesVersion":{"type":"string","description":"Version of the document matches.","readOnly":true,"example":"2.0"},"KycDocumentMatchesScore":{"type":"integer","description":"Calculated score that represents the percentage of confidence that this ID document represents the customer.","minimum":0,"maximum":100,"example":75},"KycDocumentCheck":{"type":"object","description":"Result of an executed document check during KYC verification.","properties":{"name":{"description":"Name of the document check.","type":"string","enum":["city","containsImage","date","dateIsInvalid","dateOfBirth","decision","documentNumber","documentSubtype","expirationDate","firstName","hasMatchingFaceProof","hasMinimalAge","isIdentityDocument","isPublishedOnline","isTampered","issuanceCountry","issuanceRegion","issueDate","lastName","line1","matchesDateOfBirth","phone","postalCode","region"]},"failed":{"description":"Specifies if a document check has failed.\nWhen a check fails,\nthe score value associated with the check is subtracted from the overall score of the proof document.\nThe overall score together with accept and reject thresholds determine whether an proof document passes or fails verification.\nFor more information, see [KYC](https://www.rebilly.com/docs/kyc-and-aml/kyc).","type":"boolean","example":true},"score":{"type":"integer","description":"Specifies the number of points to deduct from the proof document when a check fails during the verification process.","minimum":0,"maximum":100,"example":75},"reason":{"description":"Specifies the reason why the KYC check failed.","type":["string","null"],"example":"closed_eyes"}}},"KycDocumentCheckList":{"type":["array","null"],"description":"List of checks executed against the document during KYC verification.","items":{"$ref":"#/components/schemas/KycDocumentCheck"}},"KycIdentityMatches":{"type":"object","description":"Matched identity data.","properties":{"containsImage":{"description":"Specifies if the document includes an image that contains a face.","type":"boolean","example":true},"isIdentityDocument":{"description":"Specifies if the document resembles an ID.","type":"boolean","example":true},"isPublishedOnline":{"description":"Specifies if an exact match of the document has been found online.","type":"boolean","example":false},"matchingImages":{"description":"URLs where matching images have been found online.","type":"array","readOnly":true,"maxItems":3,"items":{"type":"string"}},"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"dateOfBirth":{"description":"Date of birth detected on the document.\nThis value is null if no match is detected.","type":["string","null"],"format":"date-time"},"expirationDate":{"description":"Expiration date detected on the document.\nThis value is null if no expiration date is detected.","type":["string","null"],"format":"date-time"},"issueDate":{"description":"Issue date detected on the document.\nThis value is null if no issue date is detected.","type":["string","null"],"format":"date-time"},"hasMinimalAge":{"description":"Specifies that the individual is older than the minimal age limit.\nThe minimal age is 21+ the for USA and 18+ for all other countries.\nThis value is null if `dateOfBirth` is not determined.","type":["boolean","null"],"readOnly":true,"example":true},"nationality":{"description":"Nationality detected on a passport or citizenship document.\nThis value is null if no nationality is detected.","type":["string","null"],"example":"US","maxLength":3},"issuanceCountry":{"description":"Country that issued the document.","type":["string","null"],"example":"CA","minLength":2,"maxLength":2},"issuanceRegion":{"description":"Region, state, province, or territory that issued the document.","type":["string","null"],"example":"Ontario"},"documentNumber":{"description":"Unique number on the identity document.\nThis value may contain alphanumeric characters.","type":["string","null"],"example":"1234567890"},"sex":{"description":"MRZ sex code (ICAO 9303).\n`M`, `F`, or `X`.\nNull if not extracted.","type":["string","null"],"pattern":"^[MFX]$","example":"M"},"mrzChecksumValid":{"description":"MRZ check digits validation.\nNull if there is no MRZ, no check data, or a non-standard layout.","type":["boolean","null"],"readOnly":true,"example":true},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"hasMatchingFaceProof":{"description":"Specifies if an identity document has matching face proof.","type":"boolean","example":false},"isTampered":{"description":"Specifies if an identity document has been tampered with.","type":"boolean","example":false},"isDigitallyTampered":{"description":"Specifies if an identity document has been digitally tampered with (experimental).","type":"boolean","example":false},"isPhotocopy":{"description":"Specifies if an identity document is detected as a photocopy.","type":"boolean","example":false},"hasCompletedFaceLiveness":{"description":"Specifies if the face liveness session completed.","type":"boolean","readOnly":true,"example":false},"faceProofBrightness":{"description":"Brightness of the lighting in the detected face area of the face proof image, on a scale from `0` to `100`.\nA higher value indicates brighter lighting.\nThis value is `null` if no face proof is compared with the document.","type":["number","null"],"minimum":0,"maximum":100,"readOnly":true,"example":72.5},"expiryDate":{"description":"Use `expirationDate` field instead.","type":["string","null"],"format":"date-time","deprecated":true}}},"KycSettingsIdentity":{"type":"object","description":"Identity proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"containsImage":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not include an image that contains a face."},"isIdentityDocument":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not resemble an ID."},"isPublishedOnline":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an exact match of the document is not found online."},"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"expirationDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an expiration date is not detected on the document."},"dateOfBirth":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date of birth is not detected on the document, or if the date of birth detected on the document is not matched."},"issueDate":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an issue date is not detected on the document."},"hasMinimalAge":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document does not verify the minimal age limit.\nMinimal age is 21+ the for USA and 18+ for all other countries."},"hasMatchingFaceProof":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if an identity document does not have matching face proof."},"nationality":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a nationality is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."},"isPhotocopy":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is detected as a photocopy."},"mrzChecksum":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added when MRZ check digits fail validation."},"documentNumber":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a document number is not detected on the document."},"issuanceCountry":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the country that issued the document is not detected."},"issuanceRegion":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the region, state, province, or territory that issued the document is not detected."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}},"minimumAgeSettings":{"type":"object","description":"Minimum age settings for identity proof documents.","properties":{"defaultMinimumAge":{"type":"integer","minimum":1,"maximum":100,"description":"Default minimum age requirement for identity proof documents.\nThis is used when no location-specific override is configured.","default":18},"locationOverrides":{"type":"array","description":"Location-specific minimum age.\nEach item specifies a minimum age for a specific location.\nFor country-wide rules, omit the state field.\nFor state-specific rules, include the state field.","items":{"type":"object","required":["country","minimumAge"],"properties":{"country":{"type":"string","description":"Country code in ISO 3166 alpha-2 format.","pattern":"^[A-Z]{2}$","example":"US"},"state":{"type":"string","description":"Name or code of the state or region.","maxLength":45,"example":"AZ"},"minimumAge":{"type":"integer","description":"Minimum age requirement for this location.","minimum":1,"maximum":100,"example":21}}},"example":[{"country":"US","minimumAge":21},{"country":"US","state":"AL","minimumAge":19}]}}},"faceProofSettings":{"type":"object","description":"Quality requirements for the face proof image of an identity proof document.","properties":{"minimumBrightness":{"type":"integer","minimum":0,"maximum":100,"default":40,"description":"Minimum brightness of the lighting in the detected face area of the face proof image.\nThe brightness scale ranges from `0` to `100`.\nA higher value indicates brighter lighting.\nIf the detected brightness is below this value,\nthe `hasMatchingFaceProof` check fails with the `face_match_low_brightness` reason.\nUse `0` to disable the brightness requirement."}}}}},"ProofOfIdentityKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of identity document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycIdentityMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsIdentity"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"KycAddressMatches":{"type":"object","description":"Matched address data.","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"line1":{"description":"Address of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"36 Craven St"},"city":{"description":"Customer's city of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"region":{"description":"Customer's region of residence.\nThis value is null if no match is found.","type":["string","null"],"example":"London"},"postalCode":{"description":"Postal code of the customer's residence.\nThis value is null if no match is found.","type":["string","null"],"example":"WC2N 5NF"},"wordCount":{"description":"Total number of words in the document.","type":"integer","example":350},"uniqueWords":{"description":"Total number of unique words in the document.","type":"integer","example":175},"date":{"description":"Date detected on the document.\nUse this field to determine if the document is recent.","type":["string","null"],"format":"date-time","example":"2021-01-01T00:00:00+00:00"},"phone":{"description":"Phone number of the company or agency that issued the document.","type":["string","null"],"example":"(123) 456-7890"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"},"isTampered":{"description":"Specifies if an address proof document has been tampered with.","type":"boolean","example":false}}},"KycSettingsAddress":{"type":"object","description":"Address proof settings.","properties":{"weights":{"type":"object","description":"Property weights that are used for the KYC document verification process.\n\nAll KYC documents start the verification process with a score of 100.\nIf a check fails, the score is reduced by the corresponding weight.\nFor example, if the `firstName` check weight is set to `5`, and the check fails,\nthe KYC document score becomes `95`.","properties":{"firstName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's first name is not matched."},"lastName":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's last name is not matched."},"line1":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's address is not matched."},"city":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's city is not matched."},"region":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's region is not matched."},"postalCode":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the customer's postal code is not matched."},"date":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a date is not detected on the document."},"phone":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if a phone number is not detected on the document."},"documentSubtype":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document is not one of the recognized document subtypes."},"isTampered":{"type":"integer","minimum":0,"maximum":100,"description":"Weight added if the document has been tampered with."}}},"thresholds":{"type":"object","description":"Pass and fail threshold definition for the document verification process.","properties":{"rejectBelow":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document fails the verification process."},"acceptAbove":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score by which an identity proof document passes the verification process."}}}}},"ProofOfAddressKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/KycAddressMatches"}}},"settings":{"description":"Settings used to score the document.","readOnly":true,"oneOf":[{"$ref":"#/components/schemas/KycSettingsAddress"},{"type":"null"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"FundsMatches":{"type":"object","properties":{"firstName":{"description":"First name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}},"ProofOfFundsKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of funds document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/FundsMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"PurchaseMatches":{"type":"object","properties":{"firstName":{"description":"First name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"John"},"lastName":{"description":"Last name of the customer if it is matched.\nThis value is null if no match is found.","type":["string","null"],"example":"Doe"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument related to the document.\nThis value is null if no match is found.","example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"documentSubtype":{"description":"Interpreted subtype of the uploaded document.","type":["string","null"],"$ref":"#/components/schemas/KycDocumentSubtypes"}}},"ProofOfPurchaseKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"type":["object","null"],"readOnly":true,"description":"Proof of purchase document matches.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/PurchaseMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer","paymentInstrument"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"CreditFileCommonDecisionData":{"readOnly":true,"type":"object","properties":{"lastNameMatch":{"description":"Last name match.","type":"string","readOnly":true,"example":"Y"},"firstNameMatch":{"description":"First name match.","type":"string","readOnly":true,"example":"Y"},"civicNumberMatch":{"description":"Civic number match.","type":"string","readOnly":true,"example":"Y"},"streetNameMatch":{"description":"Street name match.","type":"string","readOnly":true,"example":"Y"},"cityMatch":{"description":"City match.","type":"string","readOnly":true,"example":"Y"},"postalCodeMatch":{"description":"Postal code match.","type":"string","readOnly":true,"example":"Y"},"provinceMatch":{"description":"Province match.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthMatch":{"description":"Date of birth match.","type":"string","readOnly":true,"example":"Y"},"ageOfCreditFileThreeOrMoreYearsOld":{"description":"Age of credit file is three or more years old.","type":"string","readOnly":true,"example":"Y"},"addressAsReported":{"description":"Address as reported.","type":"string","readOnly":true,"example":"Y"},"nameAsReported":{"description":"Name as reported.","type":"string","readOnly":true,"example":"Y"},"dateOfBirthAsReported":{"description":"Date of birth as reported.","type":"string","readOnly":true,"example":"Y"}}},"CreditFileMatches":{"type":"object","properties":{"creditBureau":{"description":"Credit bureau from which the credit file data is sourced.","type":"string","readOnly":true,"enum":["equifax","experian","transunion","test-bureau"]},"creditFileNumber":{"description":"Credit file number from the credit bureau.","type":"string","readOnly":true},"name":{"description":"Name of the person to consult about the credit file.","type":"string","readOnly":true},"consultedDate":{"description":"Date to consult with the credit bureau about the credit file.","type":"string","format":"date-time","readOnly":true},"decision":{"description":"Specifies if the credit file is used in a single source, or as part of a dual source, proof of identity decision.","type":"string","enum":["single-source","dual-source","other"],"x-enumDescriptions":{"single-source":"Credit file used as a single source of proof for an identity decisions.","dual-source":"Credit file used as a source of proof where the credit bureau agency found two reliable trade sources.\nAt least two sources are required for a dual-source proof of identity decision.","other":"Credit file cannot be used for KYC decisions."},"readOnly":true},"trades":{"description":"Contains information to support the dual process.","type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Trade name.","example":"Rogers"},"accountNumber":{"type":"string","example":"123-ABC-123"},"dateOpened":{"type":"string","format":"date"}}},"readOnly":true},"referenceData":{"description":"Extra data from the credit bureau.","readOnly":true,"type":"object","properties":{"singleSourceHit":{"description":"Single source hit.","type":"string","readOnly":true,"example":"Y"},"dualSourceHit":{"description":"Dual source hit.","type":"string","readOnly":true,"example":"Y"},"waterfallProcess":{"description":"Waterfall process.","type":"string","readOnly":true,"example":"Y"},"creditFileCreatedDate":{"description":"Date when the credit file is created.","type":"string","readOnly":true},"numberOfTradesOnFile":{"description":"Number of trades on file.","type":"string","readOnly":true,"example":"001"},"singleDecision":{"description":"Data related to a single source decision.","type":"object","allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]},"dualDecision":{"description":"Data related to a dual source decision.","type":["array","null"],"items":{"allOf":[{"$ref":"#/components/schemas/CreditFileCommonDecisionData"}]}}}}}},"ProofOfCreditFileKycDocument":{"title":"KYC documents.","type":"object","required":["customerId","documentType","status","fileIds"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileIds":{"description":"IDs of linked file objects.\n\nUploaded `identity-proof` files must have the following tags attached to be used for KYC purposes:\n`['kyc', 'id-front']`, `['kyc', 'id-back']`, `['kyc', 'face-proof']`.\n\nPermitted file types for `identity-proof` files: `.jpg`, `.png`, and `.pdf`.","type":"array","items":{"type":"string","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"}},"documentType":{"description":"Document type submitted for validation.\nOnly the `identity-proof` and `address-proof` types are analyzed automatically.","$ref":"#/components/schemas/KycDocumentTypes"},"documentSubtype":{"description":"Document subtype submitted for validation.","$ref":"#/components/schemas/KycDocumentSubtypes"},"status":{"description":"Status of the validation.","type":"string","readOnly":true,"enum":["pending","in-progress","accepted","rejected","archived"],"x-enumDescriptions":{"pending":"Waiting to be reviewed or analyzed.","in-progress":"Being analyzed by the Rebilly AI.","accepted":"Accepted by AI or a human.","rejected":"Rejected by AI or a human.","archived":"Archived by the Rebilly AI."}},"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejection"},"requestId":{"readOnly":true,"type":["string","null"],"description":"ID of the KYC request.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"processedTime":{"description":"Date and time when the KYC document is processed.","type":["string","null"],"format":"date-time","readOnly":true},"customerId":{"$ref":"#/components/schemas/CustomerId"},"reviewerId":{"description":"ID of the KYC document reviewer.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"44433322-2c4y-483z-a0a9-158621f77a21"},"reviewerName":{"description":"First and last name of the KYC document reviewer.","type":["string","null"],"readOnly":true},"reviewStartTime":{"description":"Date and time when the manual review starts.","type":["string","null"],"format":"date-time","readOnly":true},"reviewTime":{"description":"Date and time of manual review.","type":["string","null"],"format":"date-time","readOnly":true},"notes":{"description":"Reviewer notes.","type":["string","null"]},"tags":{"description":"List of KYC document tags.","readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/Tag"}},"reason":{"description":"Reason for uploading.","type":["string","null"]},"matchLevel":{"$ref":"#/components/schemas/KycDocumentMatchLevels"},"settings":{"description":"Settings used to score the document.","type":["object","null"]},"revision":{"description":"Number of times the KYC document data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"documentMatches":{"description":"Proof of credit document matches.","type":["object","null"],"readOnly":true,"properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"parsedData":{"type":["object","null"],"readOnly":true,"description":"Parsed data.","properties":{"version":{"$ref":"#/components/schemas/KycDocumentMatchesVersion"},"score":{"$ref":"#/components/schemas/KycDocumentMatchesScore"},"checkList":{"$ref":"#/components/schemas/KycDocumentCheckList"},"data":{"$ref":"#/components/schemas/CreditFileMatches"}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"files":{"type":"array","maxItems":3,"description":"Linked files."}}}}},"KycDocument":{"type":"object","description":"KYC document information.","discriminator":{"propertyName":"documentType","mapping":{"identity-proof":"#/components/schemas/ProofOfIdentityKycDocument","address-proof":"#/components/schemas/ProofOfAddressKycDocument","funds-proof":"#/components/schemas/ProofOfFundsKycDocument","purchase-proof":"#/components/schemas/ProofOfPurchaseKycDocument","credit-file-proof":"#/components/schemas/ProofOfCreditFileKycDocument"}},"oneOf":[{"$ref":"#/components/schemas/ProofOfIdentityKycDocument"},{"$ref":"#/components/schemas/ProofOfAddressKycDocument"},{"$ref":"#/components/schemas/ProofOfFundsKycDocument"},{"$ref":"#/components/schemas/ProofOfPurchaseKycDocument"},{"$ref":"#/components/schemas/ProofOfCreditFileKycDocument"}]},"KycIdentityMatchesOverwrite":{"type":"object","description":"Request body for overwriting identity KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\n This value identifies the document match type as `identity-proof`.","type":"string","enum":["identity-proof"],"example":"identity-proof"}}},{"$ref":"#/components/schemas/KycIdentityMatches"}]},"KycAddressMatchesOverwrite":{"type":"object","description":"Request body for overwriting address KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `address-proof`.","type":"string","enum":["address-proof"],"example":"address-proof"}}},{"$ref":"#/components/schemas/KycAddressMatches"}]},"KycPurchaseMatchesOverwrite":{"type":"object","description":"Request body for overwriting purchase KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `purchase-proof`.","type":"string","enum":["purchase-proof"],"example":"purchase-proof"}}},{"$ref":"#/components/schemas/PurchaseMatches"}]},"KycFundsMatchesOverwrite":{"type":"object","description":"Request body for overwriting funds KYC document matches.","allOf":[{"type":"object","required":["type"],"properties":{"type":{"description":"Type of KYC document matches.\nThis value identifies the document match type as `funds-proof`.","type":"string","enum":["funds-proof"],"example":"funds-proof"}}},{"$ref":"#/components/schemas/FundsMatches"}]},"KycSettings":{"type":"object","description":"Settings for KYC score calculation.","properties":{"identityProof":{"$ref":"#/components/schemas/KycSettingsIdentity"},"addressProof":{"$ref":"#/components/schemas/KycSettingsAddress"},"uiVersion":{"description":"Version of the KYC document gatherer UI.","type":["string","null"],"enum":["1","2"],"default":"1","x-enumDescriptions":{"1":"Classic design.","2":"Modern design, optimized for the best user experience on both mobile and desktop devices."}}}},"ResetPasswordToken":{"type":"object","required":["username"],"properties":{"token":{"description":"ID of the token.","type":"string","readOnly":true},"username":{"description":"Username associated with the token.","type":"string"},"credentialId":{"description":"Credential ID associated with the token.","type":"string","readOnly":true},"expiredTime":{"description":"Date and time when the password expires.","type":["string","null"],"format":"date-time"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentCardBrand":{"description":"Brand of payment card.","type":"string","enum":["Visa","MasterCard","American Express","Discover","Maestro","Solo","Electron","JCB","Voyager","Diners Club","Switch","Laser","China UnionPay","AstroPay Card"]},"UseAsBackup":{"description":"Specifies if this payment instrument can be used as a backup for invoice payment retries.","type":"boolean","default":false},"LastPaymentTime":{"description":"Date and time of the last approved payment.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time","readOnly":true,"x-sortable":true,"x-label":"Last Payment Time"},"PaymentCard":{"type":"object","description":"Payment card information.","title":"Payment card","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["payment-card"]},"status":{"type":"string","description":"Status of the payment instrument.\nAn `active` status means that a payment instrument has been used at least once for an approved transaction.\nTo remove an instrument from use, set this value to `deactivated`.\n\nFor more information, see [`POST /payment-instruments/{id}/deactivation`](https://www.rebilly.com/catalog/all/payment-instruments/postpaymentinstrumentdeactivation).","enum":["active","inactive","expired","deactivated","verification-needed"]},"fingerprint":{"description":"Unique value that is used to identify the payment instrument.\nThis value is generated from the `bin` and the `last4` values.\nThis value contains alphanumeric characters.","type":"string","readOnly":true},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Primary Account Number (PAN).","type":"string","format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the associated Primary Account Number (PAN).","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThis value is only present for payment cards created from digital wallet tokens,\nwhere the FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in the digital wallet transaction.","type":["string","null"],"readOnly":true},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"bankCountry":{"description":"Bank country of the payment instrument.","type":["string","null"],"readOnly":true},"bankName":{"description":"Bank name of the payment instrument.","type":"string","readOnly":true},"isPayoutable":{"description":"Specifies if payouts are supported for cards with this BIN.\nDefaults to `true`.\nThis value is `false` if the BIN does not support payouts.","type":"boolean","readOnly":true},"billingAddress":{"description":"Contact's billing address.","$ref":"#/components/schemas/ContactObject"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"billingPortalUrl":{"description":"URL of the billing portal where the card can be updated.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"expirationReminderTime":{"description":"Date and time when an expiration reminder event is triggered.","type":["string","null"],"format":"date-time","readOnly":true},"expirationReminderNumber":{"description":"Number of expiration reminder events that have triggered.","type":["integer","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"digitalWallet":{"readOnly":true,"description":"Digital wallet type.","type":["string","null"],"enum":["Apple Pay","Google Pay","Samsung Pay",null]},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"BankAccount":{"type":"object","title":"Bank account","required":["method"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","readOnly":true,"enum":["ach"]},"bankName":{"description":"Name of the bank.","type":"string"},"routingNumber":{"description":"Bank routing number.","type":"string"},"accountNumberType":{"description":"Type of bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","default":"BBAN","enum":["BBAN","IBAN"]},"accountType":{"description":"Type of bank account.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":["string","null"]},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"fingerprint":{"description":"Unique value which identifies the bank account.\nThis value contains alphanumeric characters.\nDepending on the type of bank account number,\na bank account fingerprint is generated using one of the following:\n- BBAN: `last4` and `routingNumber` values.\n- IBAN: First 8 characters of the IBAN and the `last4` value.","type":"string","readOnly":true},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true},"status":{"description":"Status of the bank account.","type":"string","readOnly":true,"enum":["active","deactivated"]},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PayPalAccount":{"type":"object","title":"PayPal account","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Method of payment instrument.","type":"string","enum":["paypal"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"username":{"description":"PayPal username.","type":"string","readOnly":true},"status":{"description":"PayPal account status.","type":"string","readOnly":true,"enum":["inactive","active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"AlternativePaymentMethods":{"type":"string","description":"Payment method.","enum":["cash","check","paypal","AdvCash","Aera","Affirm","Afterpay","Aircash","Alfa-click","Alipay","AstroPay Card","AstroPay-GO","BankReferenced","bank-transfer","bank-transfer-2","bank-transfer-3","bank-transfer-4","bank-transfer-5","bank-transfer-6","bank-transfer-7","bank-transfer-8","bank-transfer-9","Baloto","Beeline","Belfius-direct-net","bitcoin","Bizum","Boleto","cash-deposit","CASHlib","CashToCode","China UnionPay","Clearpay","Cleo","CODVoucher","Conekta-oxxo","Cupon-de-pagos","cryptocurrency","domestic-cards","Directa24Card","echeck","ecoPayz","ecoPayzTurkey","ecoVoucher","Efecty","EPS","ePay.bg","eZeeWallet","FasterPay","Flexepin","Giropay","Gpaysafe","Google Pay","iDebit","iDEAL","ING-homepay","INOVAPAY-pin","INOVAPAY-wallet","InstaDebit","instant-bank-transfer","InstantPayments","Interac","Interac-online","Interac-eTransfer","invoice","iWallet","Jeton","JetonCash","jpay","KakaoPay","Khelocard","Klarna","KNOT","loonie","Matrix","MaxiCash","Megafon","MercadoPago","MiFinity-eWallet","miscellaneous","MobilePay","Bancontact","Bancontact-mobile","MTS","Mollie","MuchBetter","MuchBetterVoucher","Multibanco","Neosurf","Netbanking","Neteller","Nordea-Solo","OchaPay","online-bank-transfer","Onlineueberweisen","oriental-wallet","OXXO","P24","Pagadito","PagoEffectivo","Pagsmile-deposit-express","Pagsmile-lottery","PayCash","Payco","Payeer","PaymentAsia-crypto","Paymero","Perfect-money","Piastrix","PIX","PIX-Automatico","plaid-account","PayTabs","Paysafecard","Paysafecash","Pay4Fun","Paynote","PinPay","phone","PhonePe","POLi","PostFinance-card","PostFinance-e-finance","QIWI","QPay","QQPay","Quickpay","rapyd-checkout","Resurs","SafetyPay","Samsung Pay","SEPA","Skrill","Skrill Rapid Transfer","SMSVoucher","Sofort","SparkPay","swift-dbt","Tele2","Terminaly-RF","Thunes-Checkout","ToditoCash-card","Trustly","Tupay","UPayCard","UPI","USD-coin","VCreditos","VegaWallet","VenusPoint","Viva","voucher","voucher-2","voucher-3","voucher-4","Wallet88","Webmoney","Webpay","Webpay-2","Webpay Card","WeChat Pay","wire","XPay-P2P","XPay-QR","Yandex-money","Zotapay","Zimpler","Zip"]},"AlternativeInstrument":{"type":"object","title":"Alternative instrument","required":["method","customerId","billingAddress"],"properties":{"id":{"type":"string","description":"ID of the payment instrument.","readOnly":true,"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"method":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck"]}}]},"billingAddress":{"description":"Billing address of the user that is associated with the payment instrument.","$ref":"#/components/schemas/ContactObject"},"status":{"description":"Payment instrument status.","type":"string","readOnly":true,"enum":["active","deactivated"]},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"lastPaymentTime":{"$ref":"#/components/schemas/LastPaymentTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"readOnly":true},"referenceData":{"description":"Payment instrument reference data.","type":"object","additionalProperties":{"type":"string"},"example":{"gatewayTransactionId":"GAT123"}},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"revision":{"description":"Number of times the payment instrument data has been modified.\n\nUse this value when analyzing webhook data to determine if a change must take precedence over the current representation.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","customer"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"}}}}},"PaymentInstrument":{"discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCard","ach":"#/components/schemas/BankAccount","paypal":"#/components/schemas/PayPalAccount","Khelocard":"#/components/schemas/AlternativeInstrument","cash":"#/components/schemas/AlternativeInstrument","check":"#/components/schemas/AlternativeInstrument","AdvCash":"#/components/schemas/AlternativeInstrument","Alfa-click":"#/components/schemas/AlternativeInstrument","Alipay":"#/components/schemas/AlternativeInstrument","AstroPay Card":"#/components/schemas/AlternativeInstrument","AstroPay-GO":"#/components/schemas/AlternativeInstrument","BankReferenced":"#/components/schemas/AlternativeInstrument","bank-transfer":"#/components/schemas/AlternativeInstrument","bank-transfer-2":"#/components/schemas/AlternativeInstrument","bank-transfer-3":"#/components/schemas/AlternativeInstrument","bank-transfer-4":"#/components/schemas/AlternativeInstrument","bank-transfer-5":"#/components/schemas/AlternativeInstrument","bank-transfer-6":"#/components/schemas/AlternativeInstrument","bank-transfer-7":"#/components/schemas/AlternativeInstrument","bank-transfer-8":"#/components/schemas/AlternativeInstrument","bank-transfer-9":"#/components/schemas/AlternativeInstrument","Baloto":"#/components/schemas/AlternativeInstrument","Beeline":"#/components/schemas/AlternativeInstrument","Belfius-direct-net":"#/components/schemas/AlternativeInstrument","bitcoin":"#/components/schemas/AlternativeInstrument","Bizum":"#/components/schemas/AlternativeInstrument","Boleto":"#/components/schemas/AlternativeInstrument","cash-deposit":"#/components/schemas/AlternativeInstrument","CASHlib":"#/components/schemas/AlternativeInstrument","CashToCode":"#/components/schemas/AlternativeInstrument","China UnionPay":"#/components/schemas/AlternativeInstrument","Cleo":"#/components/schemas/AlternativeInstrument","CODVoucher":"#/components/schemas/AlternativeInstrument","Conekta-oxxo":"#/components/schemas/AlternativeInstrument","Cupon-de-pagos":"#/components/schemas/AlternativeInstrument","cryptocurrency":"#/components/schemas/AlternativeInstrument","domestic-cards":"#/components/schemas/AlternativeInstrument","ecoPayz":"#/components/schemas/AlternativeInstrument","ecoVoucher":"#/components/schemas/AlternativeInstrument","Efecty":"#/components/schemas/AlternativeInstrument","EPS":"#/components/schemas/AlternativeInstrument","ePay.bg":"#/components/schemas/AlternativeInstrument","eZeeWallet":"#/components/schemas/AlternativeInstrument","FasterPay":"#/components/schemas/AlternativeInstrument","Flexepin":"#/components/schemas/AlternativeInstrument","Giropay":"#/components/schemas/AlternativeInstrument","Gpaysafe":"#/components/schemas/AlternativeInstrument","Google Pay":"#/components/schemas/AlternativeInstrument","iDebit":"#/components/schemas/AlternativeInstrument","iDEAL":"#/components/schemas/AlternativeInstrument","ING-homepay":"#/components/schemas/AlternativeInstrument","INOVAPAY-pin":"#/components/schemas/AlternativeInstrument","INOVAPAY-wallet":"#/components/schemas/AlternativeInstrument","InstaDebit":"#/components/schemas/AlternativeInstrument","instant-bank-transfer":"#/components/schemas/AlternativeInstrument","InstantPayments":"#/components/schemas/AlternativeInstrument","Interac":"#/components/schemas/AlternativeInstrument","Interac-online":"#/components/schemas/AlternativeInstrument","Interac-eTransfer":"#/components/schemas/AlternativeInstrument","invoice":"#/components/schemas/AlternativeInstrument","iWallet":"#/components/schemas/AlternativeInstrument","Jeton":"#/components/schemas/AlternativeInstrument","jpay":"#/components/schemas/AlternativeInstrument","Klarna":"#/components/schemas/AlternativeInstrument","KNOT":"#/components/schemas/AlternativeInstrument","loonie":"#/components/schemas/AlternativeInstrument","Matrix":"#/components/schemas/AlternativeInstrument","MaxiCash":"#/components/schemas/AlternativeInstrument","Megafon":"#/components/schemas/AlternativeInstrument","MiFinity-eWallet":"#/components/schemas/AlternativeInstrument","miscellaneous":"#/components/schemas/AlternativeInstrument","Bancontact":"#/components/schemas/AlternativeInstrument","Bancontact-mobile":"#/components/schemas/AlternativeInstrument","MTS":"#/components/schemas/AlternativeInstrument","MuchBetter":"#/components/schemas/AlternativeInstrument","Multibanco":"#/components/schemas/AlternativeInstrument","Neosurf":"#/components/schemas/AlternativeInstrument","Netbanking":"#/components/schemas/AlternativeInstrument","Neteller":"#/components/schemas/AlternativeInstrument","Nordea-Solo":"#/components/schemas/AlternativeInstrument","OchaPay":"#/components/schemas/AlternativeInstrument","online-bank-transfer":"#/components/schemas/AlternativeInstrument","Onlineueberweisen":"#/components/schemas/AlternativeInstrument","oriental-wallet":"#/components/schemas/AlternativeInstrument","OXXO":"#/components/schemas/AlternativeInstrument","P24":"#/components/schemas/AlternativeInstrument","Pagadito":"#/components/schemas/AlternativeInstrument","PagoEffectivo":"#/components/schemas/AlternativeInstrument","Pagsmile-deposit-express":"#/components/schemas/AlternativeInstrument","Pagsmile-lottery":"#/components/schemas/AlternativeInstrument","PayCash":"#/components/schemas/AlternativeInstrument","Payeer":"#/components/schemas/AlternativeInstrument","PaymentAsia-crypto":"#/components/schemas/AlternativeInstrument","Paymero":"#/components/schemas/AlternativeInstrument","Perfect-money":"#/components/schemas/AlternativeInstrument","Piastrix":"#/components/schemas/AlternativeInstrument","plaid-account":"#/components/schemas/AlternativeInstrument","PayTabs":"#/components/schemas/AlternativeInstrument","Paysafecard":"#/components/schemas/AlternativeInstrument","Paysafecash":"#/components/schemas/AlternativeInstrument","Pay4Fun":"#/components/schemas/AlternativeInstrument","Paynote":"#/components/schemas/AlternativeInstrument","PinPay":"#/components/schemas/AlternativeInstrument","phone":"#/components/schemas/AlternativeInstrument","PhonePe":"#/components/schemas/AlternativeInstrument","POLi":"#/components/schemas/AlternativeInstrument","PostFinance-card":"#/components/schemas/AlternativeInstrument","PostFinance-e-finance":"#/components/schemas/AlternativeInstrument","QIWI":"#/components/schemas/AlternativeInstrument","QPay":"#/components/schemas/AlternativeInstrument","QQPay":"#/components/schemas/AlternativeInstrument","rapyd-checkout":"#/components/schemas/AlternativeInstrument","Resurs":"#/components/schemas/AlternativeInstrument","SafetyPay":"#/components/schemas/AlternativeInstrument","SEPA":"#/components/schemas/AlternativeInstrument","Skrill":"#/components/schemas/AlternativeInstrument","Skrill Rapid Transfer":"#/components/schemas/AlternativeInstrument","SMSVoucher":"#/components/schemas/AlternativeInstrument","Sofort":"#/components/schemas/AlternativeInstrument","SparkPay":"#/components/schemas/AlternativeInstrument","swift-dbt":"#/components/schemas/AlternativeInstrument","Tele2":"#/components/schemas/AlternativeInstrument","Terminaly-RF":"#/components/schemas/AlternativeInstrument","Thunes-Checkout":"#/components/schemas/AlternativeInstrument","ToditoCash-card":"#/components/schemas/AlternativeInstrument","Trustly":"#/components/schemas/AlternativeInstrument","UPayCard":"#/components/schemas/AlternativeInstrument","UPI":"#/components/schemas/AlternativeInstrument","USD-coin":"#/components/schemas/AlternativeInstrument","VCreditos":"#/components/schemas/AlternativeInstrument","VenusPoint":"#/components/schemas/AlternativeInstrument","voucher":"#/components/schemas/AlternativeInstrument","voucher-2":"#/components/schemas/AlternativeInstrument","voucher-3":"#/components/schemas/AlternativeInstrument","voucher-4":"#/components/schemas/AlternativeInstrument","Webmoney":"#/components/schemas/AlternativeInstrument","Webpay":"#/components/schemas/AlternativeInstrument","Webpay-2":"#/components/schemas/AlternativeInstrument","Webpay Card":"#/components/schemas/AlternativeInstrument","WeChat Pay":"#/components/schemas/AlternativeInstrument","XPay-P2P":"#/components/schemas/AlternativeInstrument","XPay-QR":"#/components/schemas/AlternativeInstrument","Yandex-money":"#/components/schemas/AlternativeInstrument","Zotapay":"#/components/schemas/AlternativeInstrument","Zimpler":"#/components/schemas/AlternativeInstrument"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCard"},{"$ref":"#/components/schemas/BankAccount"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]},"PaymentInstrumentCreateToken":{"title":"Payment token","type":"object","required":["customerId","token"],"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"token":{"description":"ID of the payment token.","type":"string"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentCardCreatePlain":{"title":"Payment card","type":"object","required":["method","customerId","pan","expYear","expMonth","billingAddress"],"properties":{"method":{"description":"Method of the payment instrument.","type":"string","enum":["payment-card"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"pan":{"description":"Primary Account Number (PAN) of the payment card.","type":"string","writeOnly":true},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string","writeOnly":true},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BBANType":{"type":"object","description":"BBAN type object.","required":["accountNumberType","method","customerId","accountNumber","routingNumber","accountType","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","pattern":"^[0-9]+$","example":"1234567890"},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$","example":"123456789"},"accountType":{"description":"Type of the bank account.","type":"string","enum":["checking","savings","other"]},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"IBANType":{"type":"object","description":"IBAN type object.","required":["accountNumberType","method","customerId","accountNumber","billingAddress"],"properties":{"method":{"description":"Payment method of the payment instrument.","type":"string","enum":["ach"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"accountNumberType":{"description":"Type of the customer's bank account number.\nA valid value is a Basic Bank Account Number (BBAN) or an International Bank Account Number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Customer's bank account number.\nDetailed information on all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","example":"DE89370400440532013000"},"bankName":{"description":"Name of the bank.","type":"string"},"bic":{"description":"Bank Identifier Code (BIC).","type":"string","example":"DEUTDE8LXXX"},"billingAddress":{"description":"Customer's billing address.","$ref":"#/components/schemas/ContactObject"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BankAccountCreatePlain":{"title":"Bank account","type":"object","required":["accountNumberType"],"discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANType","IBAN":"#/components/schemas/IBANType"}},"oneOf":[{"$ref":"#/components/schemas/BBANType"},{"$ref":"#/components/schemas/IBANType"}]},"PaymentInstrumentUpdateToken":{"type":"object","properties":{"token":{"description":"ID of the payment token.","type":"string"},"billingAddress":{"description":"Customer's billing address.\nIf this value is supplied it overrides the billing address that is supplied with the token.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\nTo remove the sticky gateway account from a payment instrument, set this value to `null`.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentCardUpdatePlain":{"type":"object","properties":{"cvv":{"description":"Card Verification Value (CVV) of the payment card.","type":"string"},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"BankAccountUpdatePlain":{"type":"object","properties":{"bankName":{"description":"Name of the bank.","type":"string"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"billingAddress":{"description":"Billing address.","$ref":"#/components/schemas/ContactObject"},"stickyGatewayAccountId":{"description":"ID of the sticky gateway account.\nAll future payments are processed by this gateway account.\n\nFor more information,\nsee [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","$ref":"#/components/schemas/ResourceId"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"useAsBackup":{"$ref":"#/components/schemas/UseAsBackup"}}},"PaymentInstrumentNameInquiry":{"type":"object","description":"Perform a name inquiry on a payment instrument.","required":["gatewayAccountId"],"properties":{"gatewayAccountId":{"description":"ID of the gateway account.","type":"string"},"result":{"description":"Result of the payment instrument name inquiry.","type":"string","readOnly":true,"enum":["full-match","partial-match","no-match","not-supported","unknown"]},"response":{"readOnly":true,"description":"Raw response message from gateway.","type":"string"}}},"PlanFormulaFixedFee":{"title":"Fixed-fee","description":"Fixed-fee pricing details.\nUse this formula for subscriptions that involve the same price,\nnumber of units, and reoccur over a fixed period of time.\n\nFor more information, see [Fixed-fee per period](https://www.rebilly.com/docs/settings/pricing-formulas/#fixed-fee-per-period).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["fixed-fee"]},"price":{"description":"Use this formula to charge for subscriptions that have a fixed price,\nnumber of units, and reoccur over a fixed period of time,\nsuch as every: day, week, month, year, or number of years.\n\nFor example, a streaming company charges customers $13.99 each month for subscription period that is 6 months in duration.\nThe quantity of movies that a customer streams each month does not impact the price.","type":"number","format":"double","example":99.95}}},"PlanFormulaFlatRate":{"title":"Flat rate","description":"Flat rate pricing details.\nUse this formula to charge a flat fee per unit.\nFor example, $0.10 per transaction or $4 per unit.\n\nFor more information, see [Flat rate pricing](https://www.rebilly.com/docs/billing/pricing-formulas/#flat-rate-pricing).","type":"object","required":["price","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["flat-rate"]},"price":{"description":"Use this formula to charge a flat fee per unit.\nFor example, $0.10 for each transaction or $4 per unit.\n\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaStairstep":{"title":"Stair-step","description":"Stair-step pricing details.\nUse this formula to charge for units that are sold in specific quantities.\n\nFor more information, see [Stair-step](https://www.rebilly.com/docs/billing/pricing-formulas/#stair-step).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["stairstep"]},"brackets":{"description":"Use this formula to charge for units that are sold in specific quantity ranges.\n\nFor example, a bank charges a merchant based on the number of transactions they complete each month.\n\nPrice total | Max quantity | Description\n------------|--------------|------------\n$50         | 1000         | Up to 1000 transactions\n$100        | 1500         | Between 1000 and 1500 transactions\n$200        | 3000         | Between 1500 and 3000 transactions\n$500        | null         | More than 3000 transactions\n\n- If the merchant completes 900 transaction in a month, they are charged $50.\n- If the merchant completes 1001 transaction in a month, they are charged $100.\n- If the merchant completes 2500  transaction in a month, they are charged $200.\n- If the merchant completes more than 3000 transaction in a month, they are charged $500.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaTiered":{"title":"Tiered","description":"Tiered pricing details.\nUse this formula to charge for units that are sold within defined quantity ranges, or tiers.\n\nFor more information, see [Tiered](https://www.rebilly.com/docs/settings/pricing-formulas/#tiered).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["tiered"]},"brackets":{"description":"Use this formula to charge for units that are sold within defined quantity ranges, or tiers.\nIf a customer buys a number of units that span more than one tier,\nthe total cost is calculated based on the cost of the units in each tier.\n\nFor example, a software company sells user licenses based on the following:\n\nTier | Price per user | Max quantity | Description\n-----|----------------|--------------|------------\n1    | $40            | 3            | 1 to 3 user licenses\n2    | $30            | 5            | 5 to 8 user licenses\n3    | $15            | null         | 9 or more user licenses\n\nIf a customer buys 10 user licenses, the pricing is as follows:\n- 3 licenses at tier 1 (3 x $40) is 120\n- 5 licenses at tier 2 (5 x $30) is 150\n- 2 licenses at tier 3 (2 x $15) is 30\n\nTotal cost = $330\n\nFormula: `(price for the tier x quantity within the tier)` + `(price for next tier x quantity in next tier)` + `...` = final price.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanFormulaVolume":{"title":"Volume","description":"Volume pricing details.\nUse this formula to charge for units that are sold in bulk,\nor volume ranges. In general,\nthis formula means that a customer pays less per unit when they buy a large volume of units.\n\nFor more information, see [Volume](https://www.rebilly.com/docs/settings/pricing-formulas/#volume).","type":"object","required":["brackets","formula"],"properties":{"formula":{"type":"string","description":"Price formula that determines which algorithm is used to calculate the invoice price based on the following factors:\n\n- Quantity in the order.\n  This value may be variable if you are charging based on usage.\n  If you are not charging based on usage,\n  this value is determined when an order is created.\n\n- Price of the quantity range.\n  Some formulas set a price based on defined product quantity ranges.\n\nFor more information, see [Price formulas](https://www.rebilly.com/docs/billing/pricing-formulas/).","enum":["volume"]},"brackets":{"description":"Use this formula to charge for units that are sold in bulk, or volume ranges.\nThis formula enables customers to pays less per unit when they buy a large volume of units.\nUnit cost is based on the highest volume range, and does not include lower volume range pricing.\n\nFor example, a company sells t-shirts in the following volume ranges:\n\nPrice per unit| Max quantity | Description\n--------------|--------------|------------\n$10           | 1            | 1 t-shirt\n$8            | 5            | 2 to 5 t-shirts\n$4            | null         | 6 or more t-shirts\n\n- If a customer buys 1 unit, they pay $10.\n- If a customer buys 3 units, they pay $24 per unit, which is $8 per unit.\n- If a customer buys 10 units, they pay $40, which is $4 per unit.","type":"array","minItems":1,"items":{"type":"object","properties":{"price":{"description":"Price of the quantity range.\nIf the value of this field is `0`, the product is free.","type":"number","format":"double","example":99.95},"maxQuantity":{"description":"Maximum permitted unit quantity.\nIf this value is `null`, no limit is in place.\n\nThis value starts from the end of the previous quantity range.\nIf there are no previous quantity ranges,\nthis value starts at 1.","type":["integer","null"],"example":1,"minimum":1,"maximum":999999999}}}},"minQuantity":{"description":"Minimum permitted unit quantity.\nIf this value is `null`, no limit is in place.","type":["integer","null"],"default":null,"example":1,"minimum":1,"maximum":999999999}}},"PlanPriceFormula":{"description":"Pricing details.","type":"object","discriminator":{"propertyName":"formula","mapping":{"fixed-fee":"#/components/schemas/PlanFormulaFixedFee","flat-rate":"#/components/schemas/PlanFormulaFlatRate","stairstep":"#/components/schemas/PlanFormulaStairstep","tiered":"#/components/schemas/PlanFormulaTiered","volume":"#/components/schemas/PlanFormulaVolume"}},"oneOf":[{"$ref":"#/components/schemas/PlanFormulaFixedFee"},{"$ref":"#/components/schemas/PlanFormulaFlatRate"},{"$ref":"#/components/schemas/PlanFormulaStairstep"},{"$ref":"#/components/schemas/PlanFormulaTiered"},{"$ref":"#/components/schemas/PlanFormulaVolume"}]},"PlanSetup":{"type":["object","null"],"description":"Setup fee information for the plan.","required":["price"],"properties":{"price":{"description":"One-time setup fee charged when the plan starts.\nThis field is deprecated.\nUse the `setupFee` field instead.","type":"number","format":"double","deprecated":true}},"deprecated":true},"PlanSetupFee":{"description":"One-time setup fee charged when the plan starts.\nSet to `0` or `null` if no setup fee applies.","type":["number","null"],"format":"double","minimum":0,"example":0},"SchedulingMethodDayAndMonthOfYear":{"type":"object","properties":{"method":{"type":"string","enum":["day-and-month-of-year"]},"day":{"type":"integer","minimum":1,"maximum":31,"description":"Day of the month in which the event occurs.\nIf the month has less days, the last day of the month is selected."},"month":{"type":"integer","minimum":1,"maximum":12,"description":"Month of the year in which the event occurs."},"time":{"$ref":"#/components/schemas/TimeIso8601Extended"}},"required":["day","month","method"]},"ServicePeriodAnchorInstruction":{"type":["object","null"],"description":"Instruction for calculating the service period anchor.\n\nThe service period anchor is used, in conjunction with the subscription\nstart time, to calculate when the service period starts and ends.","discriminator":{"propertyName":"method","mapping":{"day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"}]},"PlanTrial":{"type":["object","null"],"required":["price","period"],"properties":{"price":{"description":"Price of setting up a trial.\nIf your service charges a fee for a trial, specify it here.\nTo charge no trial fee, set this value to `0`.","type":"number","format":"double"},"period":{"type":"object","description":"Period information.","required":["unit","length"],"properties":{"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1}}}}},"InvoiceTimeShift":{"type":["object","null"],"description":"Use invoice time shift to control the billing time.\n\nInvoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes.\n\nUse invoice time shift in conjunction with `billingTiming` to:\n\n- Bill immediately when the service period starts.\n- Bill immediately after the service period ends.\n- Bill at an interval of time before the service period starts.\n- Bill at an interval of time after the service period starts.\n- Bill at an interval of time before the service period ends.\n- Bill at an interval of time after the service period ends.","properties":{"issueTimeShift":{"type":"object","description":"Calculation instruction of the billing time.\n\nThis is used in conjunction with the service period anchor to calculate\nthe time at which the invoice is issued. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","required":["chronology","duration","unit"],"properties":{"chronology":{"type":"string","description":"Sequential order of the billing time relative to the start of the service period.","enum":["before"]},"duration":{"type":"integer","description":"Amount of time by which to move the invoice issue time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}},"dueTimeShift":{"type":"object","required":["duration","unit"],"description":"Calculation instruction of the invoice due time.\n\nThis is used in conjunction with the service period anchor to calculate when\nan invoice is due for payment. For more information, see\n[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).\n\nThe sequential order of due time shift is always after the due date.","default":{"duration":1,"unit":"hour"},"properties":{"duration":{"type":"integer","description":"Amount of time by which to move the invoice due time or date.","minimum":1},"unit":{"description":"Unit of time.","oneOf":[{"$ref":"#/components/schemas/TimeUnit"},{"$ref":"#/components/schemas/TimePluralUnit"}]}}}}},"SubscriptionPlan":{"title":"SubscriptionPlan","description":"Details of the subscription order plan.\nUse this plan for subscriptions or sales that reoccur over a period of time.","type":"object","required":["name","currency","productId","pricing","recurringInterval"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `subscription` when `recurringInterval` is present.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["subscription"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"description":"Service interval settings.","type":"object","required":["unit","length"],"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"},"unit":{"description":"Unit of time.","type":"string","enum":["day","week","month","year"]},"length":{"description":"Length of time.","type":"integer","minimum":1},"limit":{"description":"Number of invoices the subscription order generates.\nIf this value is `1`, only the initial order creation is generated.\n\nExample: For a 1 year contract that is billed monthly,\nwhere the `periodUnit` is `month` and the `periodDuration` is `1`,\nset this field to `12`.","type":["integer","null"],"minimum":1,"maximum":65535},"billingTiming":{"type":"string","default":"prepaid","description":"Billing timing in relation to the service period.\nFor `prepaid` plans the customer pays when the service period starts,\nwhereas, for `postpaid` plans, the customer pays when the service period ends.","enum":["prepaid","postpaid"]}}},"trial":{"description":"Trial configuration setting.\nIf you do not want to offer a trial, set this value to `null`.","$ref":"#/components/schemas/PlanTrial"},"meteredBilling":{"type":["object","null"],"required":["strategy"],"description":"Use metered billing when an exact quantity is unknown.\nReport usage during a service period and charge customers afterwards.\nMetered billing plans must be postpaid.","properties":{"strategy":{"type":"string","enum":["sum","last"],"x-enumDescriptions":{"sum":"Total amount of reported invoice item quantity usage.","last":"Last reported invoice item quantity usage."}},"min":{"description":"Minimum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"max":{"description":"Maximum quantity that is charged at the end of a service period regardless of reported usage.","type":["number","null"],"format":"float","minimum":0.01},"sticky":{"description":"When enabled, if no usage is reported during a service period,\nthe plan bills the last known reported quantity from a previous period instead of zero.\nThis is suitable for hosted or persistent resources whose usage does not change every period.\nOnly supported with `strategy`: `last`.","type":"boolean","default":false,"example":false}}},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"SubscriptionPlanDetails":{"title":"SubscriptionPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},"OneTimeSalePlan":{"title":"OneTimeSalePlan","type":"object","description":"Details of the one-time sale plan.\nUse this plan for non-recurring, one-time, sales.","required":["name","currency","productId","pricing"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `one-time-sale` when both `recurringInterval` and `trial` are omitted.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["one-time-sale"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"pricing":{"$ref":"#/components/schemas/PlanPriceFormula"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":false,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"type":"null","description":"Trial configuration setting.","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"OneTimeSalePlanDetails":{"title":"OneTimeSalePlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},"TrialOnlyPlan":{"title":"TrialOnlyPlan","description":"Details of the trial-only plan.\nUse this plan for limited-time product trials.\nTrials may have a reduced fee, or may be free.","type":"object","required":["name","currency","productId","trial"],"properties":{"type":{"type":"string","description":"Variant of the plan.\nThis field is optional in create and update requests.\nThe variant is `trial-only` when `trial` is present without `recurringInterval`.\nIf included, this field must match the applicable variant.\nA mismatch results in an HTTP `422` response.\nResponses always include this field.","enum":["trial-only"]},"name":{"description":"Name of the plan.\nThis name is displayed on invoices and receipts.","type":"string","maxLength":255},"description":{"type":"string","description":"Plain-text description of the plan.\nThis field accepts plain-text only.","maxLength":65535},"richDescription":{"type":"string","description":"Rich-text description of the plan.\nThis field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.","maxLength":65535},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"currencySign":{"description":"Currency sign.","readOnly":true,"type":"string"},"setup":{"$ref":"#/components/schemas/PlanSetup"},"setupFee":{"$ref":"#/components/schemas/PlanSetupFee"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"isActive":{"type":"boolean","description":"Specifies if the plan is active.","default":true},"revision":{"type":"integer","readOnly":true,"description":"Number of times the plan is modified.\nCompare this value with materialized subscription item revision values."},"isTrialOnly":{"type":"boolean","const":true,"description":"Specifies if a plan is a trial that does not have recurring instructions.","readOnly":true},"recurringInterval":{"type":"null","description":"Service interval settings.","readOnly":true},"trial":{"description":"Trial configuration settings.","allOf":[{"type":"object"},{"$ref":"#/components/schemas/PlanTrial"}]},"invoiceTimeShift":{"readOnly":true,"deprecated":true,"description":"Use invoice time shift to adjust the invoice issue and due date when billing must occur before the service period changes.\nFor example, rent must be paid in advance,\nso the invoice must be in advance of the billing date.\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","$ref":"#/components/schemas/InvoiceTimeShift"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"TrialOnlyPlanDetails":{"title":"TrialOnlyPlanDetails","allOf":[{"type":"object","required":["id","type"],"properties":{"id":{"type":"string","description":"ID of the plan.","readOnly":true,"maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]},"Plan":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/SubscriptionPlanDetails","one-time-sale":"#/components/schemas/OneTimeSalePlanDetails","trial-only":"#/components/schemas/TrialOnlyPlanDetails"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionPlanDetails"},{"$ref":"#/components/schemas/OneTimeSalePlanDetails"},{"$ref":"#/components/schemas/TrialOnlyPlanDetails"}]},"PlanRequest":{"title":"PlanRequest","oneOf":[{"$ref":"#/components/schemas/SubscriptionPlan"},{"$ref":"#/components/schemas/OneTimeSalePlan"},{"$ref":"#/components/schemas/TrialOnlyPlan"}]},"Product":{"type":"object","required":["name"],"description":"Products are the items that your business sells.\nProducts include digital goods, services, and physical goods.\nProducts appear on invoice line items.\nIf you set a tax category identifier, taxes are calculated at invoice generation.\nIf the product is shippable, shipping costs are calculated at invoice generation.\nPricing and variations are set within plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","properties":{"id":{"type":"string","description":"ID of the product.","readOnly":true,"maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"name":{"description":"Name of the product.","type":"string","minLength":3,"maxLength":255,"example":"Premium membership"},"unitLabel":{"description":"Unit label, such as per `seat` or per `unit`.","type":"string","minLength":1,"maxLength":50,"example":"seat","default":"unit"},"description":{"description":"Description of the product.","type":["string","null"],"maxLength":512},"requiresShipping":{"description":"Specifies if the product requires shipping.\nIf this value is `true`, shipping calculations are applied.","type":"boolean","example":false,"default":false},"options":{"description":"Product options such as color, size, and so forth.\nProduct option values are defined in plans.\nFor more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","type":"array","items":{"type":"string"}},"taxCategoryId":{"description":"Tax category of the product.\nFor a complete list of supported tax categories, see [TaxJar sales tax API reference](https://developers.taxjar.com/api/reference/#get-list-tax-categories).\nIf none of the tax categories from the list are applicable for your product, use the general tax category `00000`.","type":["string","null"],"example":"00000"},"accountingCode":{"description":"Accounting code of the product.","type":["string","null"],"example":"4010"},"recognition":{"type":["object","null"],"properties":{"debitAccountId":{"description":"ID of the debit journal account.","type":["string","null"]},"creditAccountId":{"description":"ID of the credit journal account.","type":["string","null"]}}},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OriginalPlan":{"type":"object","description":"Use an existing plan without changes for the current order.\n\nTo create a new plan, see [Create a plan](https://www.rebilly.com/catalog/all/plans/postplan).","required":["id"],"additionalProperties":false,"properties":{"id":{"description":"ID of the plan.","$ref":"#/components/schemas/ResourceId"}}},"FlexiblePlan":{"oneOf":[{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/OneTimeSalePlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/SubscriptionPlan"}]},{"allOf":[{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"}}},{"$ref":"#/components/schemas/TrialOnlyPlan"}]}]},"UsageLimits":{"type":"object","description":"Specifies the soft and hard usage limit thresholds for an item with a metered billing plan.\nThis value is ignored when the plan is not metered.","properties":{"softLimit":{"type":"object","description":"Defines thresholds for notification purposes.\nFor example, to notify the customer that their usage is near the hard limit of their metered billing plan.\nThis notification informs the customer so that they can upgrade their plan before the hard limit is reached.\nWhen metered usage equals or exceeds the configured soft limit, the `soft-usage-limit-reached` event is triggered.\nThe quantity limit applies to the larger of the reported and billed quantity.\nIf a minimum billable quantity results in a billed quantity that is higher than the reported quantity, the billed quantity applies to the limit.\nIf a maximum billable quantity results in a billed quantity that is lower than the reported quantity, the reported quantity applies to the limit.\nThe amount limit applies to the billed amount.\nTo notify the customer, a webhook and notification can be configured for this event.\nThis field is useful for accounting and customer success purposes.\nThe usage of metered billing plans can still be reported if the soft limit is reached.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"hardLimit":{"type":"object","description":"Defines a limit where the customer can no longer use the service.\nHard limits are used in addition to soft limits.\nWhen a soft limit is reached,\na customer may receive a notification\nbut the service can still be provided up to the hard limit value so that the customer can upgrade their plan.\nWhen the reported usage reaches the configured limit,\na specific event is triggered.\nTo notify the customer in the merchant system,\nor block a service,\na webhook and notification can be configured for this event.\nWhen the total usage reaches the hard limit quantity,\nor amount values,\nmetered billing plan usages can no longer be reported.\nPlans with a minimum quantity, fixed fee, or flat stairstep bracket set a minimum billable quantity and amount.\nA `quantity` value below the minimum billable quantity is invalid.\nAn `amount` value below the minimum billable amount is invalid.\nA `0` value remains valid even on plans with minimum billing.","minProperties":1,"maxProperties":1,"properties":{"quantity":{"type":"integer","description":"Usage limit quantity.","minimum":0},"amount":{"type":"number","format":"double","description":"Usage limit amount in the currency of the order.","minimum":0}}},"trialLimit":{"oneOf":[{"type":"number","format":"double","minimum":0},{"type":"null"}],"description":"Defines a usage cap during the trial period of a subscription.\nThis limit is enforced only while the subscription is in its trial phase.\nWhen the reported usage reaches the configured trial limit, an event called 'trial-usage-limit-reached' is triggered.\nTo notify the customer or restrict access to the service, a webhook and notification can be configured for this event.\nOnce the trial limit is reached, additional usage cannot be reported unless the trial ends.","example":20.725}}},"QuoteSubscriptionItem":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["subscription"]},"quantity":{"description":"Number of product units in the specified plan.\nQuantity for metered billing is always 0.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.\nThis field is not used for metered billing plans.","type":["number","null"],"format":"double","example":5.125},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the quote item.\nThis value is only used for metered billing items.","example":"50% of the markup for approved transactions","default":"","maxLength":255},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"QuoteOneTimeSaleItem":{"type":"object","required":["plan","type"],"properties":{"id":{"description":"ID of the quote item.","readOnly":true,"type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"enum":["one-time-sale"]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","default":1,"minimum":0,"maximum":1000000000},"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"description":{"type":"string","description":"Description of the quote item.","example":"Charge per approved transaction with DCC","default":"","maxLength":255},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"QuoteItem":{"type":"object","discriminator":{"propertyName":"type","mapping":{"subscription":"#/components/schemas/QuoteSubscriptionItem","one-time-sale":"#/components/schemas/QuoteOneTimeSaleItem"}},"oneOf":[{"$ref":"#/components/schemas/QuoteSubscriptionItem"},{"$ref":"#/components/schemas/QuoteOneTimeSaleItem"}]},"CreationQuote":{"type":"object","title":"CreationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, a new order is created.","type":"string","enum":["creation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote and created an order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["items"],"properties":{"id":{"description":"ID of the related order.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"autopay":{"type":"boolean","default":false,"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order."},"shipping":{"$ref":"#/components/schemas/Shipping"},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"startTime":{"description":"Date and time when the created order starts.\nIf this value is `null`, the quote acceptance time is used.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"isLegacy":{"description":"Specifies if the order is a legacy order.\nIf omitted when the quote is created, the value follows the order model that is used by the organization: `false` for the current order model and `true` for the legacy order model.\nIf omitted when the quote is updated, the value does not change.\nOrganizations that use the current order model cannot set this value to `true`.","type":"boolean","example":true}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"ChangeQuote":{"type":"object","title":"ChangeQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the related order.\nChange quotes can only be created for orders with `active` or `trial-ended` status.\nFor `trial-ended` orders, use this quote type to convert a trial-only order to a regular recurring order.","type":"string","enum":["change"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. Quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"renewalPolicy":{"description":"Policy for managing service periods and trial state of the related order when the quote is accepted.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` flag is ignored unless `retain` is used, or this field is omitted.\nIf this field is omitted, this value defaults to `retainRecurring`.\nIf this field is omitted and `keepTrial` is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"string","default":"retainRecurring","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring` or `retainTrialThenRecurring` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring` or `retainTrialThenRecurring`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period length.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the time of quote acceptance.","type":["string","null"],"format":"date-time"},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change at once.\n  `prorated`, `renewalPolicy` and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `prorated` and `renewalPolicy` are ignored.\n  Omit `effectiveTime`.\n  If the request includes `effectiveTime`, a validation error is returned.\n  `couponIds` and `usageSettings` are not supported.\n  If the request includes either field, a validation error is returned.\n  `interimOnly` must be `true`.\n  A later request replaces the pending change.\n  The pending change is locked when the next renewal invoice is issued.\n  One-time sale items that are already on the order are retained.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`, or omitted.\nIf `renewalPolicy` is omitted and this field is `true`, `renewalPolicy` is set to `retainTrialThenRecurring`.","type":"boolean","default":false},"interimOnly":{"type":"boolean","default":true,"description":"Specifies if the quotation invoice must include interim items only.\nIf this value is set to `false`, all upcoming items are included.\nWith `applyAt` set to `nextRenewal`, this value must be `true`.\nTo bill the next period now, issue the upcoming invoice of the order."},"usageSettings":{"type":"array","default":[],"description":"Usage settings for items with metered billing.","items":{"type":"object","required":["productId","policy"],"properties":{"productId":{"type":"string","description":"ID of the product to use to transfer usage.\nIf the `policy` value is `transfer`,\nand an existing item and a new item are of the same product,\nusage can be transferred to the new item.\nIf a new item of the same product does not exist,\nor does not have a metered billing plan,\nthis transfer is ignored.","example":"prod_0YV7DENSVGDBW9S71XZNNYYQ0X"},"policy":{"type":"string","enum":["reset","transfer"],"description":"Policy for removed items that have a metered billing plan.","x-enumDescriptions":{"reset":"Delete existing usages.","transfer":"Transfer usages from removed item to new item of the same product."}}}}},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"ReactivationQuote":{"type":"object","title":"ReactivationQuote","required":["websiteId","customerId","order","type"],"properties":{"id":{"readOnly":true,"description":"ID of the quote.","type":"string","maxLength":50,"example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"type":{"description":"Type of the quote.\nWhen a quote is accepted, quote items and settings are applied to the order and the order is reactivated.","type":"string","enum":["reactivation"]},"acceptanceConditions":{"type":"array","writeOnly":true,"description":"Conditions that must be met for the quote to be automatically accepted.","items":{"type":"string","enum":["customer","payment"],"x-enumDescriptions":{"customer":"Quote can be accepted by customer.","payment":"Related invoice must be paid in full."}},"example":["payment"],"default":["customer"]},"acceptanceFulfillment":{"type":"array","readOnly":true,"description":"List of `acceptanceConditions` with fulfillment status.","items":{"type":"object","properties":{"condition":{"type":"string","enum":["customer","payment","organization"]},"isFulfilled":{"type":"boolean"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"invoiceId":{"type":"string","description":"ID of the payment invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the quote.","type":"string","readOnly":true,"enum":["draft","issued","accepted","rejected","canceled","expired"],"x-enumDescriptions":{"draft":"Quote can be edited. This quote cannot be sent to a customer.","issued":"Quote cannot be edited. This quote can be sent to a customer.","accepted":"Customer accepted the quote. The related order is reactivated and quote items and settings are applied to the order.","rejected":"Customer rejected the quote.","canceled":"Organization or customer canceled the quote.","expired":"Expired before customer or organization interaction."}},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"order":{"type":"object","description":"Properties of the related order.","required":["id","items"],"properties":{"id":{"description":"ID of the related order.","type":"string","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"items":{"type":"array","description":"Items included in the quote.","minItems":1,"items":{"$ref":"#/components/schemas/QuoteItem"}},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":["string","null"],"format":"date-time"},"paymentInstrumentId":{"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"autopay":{"type":["boolean","null"],"description":"Specifies if payment attempts for the related order are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.\nIf this value is `null`, the related order autopay is not affected."},"includeUnpaidInvoices":{"type":"boolean","default":false,"example":false,"description":"Specifies whether the quote invoice includes items from outstanding unpaid and past-due invoices for the related order.\nWhen this value is `true`, the quote invoice includes charges for eligible items from those invoices.\nWhen the quote is accepted, only invoices included in the quote that remain unpaid or past due and can be voided are voided."},"shipping":{"description":"Shipping settings of the order.\nIf this value is omitted, the order shipping is not affected.","allOf":[{"$ref":"#/components/schemas/Shipping"}]},"deliveryAddress":{"description":"Delivery address of the order.\nIf this value is `null`, the order delivery address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nIf this value is `null`, the order billing address is not affected.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]}}},"invoicePreview":{"type":"object","description":"Preview of the quote invoice.","readOnly":true,"properties":{"currency":{"description":"Currency of the invoice.","$ref":"#/components/schemas/CurrencyCode"},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the quote does not have recurring items, the value of this field is `null`.","properties":{"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double"}}},"items":{"type":"array","description":"Invoice items.","items":{"type":"object","properties":{"quoteItemId":{"description":"ID of the related quote item.","type":"string","example":"qt_itm_01HXCEQNR3F1G2A6RX6HPS3KFY"},"type":{"type":"string","description":"Type of the invoice item.","x-basic":true,"enum":["debit","credit"]},"name":{"description":"Name of the invoice item.","type":"string","maxLength":1000},"description":{"description":"Description of the invoice item.","type":"string","example":"Charge per approved transaction with DCC","maxLength":255},"priceDescription":{"type":"string","description":"Price description of the invoice item.","example":"50% of the markup for approved transactions","maxLength":255},"unitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"quantity":{"description":"Quantity of the invoice item.","type":"integer"},"period":{"description":"Date interval of the invoice item.","type":["string","null"]},"setupUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialUnitPrice":{"description":"Unit price of the invoice item.","type":["number","null"],"format":"double"},"trialPeriod":{"description":"Date interval of the invoice item trial.","type":["string","null"]},"taxAmount":{"description":"Tax amount of the invoice item.","type":["number","null"],"format":"double"},"setupTaxAmount":{"description":"Tax amount of the setup that is applied to the invoice.","type":["number","null"],"format":"double"},"trialTaxAmount":{"description":"Tax amount of the trial that is applied to the invoice.","type":["number","null"],"format":"double"}}}}}},"paymentTerms":{"description":"Payment terms for the customer which are displayed on the quote.","type":"string"},"expirationTime":{"description":"Date and time when the quote expires.\nA new or updated expiration time must be later than the current time.\nThe default expiration time is one month from the time the quote is issued.\nIn a `draft` state, this field may be `null`.","type":["string","null"],"format":"date-time"},"issuedTime":{"description":"Date and time when the quote is issued.","type":["string","null"],"readOnly":true,"format":"date-time"},"acceptedTime":{"description":"Date and time when the quote is accepted.","type":["string","null"],"readOnly":true,"format":"date-time"},"rejectedTime":{"description":"Date and time when the quote is rejected.","type":["string","null"],"readOnly":true,"format":"date-time"},"canceledTime":{"description":"Date and time when the quote is canceled.","type":["string","null"],"readOnly":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"redirectUrl":{"description":"URL to redirect the customer to when a quote is rejected.\nThe default value is the website URL.","type":"string","maxLength":2083,"format":"uri"},"signature":{"type":"object","description":"Written signature and printed organization name.","properties":{"showWrittenSignatureLines":{"type":"boolean","default":false,"description":"Specifies whether to show written signature lines."},"organizationPrintedName":{"type":["string","null"],"description":"Printed name of the organization.","default":null}}},"tax":{"$ref":"#/components/schemas/Taxes"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and apply to the related invoice.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).","items":{"type":"string","description":"Coupon ID."}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.\nIf the quote is issued, a customer can be redirected to the `invoicePaymentFormUrl` value\nto pay the related invoice using one of the methods which are available to the customer.","type":"string","enum":["self","quoteAcceptanceFormUrl","invoicePaymentFormUrl"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"type":"object"},"website":{"type":"object"},"order":{"type":"object"},"invoice":{"type":"object"}}}}},"Quote":{"discriminator":{"propertyName":"type","mapping":{"creation":"#/components/schemas/CreationQuote","change":"#/components/schemas/ChangeQuote","reactivation":"#/components/schemas/ReactivationQuote"}},"oneOf":[{"$ref":"#/components/schemas/CreationQuote"},{"$ref":"#/components/schemas/ChangeQuote"},{"$ref":"#/components/schemas/ReactivationQuote"}]},"QuoteReissue":{"type":"object","properties":{"expirationTime":{"description":"Date and time when the reissued quote expires.\nA new expiration time must be later than the current time.\nIf this field is `null` or omitted, the quote keeps its expiration time when it has not passed.\nOtherwise, the quote expires one month after it is reissued.","type":["string","null"],"format":"date-time"}}},"QuoteTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["quote-created","quote-issued","quote-accepted","quote-rejected","quote-canceled","quote-recalled","quote-updated","quote-expired","quote-order-attached","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ReadyToPayAmount":{"type":"object","title":"With amount","required":["websiteId","currency","amount","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount to pay.","type":"number","format":"double"},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}},"ReadyToPayItems":{"type":"object","title":"With items","required":["websiteId","items","riskMetadata"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"items":{"type":"array","minItems":1,"items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Billing address.","writeOnly":true,"$ref":"#/components/schemas/ContactObject"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"}}},"ReadyToPay":{"type":"object","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAmount"},{"$ref":"#/components/schemas/ReadyToPayItems"}]},"PostReadyToPayRequest":{"allOf":[{"type":"object","properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"}}},{"$ref":"#/components/schemas/ReadyToPay"}]},"Country":{"description":"ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$","example":"US"},"DigitalWalletCountry":{"description":"ISO 3166 alpha-2 country code where the payment is processed.\nThis is often the location for settling the payment.\nConsult with your Payment Service Provider (PSP) to determine the\nappropriate country code.","$ref":"#/components/schemas/Country"},"ApplePayFeature":{"type":"object","title":"Apple Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Apple Pay"]},"displayName":{"description":"String of 64 or fewer UTF-8 characters containing the canonical name for your store,\nthat is suitable for display.\nDo not localize the name.","type":"string","example":"Test Merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"GooglePayFeature":{"type":"object","title":"Google Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Google Pay"]},"merchantName":{"description":"Merchant name in Google Pay.","type":"string","example":"Test Merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay.\nThe fully qualified domain name.","type":"string","example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"SamsungPayFeature":{"type":"object","title":"Samsung Pay Digital Wallet","properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Samsung Pay"]},"merchantName":{"description":"Merchant name in Samsung Pay.","type":"string","example":"Test Merchant"}}},"PaymentCardFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Apple Pay":"#/components/schemas/ApplePayFeature","Google Pay":"#/components/schemas/GooglePayFeature","Samsung Pay":"#/components/schemas/SamsungPayFeature"}},"oneOf":[{"$ref":"#/components/schemas/ApplePayFeature"},{"$ref":"#/components/schemas/GooglePayFeature"},{"$ref":"#/components/schemas/SamsungPayFeature"}]},"ReadyToPayMethodFilters":{"type":"array","description":"For the method to be applicable, one or more of the following filters must match.\nIf no filters are sent, no restrictions are applied.\nFor more information, see [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","items":{"type":"string"}},"ReadyToPayPaymentCardMethod":{"type":"object","title":"Payment card","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["payment-card"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/PaymentCardFeature"},{"type":"null"}]},"brands":{"type":"array","description":"List of supported brands.","minItems":1,"items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"AchPlaidFeature":{"type":"object","title":"Plaid","required":["name","linkToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Plaid"]},"linkToken":{"type":"string","description":"Plaid `linkToken` for frontend integrations."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the `linkToken` expires."}}},"ReadyToPayAchMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Plaid":"#/components/schemas/AchPlaidFeature"}},"oneOf":[{"$ref":"#/components/schemas/AchPlaidFeature"}]},"ReadyToPayAchMethod":{"type":"object","title":"ACH","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["ach"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayAchMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"ReadyToPayGenericMethod":{"type":"object","title":"Generic","required":["method"],"properties":{"method":{"$ref":"#/components/schemas/AlternativePaymentMethods"},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"PayPalBillingAgreementFeature":{"type":"object","title":"Billing agreement","required":["name","paypalMerchantId","paypalClientId","billingAgreementToken","expirationTime"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["PayPal billing agreement"]},"paypalMerchantId":{"type":"string","description":"ID of the PayPal merchant."},"paypalClientId":{"type":"string","description":"ID of the PayPal client."},"billingAgreementToken":{"type":"string","description":"PayPal billing agreement token."},"expirationTime":{"type":"string","format":"date-time","description":"Date and time when the billing agreement token expires."}}},"ReadyToPayPayPalMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"PayPal billing agreement":"#/components/schemas/PayPalBillingAgreementFeature"}},"oneOf":[{"$ref":"#/components/schemas/PayPalBillingAgreementFeature"}]},"ReadyToPayPayPalMethod":{"type":"object","title":"PayPal","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["paypal"]},"feature":{"description":"Specific features of PayPal.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayPayPalMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"KlarnaFeature":{"type":"object","title":"Klarna","required":["name","clientToken","sessionId"],"properties":{"name":{"type":"string","description":"Name of the feature.","enum":["Klarna"]},"clientToken":{"type":"string","description":"Klarna client token."},"sessionId":{"type":"string","description":"Klarna session token."}}},"ReadyToPayKlarnaMethodFeature":{"type":"object","discriminator":{"propertyName":"name","mapping":{"Klarna":"#/components/schemas/KlarnaFeature"}},"oneOf":[{"$ref":"#/components/schemas/KlarnaFeature"}]},"ReadyToPayKlarnaMethod":{"type":"object","title":"Klarna","required":["method"],"properties":{"method":{"type":"string","description":"Payment method.","enum":["Klarna"]},"feature":{"description":"Specific feature of this method.\nFor example, a digital wallet or a processor.\nIf the method does not have any features, this value is null.","oneOf":[{"$ref":"#/components/schemas/ReadyToPayKlarnaMethodFeature"},{"type":"null"}]},"filters":{"$ref":"#/components/schemas/ReadyToPayMethodFilters"}}},"ReadyToPayMethods":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/ReadyToPayPaymentCardMethod","ach":"#/components/schemas/ReadyToPayAchMethod","cash":"#/components/schemas/ReadyToPayGenericMethod","check":"#/components/schemas/ReadyToPayGenericMethod","paypal":"#/components/schemas/ReadyToPayPayPalMethod","AdvCash":"#/components/schemas/ReadyToPayGenericMethod","Alfa-click":"#/components/schemas/ReadyToPayGenericMethod","Alipay":"#/components/schemas/ReadyToPayGenericMethod","AstroPay Card":"#/components/schemas/ReadyToPayGenericMethod","AstroPay-GO":"#/components/schemas/ReadyToPayGenericMethod","BankReferenced":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-2":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-3":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-4":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-5":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-6":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-7":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-8":"#/components/schemas/ReadyToPayGenericMethod","bank-transfer-9":"#/components/schemas/ReadyToPayGenericMethod","Baloto":"#/components/schemas/ReadyToPayGenericMethod","Beeline":"#/components/schemas/ReadyToPayGenericMethod","Belfius-direct-net":"#/components/schemas/ReadyToPayGenericMethod","bitcoin":"#/components/schemas/ReadyToPayGenericMethod","Bizum":"#/components/schemas/ReadyToPayGenericMethod","Boleto":"#/components/schemas/ReadyToPayGenericMethod","cash-deposit":"#/components/schemas/ReadyToPayGenericMethod","CASHlib":"#/components/schemas/ReadyToPayGenericMethod","CashToCode":"#/components/schemas/ReadyToPayGenericMethod","China UnionPay":"#/components/schemas/ReadyToPayGenericMethod","Cleo":"#/components/schemas/ReadyToPayGenericMethod","CODVoucher":"#/components/schemas/ReadyToPayGenericMethod","Conekta-oxxo":"#/components/schemas/ReadyToPayGenericMethod","Cupon-de-pagos":"#/components/schemas/ReadyToPayGenericMethod","cryptocurrency":"#/components/schemas/ReadyToPayGenericMethod","domestic-cards":"#/components/schemas/ReadyToPayGenericMethod","echeck":"#/components/schemas/ReadyToPayGenericMethod","ecoPayz":"#/components/schemas/ReadyToPayGenericMethod","ecoVoucher":"#/components/schemas/ReadyToPayGenericMethod","Efecty":"#/components/schemas/ReadyToPayGenericMethod","EPS":"#/components/schemas/ReadyToPayGenericMethod","ePay.bg":"#/components/schemas/ReadyToPayGenericMethod","eZeeWallet":"#/components/schemas/ReadyToPayGenericMethod","FasterPay":"#/components/schemas/ReadyToPayGenericMethod","Flexepin":"#/components/schemas/ReadyToPayGenericMethod","Giropay":"#/components/schemas/ReadyToPayGenericMethod","Gpaysafe":"#/components/schemas/ReadyToPayGenericMethod","Google Pay":"#/components/schemas/ReadyToPayGenericMethod","iDebit":"#/components/schemas/ReadyToPayGenericMethod","iDEAL":"#/components/schemas/ReadyToPayGenericMethod","ING-homepay":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-pin":"#/components/schemas/ReadyToPayGenericMethod","INOVAPAY-wallet":"#/components/schemas/ReadyToPayGenericMethod","InstaDebit":"#/components/schemas/ReadyToPayGenericMethod","instant-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","InstantPayments":"#/components/schemas/ReadyToPayGenericMethod","Interac":"#/components/schemas/ReadyToPayGenericMethod","Interac-online":"#/components/schemas/ReadyToPayGenericMethod","Interac-eTransfer":"#/components/schemas/ReadyToPayGenericMethod","invoice":"#/components/schemas/ReadyToPayGenericMethod","iWallet":"#/components/schemas/ReadyToPayGenericMethod","Jeton":"#/components/schemas/ReadyToPayGenericMethod","jpay":"#/components/schemas/ReadyToPayGenericMethod","Khelocard":"#/components/schemas/ReadyToPayGenericMethod","Klarna":"#/components/schemas/ReadyToPayKlarnaMethod","KNOT":"#/components/schemas/ReadyToPayGenericMethod","loonie":"#/components/schemas/ReadyToPayGenericMethod","Matrix":"#/components/schemas/ReadyToPayGenericMethod","MaxiCash":"#/components/schemas/ReadyToPayGenericMethod","Megafon":"#/components/schemas/ReadyToPayGenericMethod","MiFinity-eWallet":"#/components/schemas/ReadyToPayGenericMethod","miscellaneous":"#/components/schemas/ReadyToPayGenericMethod","Bancontact":"#/components/schemas/ReadyToPayGenericMethod","Bancontact-mobile":"#/components/schemas/ReadyToPayGenericMethod","MTS":"#/components/schemas/ReadyToPayGenericMethod","MuchBetter":"#/components/schemas/ReadyToPayGenericMethod","Multibanco":"#/components/schemas/ReadyToPayGenericMethod","Neosurf":"#/components/schemas/ReadyToPayGenericMethod","Netbanking":"#/components/schemas/ReadyToPayGenericMethod","Neteller":"#/components/schemas/ReadyToPayGenericMethod","Nordea-Solo":"#/components/schemas/ReadyToPayGenericMethod","OchaPay":"#/components/schemas/ReadyToPayGenericMethod","online-bank-transfer":"#/components/schemas/ReadyToPayGenericMethod","Onlineueberweisen":"#/components/schemas/ReadyToPayGenericMethod","oriental-wallet":"#/components/schemas/ReadyToPayGenericMethod","OXXO":"#/components/schemas/ReadyToPayGenericMethod","P24":"#/components/schemas/ReadyToPayGenericMethod","Pagadito":"#/components/schemas/ReadyToPayGenericMethod","PagoEffectivo":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-deposit-express":"#/components/schemas/ReadyToPayGenericMethod","Pagsmile-lottery":"#/components/schemas/ReadyToPayGenericMethod","PayCash":"#/components/schemas/ReadyToPayGenericMethod","Payeer":"#/components/schemas/ReadyToPayGenericMethod","PaymentAsia-crypto":"#/components/schemas/ReadyToPayGenericMethod","Paymero":"#/components/schemas/ReadyToPayGenericMethod","Perfect-money":"#/components/schemas/ReadyToPayGenericMethod","Piastrix":"#/components/schemas/ReadyToPayGenericMethod","plaid-account":"#/components/schemas/ReadyToPayGenericMethod","PayTabs":"#/components/schemas/ReadyToPayGenericMethod","Paysafecard":"#/components/schemas/ReadyToPayGenericMethod","Paysafecash":"#/components/schemas/ReadyToPayGenericMethod","Pay4Fun":"#/components/schemas/ReadyToPayGenericMethod","Paynote":"#/components/schemas/ReadyToPayGenericMethod","PinPay":"#/components/schemas/ReadyToPayGenericMethod","phone":"#/components/schemas/ReadyToPayGenericMethod","PhonePe":"#/components/schemas/ReadyToPayGenericMethod","POLi":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-card":"#/components/schemas/ReadyToPayGenericMethod","PostFinance-e-finance":"#/components/schemas/ReadyToPayGenericMethod","QIWI":"#/components/schemas/ReadyToPayGenericMethod","QPay":"#/components/schemas/ReadyToPayGenericMethod","QQPay":"#/components/schemas/ReadyToPayGenericMethod","rapyd-checkout":"#/components/schemas/ReadyToPayGenericMethod","Resurs":"#/components/schemas/ReadyToPayGenericMethod","SafetyPay":"#/components/schemas/ReadyToPayGenericMethod","SEPA":"#/components/schemas/ReadyToPayGenericMethod","Skrill":"#/components/schemas/ReadyToPayGenericMethod","Skrill Rapid Transfer":"#/components/schemas/ReadyToPayGenericMethod","SMSVoucher":"#/components/schemas/ReadyToPayGenericMethod","Sofort":"#/components/schemas/ReadyToPayGenericMethod","SparkPay":"#/components/schemas/ReadyToPayGenericMethod","swift-dbt":"#/components/schemas/ReadyToPayGenericMethod","Tele2":"#/components/schemas/ReadyToPayGenericMethod","Terminaly-RF":"#/components/schemas/ReadyToPayGenericMethod","Thunes-Checkout":"#/components/schemas/ReadyToPayGenericMethod","ToditoCash-card":"#/components/schemas/ReadyToPayGenericMethod","Trustly":"#/components/schemas/ReadyToPayGenericMethod","UPayCard":"#/components/schemas/ReadyToPayGenericMethod","UPI":"#/components/schemas/ReadyToPayGenericMethod","USD-coin":"#/components/schemas/ReadyToPayGenericMethod","VCreditos":"#/components/schemas/ReadyToPayGenericMethod","VenusPoint":"#/components/schemas/ReadyToPayGenericMethod","voucher":"#/components/schemas/ReadyToPayGenericMethod","voucher-2":"#/components/schemas/ReadyToPayGenericMethod","voucher-3":"#/components/schemas/ReadyToPayGenericMethod","voucher-4":"#/components/schemas/ReadyToPayGenericMethod","Webmoney":"#/components/schemas/ReadyToPayGenericMethod","Webpay":"#/components/schemas/ReadyToPayGenericMethod","Webpay-2":"#/components/schemas/ReadyToPayGenericMethod","Webpay Card":"#/components/schemas/ReadyToPayGenericMethod","WeChat Pay":"#/components/schemas/ReadyToPayGenericMethod","XPay-P2P":"#/components/schemas/ReadyToPayGenericMethod","XPay-QR":"#/components/schemas/ReadyToPayGenericMethod","Yandex-money":"#/components/schemas/ReadyToPayGenericMethod","Zotapay":"#/components/schemas/ReadyToPayGenericMethod","Zimpler":"#/components/schemas/ReadyToPayGenericMethod"}},"oneOf":[{"$ref":"#/components/schemas/ReadyToPayPaymentCardMethod"},{"$ref":"#/components/schemas/ReadyToPayAchMethod"},{"$ref":"#/components/schemas/ReadyToPayGenericMethod"},{"$ref":"#/components/schemas/ReadyToPayPayPalMethod"},{"$ref":"#/components/schemas/ReadyToPayKlarnaMethod"}]},"ShippingOption":{"type":"object","required":["name","price","currency"],"properties":{"id":{"type":"string","description":"ID of the shipping rate.","readOnly":true,"maxLength":50,"example":"ship_rate_0YVDN408G4DQE9G1RV1QCFHJ3P"},"name":{"type":"string","description":"Name of the shipping rate."},"description":{"type":["string","null"],"description":"Description of the shipping rate."},"price":{"description":"Price of the shipping rate.\nIf `price` is `0`, shipping is free.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"ShippingRate":{"allOf":[{"$ref":"#/components/schemas/ShippingOption"},{"properties":{"filter":{"type":"string","description":"Filter based on invoice properties that is used to determine when the rate is applicable.\nIf no filters are used, the rate is always applicable.","default":"","example":"deliveryAddress.country:US,CA,RU;amount:100..1000"},"status":{"description":"Status of the shipping rate.\nIf `status` is `inactive` the shipping rate is not applied.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}}]},"OneTimeSaleItem":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"one-time-sale"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"UsageStatus":{"type":"object","readOnly":true,"description":"Current status of the usage limits.","properties":{"isSoftLimitReached":{"type":"boolean","description":"Specifies if the soft limit has been reached.","example":false},"isHardLimitReached":{"type":"boolean","description":"Specifies if the hard limit has been reached.","example":false},"isTrialLimitReached":{"type":"boolean","description":"Specifies if the trial limit has been reached.","example":false}}},"SubscriptionItem":{"type":"object","required":["type","plan"],"properties":{"id":{"type":"string","description":"ID of the subscription.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"type":{"description":"Specifies the type of order item.","type":"string","x-basic":true,"const":"subscription"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"recurringInterval":{"type":["object","null"],"description":"Recurring interval to override plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same recurring period length.","example":null,"properties":{"periodAnchorInstruction":{"$ref":"#/components/schemas/ServicePeriodAnchorInstruction"}}},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ","readOnly":true},"plan":{"description":"Details of the plan.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific item."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}},"OrderUpcomingInvoiceItem":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"orderId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderUpcomingInvoice":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice.\nThis value is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/OrderUpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Website":{"type":"object","required":["name","url","servicePhone","serviceEmail"],"properties":{"id":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"name":{"description":"Name of the website.","type":"string"},"url":{"description":"Domain address of the website.","type":"string"},"servicePhone":{"description":"Customer service phone number of the website.","type":"string"},"serviceEmail":{"description":"Customer service email address of the website.","type":"string","format":"email"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"settings":{"type":"object","description":"Website settings.","properties":{"paymentForm":{"type":"object","description":"Payment form settings.","properties":{"css":{"description":"Hosted payment form [CSS options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#2-use-css-property-to-override-any-styles).","type":["string","null"]},"theme":{"description":"Hosted payment form [theme options](https://www.rebilly.com/docs/content/concepts-and-features/tutorial/customize-style-rebilly-instruments/#adjust-the-default-style).\n\nThe `pageColorBackground` property sets the background color of the page around the form.\nIt is read by the hosted payment form page and is not passed to Rebilly Instruments.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"colorPrimary":"#504CCA","pageColorBackground":"#F6F8F9"}},"features":{"description":"Hosted payment form features.","type":["object","null"],"properties":{"showCoupons":{"type":["array","null"],"items":{"type":"string"}},"fullPageRedirect":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form uses a full page redirect, or the default iframe modal, for approval URL redirects.","default":false},"skipRedirectOnPaymentComplete":{"type":["boolean","null"],"description":"Specifies whether the hosted payment form skips the redirect to the website URL when the payment is completed.","default":false},"hideZeroAmountSummaryItems":{"type":["boolean","null"],"description":"Specifies if the hosted payment form displays 0 amount line items in the summary.","default":false}}}}},"amplitude":{"type":"object","description":"Amplitude settings.\nAmplitude is an analytics tool for tracking user behavior.","properties":{"tracking":{"description":"Specifies if the hosted pages, such as KYC pages, include Amplitude analytics.","type":"boolean","default":false},"apiKey":{"description":"API key of an Amplitude project.","type":["string","null"],"minLength":20,"maxLength":50,"example":"35d1795750c585984f7e6b01c0ca6e19"}}},"payoutRequest":{"type":"object","description":"Payout request settings for the website.","properties":{"automaticReadinessEnabled":{"type":"boolean","default":false,"description":"Specifies whether pending payout requests are automatically marked as `ready`.\nWhen this value is `false`, payout requests are created in the `ready` status and automatic transition is not used.\nWhen this value is `true`, payout requests remain in the `pending` status until the pending period elapses and the configured transition time is reached."},"pendingPeriodHours":{"type":"integer","description":"Minimum number of hours a payout request stays in the `pending` status before it can be automatically set to `ready`.\nRequired when `automaticReadinessEnabled` is `true`.","minimum":1,"maximum":8760,"example":48},"automaticReadinessTime":{"description":"Time of day when the automatic readiness job processes eligible pending payout requests.\nRequired when `automaticReadinessEnabled` is `true`.\nUse extended ISO-8601 time format (`HH:MM:SS`) with an optional timezone offset.\nWhen the timezone offset is omitted, the server timezone is used.","allOf":[{"$ref":"#/components/schemas/TimeIso8601Extended"}],"example":"10:00:00Z"},"automaticReadinessLastExecutedAt":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the automatic readiness job last completed successfully for this website."}}}}},"logoId":{"type":["string","null"],"description":"ID of the linked file object.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"logoUrl":{"readOnly":true,"description":"URL of the website logo.","type":["string","null"]},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","logoUrl"]}}}}}},"RecurringOrder":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"recurring"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","active","canceled","churned","paused","voided","completed","trial-ended","abandoned"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"type":"object","discriminator":{"propertyName":"type","mapping":{"one-time-sale":"#/components/schemas/OneTimeSaleItem","subscription":"#/components/schemas/SubscriptionItem"}},"oneOf":[{"$ref":"#/components/schemas/SubscriptionItem"},{"$ref":"#/components/schemas/OneTimeSaleItem"}]}},"invoiceIssueTimeShift":{"description":"Invoice issue time shift interval in ISO-8601 format.\n\nThis field adjusts the issue date and time of renewal invoices for the order.\n\nThis interval value supports the `-` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"invoiceDueTimeShift":{"description":"Invoice due time shift interval in ISO-8601 format.\n\nUse this field to adjust when payment is due for the order.\nIf autopay is configured, payment is collected automatically on this date.\n\nThis interval value supports the `+` symbol.","type":"string","default":"+P00Y00M00DT00H00M00S","example":"+P00Y00M00DT00H00M00S"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the order.","type":"boolean","default":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"churnTime":{"description":"Date and time when the order is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"cancellationTime":{"description":"Date and time when an order is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","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",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":["string","null"],"format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.\nIf subscriptions have different recurring settings or the order is not active, providing this field causes the request to be rejected with a conflict.\nThis field is ignored if the order is in trial.","type":["string","null"],"format":"date-time"},"renewalTime":{"description":"Date and time when the next subscription in this recurring order renews.","type":["string","null"],"format":"date-time","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}},"OneTimeOrder":{"type":"object","required":["type","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"type":{"type":"string","description":"Type of the order.","const":"one-time"},"organizationId":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","maxLength":50,"readOnly":true,"example":"org_0YVDM8RC7GDADADSBSMW124JA8"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"activationInvoiceId":{"type":"string","description":"ID of the activation invoice.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"status":{"description":"Status of the order.","type":"string","readOnly":true,"enum":["pending","voided","completed","abandoned"]},"items":{"type":"array","minItems":1,"description":"Item in the order.","items":{"$ref":"#/components/schemas/OneTimeSaleItem"}},"poNumber":{"description":"Purchase order number that is displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the order invoice.","type":"string"},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\nIf the provided value is `null`, the order does not change state.","example":"+P00Y00M07DT00H00M00S","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"shipping":{"$ref":"#/components/schemas/Shipping"},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.","format":"date-time"},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"customer":{"$ref":"#/components/schemas/Customer"},"activationInvoice":{"$ref":"#/components/schemas/Invoice"},"recentInvoice":{"$ref":"#/components/schemas/Invoice"},"upcomingInvoice":{"$ref":"#/components/schemas/OrderUpcomingInvoice"},"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"},"website":{"$ref":"#/components/schemas/Website"}}}}},"Order":{"type":"object","discriminator":{"propertyName":"type","mapping":{"recurring":"#/components/schemas/RecurringOrder","one-time":"#/components/schemas/OneTimeOrder"}},"oneOf":[{"$ref":"#/components/schemas/RecurringOrder"},{"$ref":"#/components/schemas/OneTimeOrder"}]},"OrderPause":{"type":"object","description":"Order pause details.","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the order pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"orderId":{"type":"string","description":"ID of the paused order.","maxLength":50,"example":"ord_01HVKA5975PJBSQ1SX72G3MSZC"},"status":{"description":"Status of the order pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the order resumes billing.\n\nTo resume an order from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the order is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month order on a 30-day month is paused on day 20.\nThere are 10 unused days on the order.\nTherefore, the order renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf a subscription item in the order uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderChange":{"type":"object","description":"Change to the items of a recurring order.\nA change with `applyAt` set to `now` replaces the items immediately.\nA change with `applyAt` set to `nextRenewal` records the new items and applies them at the next renewal.\nThe current items remain until the next renewal, when the new items are applied and billed on the renewal invoice.\n\nThis resource records changes made through this resource and changes created by a quote with `applyAt` set to `nextRenewal`.\nChanges made through the `POST /orders/{id}/change-items` operation or through a quote with `applyAt` set to `now` are not recorded.\nA change with `applyAt` set to `now` triggers the `order-change-created` and `order-change-applied` events and the item events of the order.","required":["orderId","items"],"properties":{"id":{"description":"ID of the order change.","type":"string","maxLength":50,"readOnly":true,"example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"orderId":{"description":"ID of the order.","type":"string","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the order change.","type":"string","readOnly":true,"enum":["pending","applied","canceled","superseded"],"x-enumDescriptions":{"pending":"Scheduled to apply at the next renewal.","applied":"Items of the order are replaced.","canceled":"Canceled before the change is applied.","superseded":"Replaced by a later change for the same order."}},"applyAt":{"description":"Time when the new items are applied.\n\n- `now`: The items change immediately.\n  `renewalPolicy`, `prorated`, and `effectiveTime` apply.\n- `nextRenewal`: The current items stay until the next renewal.\n  The new items are billed on the next renewal invoice.\n  `renewalPolicy`, `prorated`, and `effectiveTime` are not allowed.\n  A later change for the same order supersedes the pending change.\n  The pending change is locked once the next renewal invoice is issued.\n  To remove a pending change, use the `DELETE /order-changes/{id}` operation.\n  The new items must differ from the current items.\n  One-time sale items that are already on the order remain.\n  A one-time sale item cannot be added with `nextRenewal`.","type":"string","enum":["now","nextRenewal"],"default":"now"},"effectiveTime":{"description":"Date and time when the change is applied.\nIf `applyAt` is set to `now`, this value is the date from which the renewal time for `resetToRecurring` and the proration are calculated.\nIf this field is omitted, this value defaults to the current time.\nIf `applyAt` is set to `nextRenewal`, this value is read-only and equals the renewal time of the order.","type":"string","format":"date-time"},"lockedTime":{"description":"Date and time when the items of a pending change are billed.\nAfter this time, the change is locked and cannot be modified until the renewal.","type":["string","null"],"format":"date-time","readOnly":true},"appliedTime":{"description":"Date and time when the items of the order are replaced.","type":["string","null"],"format":"date-time","readOnly":true},"quoteId":{"description":"ID of the quote that is used to create the change.\nThis value is `null` if the change is not created from a quote.","type":["string","null"],"maxLength":50,"readOnly":true},"items":{"description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","type":"array","minItems":1,"items":{"type":"object","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}]},"excludeFromMrr":{"description":"Specifies if this item is excluded from monthly recurring revenue calculations.","type":["boolean","null"]}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order are managed when its items change now.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\nRequired when `applyAt` is `now`.\nNot allowed when `applyAt` is `nextRenewal`.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderCancellation":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"orderId":{"type":"string","description":"ID of the canceled order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and order next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the order cancellation.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms an order cancellation.\nSets the order to cancel when the `churnTime` is reached.","completed":"Marks an order cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes an order cancellation."}},"canceledTime":{"description":"Date and time when an order is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the order is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the order is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":[null,"now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the order cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OrderReactivation":{"type":"object","required":["orderId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"ord_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"orderId":{"type":"string","description":"ID of the reactivated order.","maxLength":50,"example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the order is canceled but still active.\n\nIf the order is still active,\nthe order continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next order renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the order is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the order payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionOrOneTimeSaleItem":{"type":"object","required":["plan"],"properties":{"id":{"type":"string","description":"ID of the order item.","readOnly":true,"maxLength":50},"planId":{"description":"ID of the plan.\n\n> **Note:** This field is deprecated. Use the `plan.id` field instead.","deprecated":true,"x-basic":true,"type":"string","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000},"quantityFilled":{"description":"Number of filled product units.","type":["number","null"],"format":"double","example":5.125},"plan":{"oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"usageLimits":{"oneOf":[{"$ref":"#/components/schemas/UsageLimits"},{"type":"null"}],"default":null},"usageStatus":{"oneOf":[{"$ref":"#/components/schemas/UsageStatus"},{"type":"null"}],"default":null},"revision":{"type":"integer","readOnly":true,"description":"Revision number that increments with each overriding change to this specific plan item."},"isModified":{"type":"boolean","readOnly":true,"description":"Specifies if the plan information is modified for this subscription."},"isGrandfathered":{"type":"boolean","readOnly":true,"description":"Specifies if the current plan revision number is greater than the plan item revision number."},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"product":{"type":"object"}}}}},"Subscription":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the order.","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.\n\n> **Note:** The order type cannot be changed after creation.","type":"string","x-basic":true,"enum":["subscription-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"renewalReminderTime":{"description":"Date and time when the renewal reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"renewalReminderNumber":{"description":"Number of triggered renewal reminder events.","type":["integer","null"],"readOnly":true},"abandonReminderTime":{"description":"Date and time when the abandon order reminder event triggers.","type":["string","null"],"format":"date-time","readOnly":true},"abandonReminderNumber":{"description":"Number of abandon order reminder events that are triggered.","type":["integer","null"],"readOnly":true},"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the subscription service.\nA subscription starts in the `pending` status, and becomes `active` when the service period begins.","type":"string","readOnly":true,"enum":["pending","active","abandoned","canceled","churned","paused","voided","completed","trial-ended"]},"inTrial":{"description":"Specifies if the subscription is currently in a trial period.","type":"boolean","readOnly":true},"trial":{"type":"object","description":"Details of the trial.\nTo use plan defaults, omit the `trial` key or set this value to `null`.","properties":{"enabled":{"description":"Specifies if there is a trial for this subscription.\nPlans without trial prices are free trials.","type":"boolean"},"endTime":{"description":"Time and date when the trial ends.\nIf the order churns during the trial, this value is the time when the order churned.\nIf a trial is enabled on this subscription, a value must be provided.\n\nIf the specified trial end time is in the past, the current time is used.","type":["string","null"],"format":"date-time"}}},"isTrialOnly":{"description":"Specifies if a subscription ends after a trial period.\nIf this value is `true`, recurring settings are ignored.","type":"boolean","default":false},"trialConversionTime":{"description":"Date and time when the subscription had a trial conversion.\nTrial conversion occurs when the first successful payment is made after a trial period.","type":["string","null"],"format":"date-time","readOnly":true},"invoiceTimeShift":{"description":"Shifts issue time and due time of invoices for this subscription.\n\nThis setting overrides plan settings.\nTo use plan settings, set this value to `null`.\n\nTo use multiple plans in one subscription,\nall plans must have the same billing period,\nthis property enables the customer to subscribe to different plans.","$ref":"#/components/schemas/InvoiceTimeShift"},"autopay":{"description":"Specifies if payment attempts are made automatically.\nIf autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,\nor the default payment instrument on the subscription.","type":"boolean","default":true},"startTime":{"description":"Date and time when the subscription starts.\nIf this value is `null`, the current time is used.\nThis value cannot be more than one service period in the past.","type":["string","null"],"x-sortable":true,"x-basic":true,"example":null,"default":null,"format":"date-time"},"churnTime":{"description":"Date and time when the subscription is deactivated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"renewalTime":{"description":"Date and time when the subscription renews.","type":["string","null"],"x-sortable":true,"x-basic":true,"format":"date-time"},"currentPeriodStart":{"description":"Date and time of the current service period start.","type":"string","format":"date-time","readOnly":true},"currentPeriodEnd":{"description":"Date and time of the current service period end.","type":"string","format":"date-time","readOnly":true},"rebillNumber":{"description":"Current billing period number.","type":["integer","null"],"readOnly":true,"x-sortable":true},"lineItems":{"description":"Subscription line items which queue until the next renewal, or interim, invoice is issued for the subscription.","readOnly":true,"type":"array","deprecated":true,"items":{"type":"object","description":"Invoice line item.\nUse the `isInterim` property of upcoming invoice items instead.","deprecated":true,"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the service period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the service period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"type":"object","readOnly":true,"deprecated":true,"description":"Subtotal of line items in this subscription (signed value).\nIf credits exceed debits, this value is a negative number.","properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number","x-type":"Money","x-sortable":true,"description":"Amount of the subtotal.","format":"double","example":49.95}}},"mrr":{"description":"Monthly recurring revenue of the order.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true,"example":49.95},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the payment instrument to use for autopay.\nIf this value is not provided, or if the payment instrument is inactive,\nthe customer's default payment instrument is used.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"type":"string","description":"ID of the website.\nA website is where an organization obtains a customer.\nFor more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).\n\n> **Note:** The ID of the website cannot be changed after creation.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG","x-sortable":true,"x-basic":true},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.\nChanges to the delivery address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.\nChanges to the billing address apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"delinquencyPeriod":{"type":["string","null"],"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n{% admonition type=\"warning\" %}\n- If the `delinquencyPeriod` value is `null`, the order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.\n- If you add a delinquency period to an active order, it is applied to all new invoices created for the order. It is not applied to the unpaid and past-due invoices. To apply a delinquency period to unpaid and past-due invoices, set the `delinquencyTime` parameter using the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=delinquencytime).\n{% /admonition %}\n\nIf this value is not passed during order creation,\nan [order delinquency period](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/orderdelinquencyperiod) setting is used to calculate the value.","example":"P7D","default":null},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"description":"Shipping settings of the order.\nChanges to shipping apply to the upcoming invoice and to invoices created after the change.\nIssued invoices are not updated unless the order is `pending`.\nTo change shipping on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=shipping).","$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"canceledTime":{"description":"Date and time when a subscription is canceled.","type":["string","null"],"format":"date-time","readOnly":true},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":["string","null"],"readOnly":true,"enum":["merchant","customer","rebilly",null]},"cancelCategory":{"description":"Category of the cancellation.","type":["string","null"],"readOnly":true,"enum":["billing-failure","delinquency","did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","never-started","switched-plan","organization-deactivated","other",null]},"cancelDescription":{"description":"Description of the cancellation reason in free form.","type":["string","null"],"readOnly":true,"maxLength":255},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"billingPortalToken":{"description":"Customer JWT to access a billing portal.\nThis field is presented only if a billing portal exists.\nThis is an experimental field and can be changed or removed in the future.","type":["string","null"],"readOnly":true},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"initialInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"},"upcomingInvoice":{"type":"object"}}}}},"OneTimeSale":{"type":"object","required":["orderType","customerId","websiteId","items"],"properties":{"id":{"type":"string","description":"ID of the one-time sale.","readOnly":true,"maxLength":50,"example":"ots_01HRF27SATGE4Z6PBJE6PD8328"},"orderType":{"description":"Specifies the type of order.\nAn order may be a subscription or a one-time purchase.","type":"string","x-basic":true,"enum":["one-time-order"]},"customerId":{"$ref":"#/components/schemas/CustomerId"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"status":{"description":"Status of the one-time order.","type":"string","readOnly":true,"enum":["pending","abandoned","completed","canceled"]},"billingStatus":{"description":"Billing status of the most recent invoice.\nThis value may help you to determine if you should change the service status of the service,\nsuch as suspending the service.","type":"string","readOnly":true,"enum":["draft","unpaid","past-due","abandoned","paid","voided","refunded","disputed","partially-refunded","partially-paid"]},"websiteId":{"x-sortable":true,"x-basic":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"currency":{"description":"Currency of the order.","readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"initialInvoiceId":{"description":"ID of the initial invoice (`null` for one-time orders).","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"recentInvoiceId":{"description":"ID of the most recently issued invoice.\nThe invoice might not be `paid` yet.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}},"deliveryAddress":{"description":"Delivery address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"billingAddress":{"description":"Billing address of the order.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"activationTime":{"description":"Date and time when the order is activated.","x-sortable":true,"type":["string","null"],"format":"date-time","readOnly":true},"voidTime":{"description":"Date and time when the order is voided.","type":["string","null"],"format":"date-time","readOnly":true},"abandonTime":{"type":["string","null"],"description":"Date and time when the pending order is automatically abandoned.\nIf this value is not passed during order creation,\na [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization#organizations/patchorganization/t=request&path=settings/billing/pendingorderttl) setting is used to calculate the value.","format":"date-time"},"couponIds":{"type":["array","null"],"description":"List of coupons to redeem on the customer and restrict to this order.\n\nFor more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).\n\nThis parameter uses the following logic:\n\n- If this parameter is not supplied, applied coupons are not changed.\n- If an empty array is supplied, all applied coupon redemptions are canceled.\n- If a list of coupons is supplied, unapplied coupons in the list are applied.\n  Coupons that have already been applied do not change state.\n  Applied coupons that are not supplied in list are canceled.\n\nIf the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.","writeOnly":true,"items":{"type":"string","description":"ID of the coupon."}},"poNumber":{"description":"Purchase order number displayed on the issued invoices.","type":["string","null"],"example":"PO123456"},"shipping":{"$ref":"#/components/schemas/Shipping"},"notes":{"description":"Notes for the customer displayed on the order invoice.","type":"string"},"revision":{"description":"Number of times the order data has been modified.\n\nThe revision is useful when analyzing webhook data to determine if the\nchange takes precedence over the current representation.","type":"integer","readOnly":true},"riskMetadata":{"description":"Risk metadata.\nIf this value is `null`, this field uses risk metadata that is captured when creating the payment token.","oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","initialInvoice","recentInvoice","approvalUrl","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"recentInvoice":{"type":"object"},"customer":{"type":"object"},"website":{"type":"object"},"leadSource":{"type":"object"},"shippingRate":{"type":"object"},"paymentInstrument":{"type":"object"}}}}},"SubscriptionOrOneTimeSale":{"type":"object","description":"Subscription details.","discriminator":{"propertyName":"orderType","mapping":{"subscription-order":"#/components/schemas/Subscription","one-time-order":"#/components/schemas/OneTimeSale"}},"oneOf":[{"$ref":"#/components/schemas/Subscription"},{"$ref":"#/components/schemas/OneTimeSale"}]},"SubscriptionChange":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New set of items for the subscription.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the given plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the subscription order are managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless `reset` or `retain` is used.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIn addition, if the `renewalTime` is retained, by setting the `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring` or `retainTrialOnly`,\na pro rata debit occurs for the amount between the `effectiveTime` and the `renewalTime` as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date from which the renewal time for `reset` operations and proration calculations are made.\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the subscription can be previewed.\nSubscriptions cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}},"OrderItemsChange":{"type":"object","required":["items","renewalPolicy","prorated"],"properties":{"items":{"description":"Details of items in the order.","type":"array","minItems":1,"items":{"type":"object","description":"New items for the order.\nTo remove an item, include the items array and exclude the items you want to remove.","required":["plan"],"properties":{"plan":{"description":"Plan details.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of units of the product on the specified plan.","type":"integer"},"usageLimits":{"$ref":"#/components/schemas/UsageLimits"}}}},"renewalPolicy":{"description":"How the service periods and trial state of the order that contains subscription items is managed when its items change.\n\nThe `reset` and `retain` values are deprecated.\nThe deprecated `keepTrial` and `ignoreRecurring` are ignored unless the value is `reset` or `retain`.","type":"string","enum":["resetToRecurring","retainRecurring","retainTrialThenRecurring","retainTrialOnly","reset","retain"],"x-enumDescriptions":{"resetToRecurring":"Resets the service periods, ends any trial, and converts trial-only items to recurring.","retainRecurring":"Retains the current service periods, ends any trial, and converts trial-only items to recurring.","retainTrialThenRecurring":"Retains the trial until it ends, then converts the item to recurring.\nReturns a validation error if the order has no trial.","retainTrialOnly":"Retains the trial and keeps the item as trial-only.\nReturns a validation error if the order is not trial-only.","reset":"Deprecated.\nUse `resetToRecurring` instead.\nResets the `renewalTime` to a newly calculated value.","retain":"Deprecated.\nUse `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly` instead.\nRetains the current `renewalTime`."}},"prorated":{"description":"Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.\n\nIf `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,\na pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.","type":"boolean"},"effectiveTime":{"description":"Date and time that is used to calculate the renewal time for `reset` operations and proration.\nIf this field is omitted, the date and time default to the current time.","type":"string","format":"date-time"},"preview":{"description":"Specifies if changes to the order can be previewed.\nOrders cannot be changed in preview.","type":"boolean","default":false},"keepTrial":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialThenRecurring` or `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must retain its active trial.\nThis field is only applicable if `renewalPolicy` is set to the deprecated value `retain`.","type":"boolean","default":false},"ignoreRecurring":{"deprecated":true,"description":"Deprecated.\nUse the `retainTrialOnly` value of `renewalPolicy` instead.\n\nSpecifies if the order must ignore the recurring settings of its items.\nThis field is only applicable if the order is trial-only and the `keepTrial` value is `true`.\nFor more information, see [Trial-only order](https://www.rebilly.com/docs/dev-docs/subscriptions#trial-only-subscription).","type":"boolean","default":false}}},"OrderItemUpdate":{"type":"object","properties":{"quantityFilled":{"description":"Filled quantity of the subscription item.","type":["number","null"],"format":"double","example":5.125},"excludeFromMrr":{"type":"boolean","description":"Specifies if this item should be excluded from monthly recurring revenue calculations."},"plan":{"type":"object","description":"Details of the subscription item plan.","properties":{"productOptions":{"type":["object","null"],"description":"Name-value pairs that specify the product options.","additionalProperties":{"type":"string"},"example":{"color":"red","size":"xxl"}}}}}},"SubscriptionInvoice":{"type":"object","properties":{"transactionId":{"description":"If present, applies a payment to the invoice created.\nIf the payment is for the invoice total, it would be marked as paid.","$ref":"#/components/schemas/TransactionId"}}},"SubscriptionPause":{"type":"object","description":"Subscription pause details.","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the subscription pause.","readOnly":true,"maxLength":50,"example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"subscriptionId":{"type":"string","description":"ID of the paused subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"status":{"description":"Status of the subscription pause.","type":"string","readOnly":true,"enum":["pending","ongoing","revoked","finished"]},"pausedBy":{"description":"Specifies who initiated the pause.","type":"string","default":"customer","enum":["merchant","customer"]},"description":{"description":"Description of the pause reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period pauses.\n\nThis time must be later than the current time.\nIf this time is earlier than the current time, the current time is used.\n\nIf this field is omitted, this value defaults to the current time.","type":["string","null"],"format":"date-time"},"endTime":{"description":"Date and time when the pause ends and the subscription resumes billing.\n\nTo resume a subscription from this point in time,\nuse the current time or an earlier time.\nIf `endTime` is earlier than the current time, the current time is used.\nIf this field is empty, the subscription is indefinitely paused.","type":["string","null"],"format":"date-time"},"timeRemaining":{"description":"Amount of time between the pause end time and the renewal time in ISO-8601 durations format.\nBy default, this value is computed as the time between the pause and the renewal.\n\nExample: A $30 per month subscription on a 30-day month is paused on day 20 of the subscription.\nThere are 10 unused days on the subscription.\nTherefore, the subscription renews in 10 days after it is resumed.\nThe upcoming invoice does not change the amount for the invoiced period, it remains at $30.\nIf the subscription uses a service period anchor,\nthe renewal time after a pause shift behaves as though the renewal time is moved forward by an [Order API operation](https://www.rebilly.com/catalog/all/orders-(legacy)),\nand the service period anchor is ignored for that period.\n\nFor more information, see [Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).","type":["string","null"],"example":"P3600S"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionCancellation":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"subscriptionId":{"type":"string","description":"ID of the canceled subscription order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"proratedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation proration is calculated.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"appliedInvoiceId":{"type":["string","null"],"description":"ID of the invoice on which the cancellation fees or credits are applied.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","rebilly"]},"reason":{"description":"Reason for the cancellation.","type":"string","default":"other","enum":["did-not-use","did-not-want","missing-features","bugs-or-problems","do-not-remember","risk-warning","contract-expired","too-expensive","other","billing-failure"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255},"prorated":{"description":"Specifies if the customer gets a pro-rata credit for the time remaining between `churnTime` and subscription next renewal time.","type":"boolean","default":false},"status":{"description":"Status of the subscription order.","type":"string","default":"confirmed","enum":["draft","confirmed","completed","revoked"],"x-enumDescriptions":{"draft":"Creates a draft cancellation so that the cancellation and charge can be previewed.","confirmed":"Confirms a subscription cancellation.\nSets the subscription to cancel when the `churnTime` is reached.","completed":"Marks a subscription cancellation as completed.\nThis is a read-only status that is set when the `churnTime` is reached.\nThe cancellation may not be changed or deleted when the status is `completed`.","revoked":"Revokes a subscription cancellation."}},"canceledTime":{"description":"Date and time when a subscription is canceled.\nBy default, this occurs when `status` is `confirmed`, unless `draft` is specified.","type":["string","null"],"format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"churnTime":{"description":"Date and time when the subscription is deactivated.\nIf this field and `churnTimePolicy` are omitted, this value defaults to the current time.","type":"string","format":"date-time"},"churnTimePolicy":{"description":"Specifies when the subscription is to be deactivated.\nThe `churnTimePolicy` takes precedence over the `churnTime` in request.","type":["string","null"],"enum":["null","now","at-next-renewal"]},"lineItems":{"description":"Items to be added to the new invoice.\nProration item is generated and added automatically.","type":"array","items":{"type":"object","description":"Invoice line item.","required":["type","unitPriceAmount","unitPriceCurrency","quantity"],"properties":{"type":{"description":"Type of invoice line item.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the line item.","type":"string","maxLength":1000},"unitPriceAmount":{"description":"Unit price of the line item.","type":"number","format":"double","example":49.95},"unitPriceCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"quantity":{"description":"Quantity of the line item.","type":"integer","example":1},"periodStartTime":{"description":"Date and time when the period begins for this item.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the period ends for this item.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"}}}},"lineItemSubtotal":{"description":"Subtotal of the line items added after the subscription cancellation.","readOnly":true,"type":"object","properties":{"amount":{"type":"number","description":"Subtotal amount of the line items.","example":49.95},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SubscriptionReactivation":{"type":"object","required":["subscriptionId"],"properties":{"id":{"type":"string","description":"ID of the reactivation.","readOnly":true,"maxLength":50,"example":"sub_rct_0YVJ62AF5XCFCA6EBFAAA3Z7E0"},"subscriptionId":{"type":"string","description":"ID of the reactivated subscription.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"cancellationId":{"type":"string","description":"ID of the related cancellation.","readOnly":true,"maxLength":50,"example":"sub_cnl_0YVJ5XVQM9CDP8248ZQX0RDMKV"},"description":{"description":"Description of the reactivation reason in free form.","type":["string","null"],"maxLength":255},"effectiveTime":{"description":"Date and time when the service period starts,\nunless the subscription is canceled but still active.\n\nIf the subscription is still active,\nthe subscription continues for the current service period.\n\nIf this field is omitted, this value defaults to the current time.","type":"string","format":"date-time","writeOnly":true},"renewalTime":{"description":"Date and time of the next subscription renewal.\nIf this field is omitted, this value is computed from the `effectiveTime` field.\n\nIf the subscription is canceled but still active,\nit is ignored and the next renewal occurs as scheduled.","type":"string","format":"date-time"},"paymentInstrumentId":{"writeOnly":true,"description":"ID of the payment instrument.\nIf this field is omitted, the subscription payment instrument remains unchanged.","type":["string","null"],"maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"UpcomingInvoiceItem":{"type":"object","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the upcoming invoice item.","maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"isInterim":{"description":"Specifies if the line item is added to an interim invoice.","type":"boolean"},"description":{"description":"Description of the upcoming invoice item.","type":"string","maxLength":1000},"unitPrice":{"description":"Unit price of the upcoming invoice item.","type":"number","format":"double"},"quantity":{"description":"Quantity of the upcoming invoice item.","type":"integer"},"price":{"description":"Total price of the upcoming invoice item.","type":"number","format":"double"},"productId":{"type":["string","null"],"description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"planId":{"type":["string","null"],"description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"subscriptionId":{"type":"string","description":"ID of the order.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"periodStartTime":{"description":"Date and time when the billing period starts.","type":"string","format":"date-time"},"periodEndTime":{"description":"Date and time when the billing period ends.","type":"string","format":"date-time"},"periodNumber":{"description":"Billing period number that is associated with the invoice item.\nFor example, an invoice item for a service is included in billing period number 3.\nThe invoice item is only applied to billing period number 3.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"tax":{"description":"Invoice item tax.","$ref":"#/components/schemas/TaxItem"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","product","plan","subscription"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"product":{"type":"object"},"plan":{"type":"object"}}}}},"UpcomingInvoice":{"type":"object","readOnly":true,"properties":{"id":{"description":"ID of the upcoming invoice, which is persisted in the future renewal invoice.","type":"string","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"subscriptionId":{"description":"ID of the related subscription order.","type":"string","readOnly":true,"maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"currency":{"x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/CurrencyCode"},"customerId":{"x-basic":true,"allOf":[{"$ref":"#/components/schemas/CustomerId"}]},"revision":{"description":"Number of times the upcoming invoice data has changed.\n\nUse the revision number when analyzing webhook data to\ndetermine if a change should take precedence over the current\nrepresentation.","type":"integer"},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"items":{"type":"array","description":"Upcoming invoice items array.","items":{"$ref":"#/components/schemas/UpcomingInvoiceItem"}},"amount":{"description":"Amount of the invoice.","type":"number","x-type":"Money","x-sortable":true,"x-basic":true,"format":"double","readOnly":true},"amountDue":{"description":"Amount that is due on the invoice.","type":"number","x-type":"Money","x-sortable":true,"format":"double","readOnly":true},"subtotalAmount":{"description":"Subtotal amount of the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"discountAmount":{"description":"Discount amount that is applied to the invoice.","type":"number","x-type":"Money","format":"double","readOnly":true},"shipping":{"$ref":"#/components/schemas/Shipping"},"tax":{"$ref":"#/components/schemas/Taxes"},"billingAddress":{"description":"Billing address of the invoice.","$ref":"#/components/schemas/ContactObject"},"deliveryAddress":{"description":"Delivery address of the invoice.","$ref":"#/components/schemas/ContactObject"},"poNumber":{"description":"Purchase order number that is displayed on the invoice.","type":["string","null"],"example":"PO123456"},"notes":{"description":"Notes for the customer that are displayed on the invoice.","type":"string"},"discounts":{"type":"array","description":"Discounts applied.","readOnly":true,"items":{"type":"object","readOnly":true,"properties":{"couponId":{"type":"string","description":"ID of the coupon.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"redemptionId":{"description":"ID of the redemption.","$ref":"#/components/schemas/ResourceId"},"amount":{"description":"Total amount discounted by this coupon.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the discount."},"context":{"$ref":"#/components/schemas/DiscountContext"}}}},"isNewOrder":{"description":"Specifies if the order is a new order.","type":"boolean","readOnly":true,"example":true},"dueTime":{"description":"Date and time when the invoice is due for payment.","type":"string","x-sortable":true,"format":"date-time"},"issuedTime":{"description":"Date and time when the invoice is issued.","x-label":"Date Issued","x-sortable":true,"x-basic":true,"$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","website","customer","organization","subscription","attachments","leadSource"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","properties":{"customer":{"type":"object"},"website":{"type":"object"},"organization":{"type":"object"},"leadSource":{"type":"object"}}}}},"OrderTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["coupon-applied","email-message-sent","invoice-abandoned","invoice-disputed","invoice-issued","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-refunded","invoice-reissued","invoice-renewal-payment-declined","invoice-voided","order-activated","order-autopay-changed","order-billing-address-changed","order-billing-anchor-changed","order-canceled","order-churned","order-completed","order-custom-fields-changed","order-delivery-address-changed","order-downgraded","order-change-applied","order-change-canceled","order-change-created","order-items-changed","order-paid-early","order-quantity-changed","order-reactivated","order-recurring-interval-changed","order-renewal-time-changed","order-renewed","order-risk-metadata-changed","order-trial-ended","order-upgraded","order-voided","order-abandoned","quote-accepted","subscription-paused","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-resumed","subscription-trial-end-changed","timeline-comment-created"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Usage":{"type":"object","required":["subscriptionId","quantity"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the usage record.","maxLength":50,"example":"sub_usg_0YVJ636B95DNA9M3B1638HXBCQ"},"subscriptionId":{"type":"string","description":"Subscription ID for which the usage is reported.","maxLength":50,"example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":["string","null"],"description":"ID of the invoice to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"invoiceItemId":{"description":"ID of the invoice item to which usage is applied.\nThis value is populated when the invoice is issued.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"ii_0YVFDEQS2KCFTBN9HXWJFY55GV"},"quantity":{"description":"Quantity of consumed units for a subscription plan product.\nRepresents the actual usage of a billable product or service by the customer.\nAccepts both integer and decimal values with a precision of up to 3 decimal places.\nThe minimum billable unit is 0.001.","type":"number","format":"double","minimum":0.001,"example":5.125},"usageTime":{"description":"Date and time, in ISO 8601 format, when a usage occurred.\nIf this value is not provided or is empty, the date and time of the request is used.","type":"string","format":"date-time"},"acceptPartialQuantity":{"description":"Specifies whether partial usage should be accepted if the reported quantity exceeds the available limit.\n\nWhen set to `true`, the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage.\nWhen set to `false`, the system rejects the request if the reported quantity exceeds the limit.","type":"boolean","writeOnly":true,"default":false,"example":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentCardToken":{"type":"object","title":"Payment card token","description":"Creates a payment card token.\nA payment card token is a string that represents a customer's payment card details.\nIt can be used once, and expires upon first use or within 30 minutes of token creation.\nTo generate a full payment card token, you must provide the `billingAddress`.\nIf `billingAddress` is not provided, the token can not be used for payments.","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["payment-card"]},"paymentInstrument":{"description":"Payment card instrument details.","type":"object","required":["expMonth","expYear"],"properties":{"pan":{"description":"Primary Account Number (PAN) of the payment card.\nThis value is required to perform a payment.","type":"string","writeOnly":true},"cvv":{"description":"Card Verification Value (CVV/CVC) of the payment card.\nTakes precedence over `encryptedCvv` if both are included.","type":"string","writeOnly":true},"encryptedCvv":{"description":"Encrypted CVV of the payment card.\nUse to update a payment card with a CVV stored on the client side.\nThis value is returned for client side caching if `cvv` is provided in the request.","type":["string","null"],"minLength":100,"maxLength":255},"expMonth":{"description":"Expiration month of the payment card.","type":"integer"},"expYear":{"description":"Expiration year of the payment card.","type":"integer"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the first 6 digits of the payment card number.","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Primary Account Number (PAN) of the payment card.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]}}},"billingAddress":{"description":"Billing address object.\nThis value is required to perform payments.\nFor payment-card updates, `billingAddress` can be ignored.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token has been used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PayPalToken":{"type":"object","title":"PayPal token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["paypal"]},"paymentInstrument":{"description":"Paypal instrument details required for express checkout.","type":"object","required":["billingAgreementToken","paypalMerchantId"],"properties":{"paypalMerchantId":{"description":"ID of the PayPal merchant.","type":"string"},"billingAgreementToken":{"description":"PayPal billing agreement token.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expires.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BBANInstrument":{"description":"Bank account BBAN instrument.","type":"object","required":["accountNumberType","accountNumber","routingNumber","accountType"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["BBAN"]},"accountNumber":{"description":"Customer's bank account number.","type":"string","pattern":"^[0-9]+$","writeOnly":true},"routingNumber":{"description":"Bank routing number.","type":"string","pattern":"^[0-9]+$"},"accountType":{"description":"Bank account type.","type":"string","enum":["checking","savings","other"]},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}},"IBANInstrument":{"description":"Bank account IBAN instrument.","type":"object","required":["accountNumberType","accountNumber"],"properties":{"accountNumberType":{"description":"Bank account number type.\nA valid value is basic bank account number (BBAN) or international bank account number (IBAN).","type":"string","enum":["IBAN"]},"accountNumber":{"description":"Bank account number.\nDetailed information about all ISO 13616-compliant national IBAN formats is available in the [SWIFT IBAN Registry](https://www.swift.com/standards/data-standards/iban).","type":"string","writeOnly":true},"bic":{"description":"Bank Identifier Code (BIC).","type":"string"},"bankName":{"description":"Bank name.","type":"string"},"last4":{"description":"Last 4 digits of the bank account number.","type":"string","readOnly":true}}},"BankAccountInstrument":{"type":"object","description":"Bank account BBAN or IBAN instrument.","discriminator":{"propertyName":"accountNumberType","mapping":{"BBAN":"#/components/schemas/BBANInstrument","IBAN":"#/components/schemas/IBANInstrument"}},"oneOf":[{"$ref":"#/components/schemas/BBANInstrument"},{"$ref":"#/components/schemas/IBANInstrument"}]},"BankAccountToken":{"type":"object","title":"Bank account token","required":["method","paymentInstrument","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["ach","echeck"]},"paymentInstrument":{"$ref":"#/components/schemas/BankAccountInstrument"},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DigitalWalletToken":{"type":"object","title":"Digital wallet token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["digital-wallet"]},"paymentInstrument":{"description":"Payment instrument details.","type":"object","required":["type","amount","currency","descriptor","payload"],"properties":{"type":{"description":"Type of digital wallet.","type":"string","enum":["Apple Pay","Google Pay","Samsung Pay"]},"amount":{"description":"Authorized for the digital wallet amount.","type":"number","format":"double"},"currency":{"description":"Authorized for the digital wallet currency.","$ref":"#/components/schemas/CurrencyCode"},"descriptor":{"description":"Descriptor for a payment.","type":"string"},"bin":{"description":"Bank Identification Number (BIN) of the payment card.\nThis value is the same as the first 6 digits of the associated Device Primary Account Number (DPAN).","type":["string","null"],"format":"bin","readOnly":true},"last4":{"description":"Last 4 digits of the Device Primary Account Number (DPAN) of the payment card.\nThe DPAN is the tokenized card number used in digital wallet transactions,\nas opposed to the Funding Primary Account Number (FPAN) which is the physical card number visible to the cardholder.","type":"string","readOnly":true},"fpanLast4":{"description":"Last 4 digits of the Funding Primary Account Number (FPAN) of the payment card.\nThe FPAN is the physical card number visible to the cardholder,\nas opposed to the Device Primary Account Number (DPAN) used in digital wallet transactions.","type":["string","null"],"readOnly":true},"brand":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/PaymentCardBrand"}]},"expMonth":{"readOnly":true,"description":"Payment card expiration month.","type":"integer"},"expYear":{"readOnly":true,"description":"Payment card expiration year.","type":"integer"},"payload":{"writeOnly":true,"description":"Digital wallet encoded data.\nThis field may contain the digital wallet billing address.","type":"object"}}},"billingAddress":{"readOnly":true,"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PlaidAccountToken":{"type":"object","title":"Plaid account token","required":["method","billingAddress","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["plaid-account"]},"paymentInstrument":{"description":"Plaid payment instrument details.","type":"object","required":["linkToken","publicToken","accountId"],"properties":{"linkToken":{"type":"string","description":"Plaid link token.","writeOnly":true},"publicToken":{"type":"string","description":"Plaid public token."},"accountId":{"type":"string","description":"ID of the Plaid account."}}},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AlternativePaymentToken":{"type":"object","title":"Alternative payment token","required":["method","billingAddress"],"properties":{"method":{"description":"Payment method of the token.","type":"string","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["payment-card","paypal","ach","echeck","digital-wallet","plaid-account","Klarna","cryptocurrency"]}}]},"billingAddress":{"description":"Billing address object.","$ref":"#/components/schemas/ContactObject"},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"KlarnaToken":{"type":"object","title":"Klarna token","required":["method","paymentInstrument"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["Klarna"]},"paymentInstrument":{"description":"Klarna instrument details required for express checkout.","type":"object","required":["klarnaAuthorizationToken","klarnaSessionId"],"properties":{"klarnaAuthorizationToken":{"description":"Klarna authorization token.","type":"string"},"klarnaSessionId":{"description":"ID of the Klarna session.","type":"string"}}},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CryptocurrencyToken":{"type":"object","title":"Cryptocurrency token","required":["method"],"properties":{"method":{"description":"Payment method of the token.","type":"string","enum":["cryptocurrency"]},"walletName":{"description":"Name of the crypto wallet.","type":["string","null"],"maxLength":255},"walletAddress":{"description":"Address of the crypto wallet.","type":["string","null"],"maxLength":255},"walletCurrency":{"description":"Currency of the crypto wallet.","type":["string","null"],"maxLength":255},"walletNetwork":{"description":"Network of the crypto wallet.","type":["string","null"],"maxLength":255},"billingAddress":{"description":"Billing address object.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"id":{"description":"ID of the token.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"isUsed":{"description":"Specifies if the token is already used.","type":"boolean","default":false,"readOnly":true},"riskMetadata":{"oneOf":[{"$ref":"#/components/schemas/RiskMetadata"},{"type":"null"}]},"leadSource":{"allOf":[{"$ref":"#/components/schemas/LeadSource"}],"writeOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"usageTime":{"description":"Date and time when the token is used.","type":["string","null"],"format":"date-time","readOnly":true},"expirationTime":{"description":"Date and time when the token expired.","type":["string","null"],"format":"date-time","readOnly":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CompositeToken":{"type":"object","discriminator":{"propertyName":"method","mapping":{"payment-card":"#/components/schemas/PaymentCardToken","paypal":"#/components/schemas/PayPalToken","ach":"#/components/schemas/BankAccountToken","echeck":"#/components/schemas/BankAccountToken","digital-wallet":"#/components/schemas/DigitalWalletToken","plaid-account":"#/components/schemas/PlaidAccountToken","Khelocard":"#/components/schemas/AlternativePaymentToken","Klarna":"#/components/schemas/KlarnaToken","cash":"#/components/schemas/AlternativePaymentToken","check":"#/components/schemas/AlternativePaymentToken","AdvCash":"#/components/schemas/AlternativePaymentToken","Alfa-click":"#/components/schemas/AlternativePaymentToken","Alipay":"#/components/schemas/AlternativePaymentToken","AstroPay Card":"#/components/schemas/AlternativePaymentToken","AstroPay-GO":"#/components/schemas/AlternativePaymentToken","BankReferenced":"#/components/schemas/AlternativePaymentToken","bank-transfer":"#/components/schemas/AlternativePaymentToken","bank-transfer-2":"#/components/schemas/AlternativePaymentToken","bank-transfer-3":"#/components/schemas/AlternativePaymentToken","bank-transfer-4":"#/components/schemas/AlternativePaymentToken","bank-transfer-5":"#/components/schemas/AlternativePaymentToken","bank-transfer-6":"#/components/schemas/AlternativePaymentToken","bank-transfer-7":"#/components/schemas/AlternativePaymentToken","bank-transfer-8":"#/components/schemas/AlternativePaymentToken","bank-transfer-9":"#/components/schemas/AlternativePaymentToken","Baloto":"#/components/schemas/AlternativePaymentToken","Beeline":"#/components/schemas/AlternativePaymentToken","Belfius-direct-net":"#/components/schemas/AlternativePaymentToken","bitcoin":"#/components/schemas/AlternativePaymentToken","Bizum":"#/components/schemas/AlternativePaymentToken","Boleto":"#/components/schemas/AlternativePaymentToken","cash-deposit":"#/components/schemas/AlternativePaymentToken","CASHlib":"#/components/schemas/AlternativePaymentToken","CashToCode":"#/components/schemas/AlternativePaymentToken","China UnionPay":"#/components/schemas/AlternativePaymentToken","Cleo":"#/components/schemas/AlternativePaymentToken","CODVoucher":"#/components/schemas/AlternativePaymentToken","Conekta-oxxo":"#/components/schemas/AlternativePaymentToken","Cupon-de-pagos":"#/components/schemas/AlternativePaymentToken","cryptocurrency":"#/components/schemas/CryptocurrencyToken","domestic-cards":"#/components/schemas/AlternativePaymentToken","ecoPayz":"#/components/schemas/AlternativePaymentToken","ecoVoucher":"#/components/schemas/AlternativePaymentToken","Efecty":"#/components/schemas/AlternativePaymentToken","EPS":"#/components/schemas/AlternativePaymentToken","ePay.bg":"#/components/schemas/AlternativePaymentToken","eZeeWallet":"#/components/schemas/AlternativePaymentToken","FasterPay":"#/components/schemas/AlternativePaymentToken","Flexepin":"#/components/schemas/AlternativePaymentToken","Giropay":"#/components/schemas/AlternativePaymentToken","Gpaysafe":"#/components/schemas/AlternativePaymentToken","Google Pay":"#/components/schemas/AlternativePaymentToken","iDebit":"#/components/schemas/AlternativePaymentToken","iDEAL":"#/components/schemas/AlternativePaymentToken","ING-homepay":"#/components/schemas/AlternativePaymentToken","INOVAPAY-pin":"#/components/schemas/AlternativePaymentToken","INOVAPAY-wallet":"#/components/schemas/AlternativePaymentToken","InstaDebit":"#/components/schemas/AlternativePaymentToken","instant-bank-transfer":"#/components/schemas/AlternativePaymentToken","InstantPayments":"#/components/schemas/AlternativePaymentToken","Interac":"#/components/schemas/AlternativePaymentToken","Interac-online":"#/components/schemas/AlternativePaymentToken","Interac-eTransfer":"#/components/schemas/AlternativePaymentToken","invoice":"#/components/schemas/AlternativePaymentToken","iWallet":"#/components/schemas/AlternativePaymentToken","Jeton":"#/components/schemas/AlternativePaymentToken","jpay":"#/components/schemas/AlternativePaymentToken","KNOT":"#/components/schemas/AlternativePaymentToken","loonie":"#/components/schemas/AlternativePaymentToken","Matrix":"#/components/schemas/AlternativePaymentToken","MaxiCash":"#/components/schemas/AlternativePaymentToken","Megafon":"#/components/schemas/AlternativePaymentToken","MiFinity-eWallet":"#/components/schemas/AlternativePaymentToken","miscellaneous":"#/components/schemas/AlternativePaymentToken","Bancontact":"#/components/schemas/AlternativePaymentToken","Bancontact-mobile":"#/components/schemas/AlternativePaymentToken","MTS":"#/components/schemas/AlternativePaymentToken","MuchBetter":"#/components/schemas/AlternativePaymentToken","Multibanco":"#/components/schemas/AlternativePaymentToken","Neosurf":"#/components/schemas/AlternativePaymentToken","Netbanking":"#/components/schemas/AlternativePaymentToken","Neteller":"#/components/schemas/AlternativePaymentToken","Nordea-Solo":"#/components/schemas/AlternativePaymentToken","OchaPay":"#/components/schemas/AlternativePaymentToken","online-bank-transfer":"#/components/schemas/AlternativePaymentToken","Onlineueberweisen":"#/components/schemas/AlternativePaymentToken","oriental-wallet":"#/components/schemas/AlternativePaymentToken","OXXO":"#/components/schemas/AlternativePaymentToken","P24":"#/components/schemas/AlternativePaymentToken","Pagadito":"#/components/schemas/AlternativePaymentToken","PagoEffectivo":"#/components/schemas/AlternativePaymentToken","Pagsmile-deposit-express":"#/components/schemas/AlternativePaymentToken","Pagsmile-lottery":"#/components/schemas/AlternativePaymentToken","PayCash":"#/components/schemas/AlternativePaymentToken","Payeer":"#/components/schemas/AlternativePaymentToken","PaymentAsia-crypto":"#/components/schemas/AlternativePaymentToken","Paymero":"#/components/schemas/AlternativePaymentToken","Perfect-money":"#/components/schemas/AlternativePaymentToken","Piastrix":"#/components/schemas/AlternativePaymentToken","PayTabs":"#/components/schemas/AlternativePaymentToken","Paysafecard":"#/components/schemas/AlternativePaymentToken","Paysafecash":"#/components/schemas/AlternativePaymentToken","Pay4Fun":"#/components/schemas/AlternativePaymentToken","Paynote":"#/components/schemas/AlternativePaymentToken","PinPay":"#/components/schemas/AlternativePaymentToken","phone":"#/components/schemas/AlternativePaymentToken","PhonePe":"#/components/schemas/AlternativePaymentToken","POLi":"#/components/schemas/AlternativePaymentToken","PostFinance-card":"#/components/schemas/AlternativePaymentToken","PostFinance-e-finance":"#/components/schemas/AlternativePaymentToken","QIWI":"#/components/schemas/AlternativePaymentToken","QPay":"#/components/schemas/AlternativePaymentToken","QQPay":"#/components/schemas/AlternativePaymentToken","rapyd-checkout":"#/components/schemas/AlternativePaymentToken","Resurs":"#/components/schemas/AlternativePaymentToken","SafetyPay":"#/components/schemas/AlternativePaymentToken","SEPA":"#/components/schemas/AlternativePaymentToken","Skrill":"#/components/schemas/AlternativePaymentToken","Skrill Rapid Transfer":"#/components/schemas/AlternativePaymentToken","SMSVoucher":"#/components/schemas/AlternativePaymentToken","Sofort":"#/components/schemas/AlternativePaymentToken","SparkPay":"#/components/schemas/AlternativePaymentToken","swift-dbt":"#/components/schemas/AlternativePaymentToken","Tele2":"#/components/schemas/AlternativePaymentToken","Terminaly-RF":"#/components/schemas/AlternativePaymentToken","ToditoCash-card":"#/components/schemas/AlternativePaymentToken","Trustly":"#/components/schemas/AlternativePaymentToken","UPayCard":"#/components/schemas/AlternativePaymentToken","UPI":"#/components/schemas/AlternativePaymentToken","USD-coin":"#/components/schemas/AlternativePaymentToken","VCreditos":"#/components/schemas/AlternativePaymentToken","VenusPoint":"#/components/schemas/AlternativePaymentToken","voucher":"#/components/schemas/AlternativePaymentToken","voucher-2":"#/components/schemas/AlternativePaymentToken","voucher-3":"#/components/schemas/AlternativePaymentToken","voucher-4":"#/components/schemas/AlternativePaymentToken","Webmoney":"#/components/schemas/AlternativePaymentToken","Webpay":"#/components/schemas/AlternativePaymentToken","Webpay-2":"#/components/schemas/AlternativePaymentToken","Webpay Card":"#/components/schemas/AlternativePaymentToken","WeChat Pay":"#/components/schemas/AlternativePaymentToken","XPay-P2P":"#/components/schemas/AlternativePaymentToken","XPay-QR":"#/components/schemas/AlternativePaymentToken","Yandex-money":"#/components/schemas/AlternativePaymentToken","Zotapay":"#/components/schemas/AlternativePaymentToken","Zimpler":"#/components/schemas/AlternativePaymentToken"}},"oneOf":[{"$ref":"#/components/schemas/PaymentCardToken"},{"$ref":"#/components/schemas/PayPalToken"},{"$ref":"#/components/schemas/BankAccountToken"},{"$ref":"#/components/schemas/DigitalWalletToken"},{"$ref":"#/components/schemas/PlaidAccountToken"},{"$ref":"#/components/schemas/KlarnaToken"},{"$ref":"#/components/schemas/AlternativePaymentToken"},{"$ref":"#/components/schemas/CryptocurrencyToken"}]},"DigitalWalletValidation":{"type":"object","required":["type"],"discriminator":{"propertyName":"type","mapping":{"Apple Pay":"#/components/schemas/ApplePayValidation"}},"properties":{"type":{"description":"Type of digital wallet to validate.","type":"string","enum":["Apple Pay"]}}},"ApplePayValidation":{"description":"Apple Pay session validation.","allOf":[{"$ref":"#/components/schemas/DigitalWalletValidation"},{"type":"object","required":["validationRequest"],"properties":{"type":{"type":"string"},"validationRequest":{"description":"Validation request.","type":"object","properties":{"validationUrl":{"type":"string","description":"Apple Pay SDK URL that is used to perform validation."},"domainName":{"type":"string","description":"Domain where the client code, such as [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/), is executed.\nThe domain name must be registered in the Apple Pay console.\nFor more information, see [Register a domain for Apple Pay](https://www.rebilly.com/catalog/all/gateway-accounts/postdigitalwalletonboardingapplepay).","example":"www.example.com"},"displayName":{"type":"string","description":"Display name of your store.","example":"My Store"}},"writeOnly":true},"validationResponse":{"description":"Apple Pay SDK validation response.","type":"object","readOnly":true}}}]},"PaymentInstructionToken":{"type":"object","title":"Payment token","required":["token"],"properties":{"token":{"description":"Token ID of the payment.","type":"string"}}},"PaymentInstructionInstrument":{"type":"object","title":"Payment instrument","required":["paymentInstrumentId"],"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"}}},"PaymentInstructionMethods":{"type":"object","title":"Payment Methods","properties":{"methods":{"type":"array","description":"List of available payment methods.\nOnly payment methods with at least one active gateway account are allowed.\n\nIf not specified all available payment methods are displayed.\n\nCustomer can choose any of those as well as the payment instrument for them.\nAdditional steps occur via a redirect to `approvalUrl`.","items":{"$ref":"#/components/schemas/PaymentMethod"}},"receivedBy":{"description":"Name of the cash receiver.\nThis field is available only for the `cash` payment method.","type":"string"},"reference":{"description":"Reference data.\nThis field is available only for the `check` and `bank-transfer` payment methods.","type":"string"}}},"PaymentInstruction":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstructionToken"},{"$ref":"#/components/schemas/PaymentInstructionInstrument"},{"$ref":"#/components/schemas/PaymentInstructionMethods"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"}]},"TransactionQuery":{"type":"object","properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"result":{"description":"Result of the transaction.","type":"string","readOnly":true,"enum":["abandoned","approved","canceled","declined","unknown"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","suspended","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","readOnly":true},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"}}},"TransactionUpdate":{"type":"object","description":"Updates the status of a transaction to `completed` with a specified `result` and optional currency and amount values.","required":["result"],"properties":{"result":{"description":"Result of the transaction.","type":"string","enum":["abandoned","approved","canceled","declined"]},"amount":{"description":"Amount of the transaction.","type":"number","format":"double"},"currency":{"description":"Currency of the transaction.","$ref":"#/components/schemas/CurrencyCode"}}},"TransactionRefund":{"type":"object","required":["amount"],"properties":{"amount":{"description":"Amount of the refund.","type":"number","format":"double"},"description":{"description":"Description of the refund.","type":"string","maxLength":255},"isProcessedOutside":{"description":"Specifies if the refund is processed outside of Rebilly.","type":"boolean","default":false}}},"TransactionTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["amount-adjusted","blocklist-matched","bump-offer-accepted","bump-offer-presented","bump-offer-rejected","customer-redirected-offsite","customer-returned","dcc-offer-accepted","dcc-offer-forced","dcc-offer-presented","dcc-offer-rejected","dispute-changed","dispute-created","dispute-forfeited","dispute-lost","dispute-responded","dispute-won","gateway-connection-failed","gateway-connection-timed-out","gateway-response-received","offsite-transaction-completed","quickbooks-payment-created","quickbooks-refund-receipt-created","quickbooks-transaction-task-failed","risk-score-changed","timeline-comment-created","transaction-abandoned","transaction-amount-discrepancy-found","transaction-approved","transaction-canceled","transaction-capture-delayed","transaction-captured","transaction-declined","transaction-discrepancy-found","transaction-disputed","transaction-initiated","transaction-payment-method-changed","transaction-partially-refunded","transaction-process-requested","transaction-processed","transaction-queried","transaction-reconciled","transaction-refunded","transaction-retried","transaction-rules-processed","transaction-scheduled-time-changed","transaction-timeout-resolved","transaction-updated","transaction-voided","transaction-waiting-gateway","transaction-waiting-gateway-completed"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline message.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AllowedIps":{"description":"List of IP addresses that are permitted access.\nPrivate subnets are prohibited.\nTo remove restrictions, set this value to `null`.","type":["array","null"],"items":{"type":"string","format":"ip"},"example":["153.12.32.33","201.54.122.0/24","2001:0db8:abcd:0012:0000:0000:0000:ffff","2001:db8:abcd:12::0/64"]},"ApiKey":{"type":"object","description":"API secret Key.","required":["description"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"description":{"description":"API key description.","type":"string"},"type":{"description":"Type of API key.","type":"string","default":"secret","enum":["secret","publishable"]},"acl":{"description":"Specify access control list here if creating a restricted API key.\nSend all matching permission with an empty scope to allow all permissions.","$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"apiUser":{"description":"API user name.","type":"string","readOnly":true},"secretKey":{"description":"Value of the API secret key.","type":"string","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ChargeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["charge"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RefundTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["refund"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BuyFeeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["buy-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SellFeeTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["sell-fee"]},"fee":{"type":"object","properties":{"name":{"description":"Name of the fee.","type":"string"}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":["string","null"],"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RiskReserveTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve"]},"riskReserve":{"type":"object","properties":{"releaseTime":{"description":"Time of risk reserve release.","type":["string","null"],"format":"date-time","readOnly":true}}},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"RiskReserveReleaseTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["risk-reserve-release"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ReverseTransaction":{"type":"object","required":["type"],"properties":{"id":{"type":"string","description":"ID of the balance transaction.","readOnly":true,"maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"type":{"description":"Type of balance transaction.","type":"string","readOnly":true,"enum":["reverse"]},"parentId":{"description":"ID of the parent entry if one exists.\n\nSome types of transactions relate to parent transactions.\nFor example, a `risk-reserve` relates to a `charge`, and a `risk-reserve-release` relates a to `risk-reserve`.","type":"string","maxLength":50,"example":"btxn_0YVCNJYRXTDDQ9QF2Z60ZA05WP"},"transactionId":{"description":"ID of the related transaction.","$ref":"#/components/schemas/TransactionId"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementAmount":{"x-type":"Money","x-currency-field":"settlementCurrency","x-sortable":true,"x-basic":true,"description":"Amount of the settlement.","type":["number","null"],"format":"double"},"settlementTime":{"description":"Date and time of the expected settlement.","$ref":"#/components/schemas/ServerTimestamp"},"settlementRate":{"description":"If the settlement currency does not match the transaction currency.\nThis field displays the exchange rate of the settlement.","type":["number","null"],"format":"double"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"BalanceTransaction":{"type":"object","title":"Balance transaction","discriminator":{"propertyName":"type","mapping":{"charge":"#/components/schemas/ChargeTransaction","refund":"#/components/schemas/RefundTransaction","buy-fee":"#/components/schemas/BuyFeeTransaction","sell-fee":"#/components/schemas/SellFeeTransaction","risk-reserve":"#/components/schemas/RiskReserveTransaction","risk-reserve-release":"#/components/schemas/RiskReserveReleaseTransaction","reverse":"#/components/schemas/ReverseTransaction"}},"oneOf":[{"$ref":"#/components/schemas/ChargeTransaction"},{"$ref":"#/components/schemas/RefundTransaction"},{"$ref":"#/components/schemas/BuyFeeTransaction"},{"$ref":"#/components/schemas/SellFeeTransaction"},{"$ref":"#/components/schemas/RiskReserveTransaction"},{"$ref":"#/components/schemas/RiskReserveReleaseTransaction"},{"$ref":"#/components/schemas/ReverseTransaction"}]},"BillingPortal":{"type":"object","required":["websiteId","slug","name"],"properties":{"id":{"type":"string","description":"ID of the billing portal.","readOnly":true,"maxLength":50,"example":"bill_prt_0YV7K5TYV5D1P9ZNKDT39KZC3C"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"slug":{"description":"Path segment that is appended to the billing portal URL to help make it human-readable.\nExample: `https://example.com/billing-portal/{slug}`.","type":"string","minLength":5,"maxLength":100},"name":{"description":"Billing portal name.\nThis name is for internal use and helps you to organize and differentiate billing portals.\nThis value is not displayed to your customers.","type":"string"},"customDomain":{"description":"Custom domain for the billing portal.\nThe default domain is: `portal.secure-payments.app`.","type":["string","null"],"maxLength":255},"features":{"description":"Features that can be enabled for the billing portal.","type":"object","properties":{"authenticateWithPassword":{"description":"Specifies if a customer can authenticate with a password.","type":"boolean","default":true},"orderCancel":{"description":"Specifies if a customer can cancel an order.","type":"boolean","default":true},"orderAddressEdit":{"description":"Specifies if a customer can change an order address.","type":"boolean","default":true},"paymentInstrumentAdd":{"description":"Specifies if a customer can add a new payment instrument.","type":"boolean","default":true},"paymentInstrumentUpdate":{"description":"Specifies if a customer can update their payment instruments.","type":"boolean","default":true},"paymentInstrumentDeactivate":{"description":"Specifies if a customer can disable their payment instruments.","type":"boolean","default":true}}},"customization":{"description":"Visual customization options for the billing portal.","type":"object","properties":{"logoId":{"type":["string","null"],"description":"File ID of the billing portal logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"colors":{"description":"Various colors used in the billing portal.","type":"object","properties":{"primary":{"description":"Primary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"secondary":{"description":"Secondary color for the billing portal in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed in the billing portal.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}}}},"status":{"description":"Status of the billing portal. If the status is `inactive`,\nthe billing portal URL results in a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SmtpAuthorizationNone":{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["none"],"default":"none"}}},"SmtpAuthorizationCramMd5":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["cram-md5"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorizationLogin":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["login"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorizationPlain":{"type":"object","properties":{"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"},"type":{"type":"string","enum":["plain"],"default":"none"}},"required":["username","password","type"]},"SmtpAuthorization":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/SmtpAuthorizationNone","cram-md5":"#/components/schemas/SmtpAuthorizationCramMd5","login":"#/components/schemas/SmtpAuthorizationLogin","plain":"#/components/schemas/SmtpAuthorizationPlain"}},"oneOf":[{"$ref":"#/components/schemas/SmtpAuthorizationNone"},{"$ref":"#/components/schemas/SmtpAuthorizationCramMd5"},{"$ref":"#/components/schemas/SmtpAuthorizationLogin"},{"$ref":"#/components/schemas/SmtpAuthorizationPlain"}]},"SmtpCredential":{"type":"object","description":"SMTP credential.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["smtp"]},"host":{"type":"string","description":"SMTP host name."},"port":{"type":"integer","description":"SMTP port value.","minimum":1,"maximum":65535,"default":25},"encryption":{"type":"string","description":"Encryption value.","enum":["none","tls","ssl"],"default":"none"},"auth":{"$ref":"#/components/schemas/SmtpAuthorization"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"WebhookAuthorizationNone":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["none"],"default":"none"}},"required":["type"]},"WebhookAuthorizationBasic":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["basic"],"default":"none"},"username":{"description":"Username for basic authentication.","type":"string"},"password":{"description":"Password for basic authentication.","type":"string","format":"password"}},"required":["username","password","type"]},"WebhookAuthorizationDigest":{"type":"object","properties":{"type":{"type":"string","description":"Type of authorization.","enum":["digest"],"default":"none"},"username":{"description":"Authentication username.","type":"string"},"password":{"description":"Authentication password.","type":"string","format":"password"}},"required":["username","password","type"]},"WebhookAuthorization":{"type":"object","description":"Authentication type and details.","discriminator":{"propertyName":"type","mapping":{"none":"#/components/schemas/WebhookAuthorizationNone","basic":"#/components/schemas/WebhookAuthorizationBasic","digest":"#/components/schemas/WebhookAuthorizationDigest"}},"oneOf":[{"$ref":"#/components/schemas/WebhookAuthorizationNone"},{"$ref":"#/components/schemas/WebhookAuthorizationBasic"},{"$ref":"#/components/schemas/WebhookAuthorizationDigest"}]},"WebhookCredential":{"type":"object","description":"Credential for webhook authentication.\nCredentials are associated with a host and contain authentication details.","required":["host","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["webhook"]},"host":{"type":"string","description":"Name of the host.","pattern":"^[A-Za-z0-9-.]+$","example":"app-prod.example.com"},"auth":{"$ref":"#/components/schemas/WebhookAuthorization"}}},"ExperianCredential":{"type":"object","description":"Experian integration provides identity verification.\nFor more information, see [Experian integration](https://www.rebilly.com/docs/automations/experian-integration/#experian-integration).","required":["username","password","hmacKey","publicKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["experian"]},"username":{"type":"string","description":"Username of the Experian account."},"password":{"type":"string","description":"Password of the Experian account.","format":"password"},"hmacKey":{"type":"string","description":"HMAC key that is used to generate the signature for Experian requests.","format":"password","example":"PxOclToLSxW4oAB5N5HSdfoslyEWuvfkLjfHeNG2aZY~"},"publicKey":{"type":"string","description":"HMAC public key that is included in the signature for Experian requests.","example":"8831AA5552FE10CD"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"MailgunCredential":{"type":"object","description":"Mailgun credential.","required":["emailFrom","apiKey","domain","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["mailgun"]},"emailFrom":{"type":"string","format":"email","description":"Address from which emails are sent.","minLength":1,"maxLength":254},"apiKey":{"type":"string","description":"Mailgun API key."},"domain":{"type":"string","description":"Mailgun domain."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OAuth2Credential":{"type":"object","description":"OAuth2 credential.","required":["code","scopes","service","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["oauth2"]},"service":{"description":"Name of the service to which the OAuth2 credential relates.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"code":{"description":"OAuth2 code provided by the authentication server.","type":"string","example":"2/smAHUUr9jOxw_IOp47Y_dH1r2Y"},"accessToken":{"description":"OAuth2 access token.","readOnly":true,"type":"string","example":"S9R4RoGpzaRrJd5MYjZIONQ2MjWSCj7N7Iqp9BXXFIbkh"},"refreshToken":{"description":"OAuth2 refresh token.","readOnly":true,"type":"string","example":"2/4DPERp2EiySF6JUIOTS4jM5f0JmLG2gPcpGaWYTGU94"},"expirationTime":{"description":"Date and time when the access token expires.","readOnly":true,"type":["string","null"],"format":"date-time"},"scopes":{"description":"List of URLs that are granted OAuth2 access.","type":"array","items":{"type":"string"},"example":["https://www.googleapis.com/auth/drive.metadata.readonly"]},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PostmarkCredential":{"type":"object","description":"Postmark credential.","required":["serverApiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["postmark"]},"serverApiToken":{"type":"string","description":"Postmark server API token.","example":"dd0508z9-2291-6794-3376-z0a70g12eqm9"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SendGridCredential":{"type":"object","description":"SendGrid credential.","required":["apiKey","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["sendgrid"]},"apiKey":{"type":"string","description":"SendGrid API key.","example":"SO.WFbRlSWUQJSb40eny4RuZQ.7liHLZ4l1jaPCgbu02b-aGH-bo4RB8z9fK3aUd1heeL"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SESCredential":{"type":"object","description":"Amazon Web Services (AWS) Simple Email Service (SES) credential.","required":["key","secret","region","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["aws-ses"]},"key":{"type":"string","description":"ID of the AWS access key.","example":"BWITYO4UARGDLMFY6UDP"},"secret":{"type":"string","description":"Secret AWS access key.","example":"8D34yYHOK9+yM7pDnNUO3UTO/5b8Wy/PGNyzTRmG"},"region":{"type":"string","description":"AWS region name.","example":"us-west-2"},"configurationSetName":{"type":"string","description":"Name of configuration set from which emails are sent.","example":"SpecialConfigurationSet"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"TaxJarCredential":{"type":"object","description":"TaxJar integration enables you to calculate taxes and create transactions for the Sales Tax AutoFile feature in your TaxJar account.\nFor more information, see [TaxJar integration](https://www.rebilly.com/docs/automations/tax-jar-integration/#taxjar-integration).","required":["apiToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["taxjar"]},"apiToken":{"type":"string","description":"TaxJar API token.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","default":false,"example":false},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"AvalaraCredential":{"type":"object","description":"Avalara integration enables you to calculate taxes and create transactions in your Avalara account.","required":["licenseKey","accountId","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["avalara"]},"licenseKey":{"type":"string","description":"Avalara license key.","format":"password","example":"0ab15e3c1cc608b6f592fbddaddeb8f2"},"accountId":{"type":"string","description":"ID of the Avalara account.","example":"a1b2c3d4e5f6"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PlaidCredential":{"type":"object","description":"Plaid integration provides customer bank credential verification,\nand simplifies the process of providing credentials for your customers.\nFor more information, see [Plaid integration](https://www.rebilly.com/docs/automations/plaid-integration/).","required":["clientId","secretToken","type"],"properties":{"id":{"type":"string","description":"ID of the credential.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"hash":{"deprecated":true,"type":"string","description":"ID of the credential.\nUse the `id` field instead.","readOnly":true,"maxLength":36,"example":"crd_0YV9Y706QGCB39FQD380G1ZHZH"},"status":{"description":"Status of the credential.","type":"string","readOnly":true,"enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"deactivationTime":{"description":"Date and time when the credential is deactivated.","type":["string","null"],"format":"date-time","readOnly":true},"type":{"description":"Type of credential.","type":"string","readOnly":true,"enum":["plaid"]},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"ServiceCredential":{"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/SmtpCredential","webhook":"#/components/schemas/WebhookCredential","experian":"#/components/schemas/ExperianCredential","mailgun":"#/components/schemas/MailgunCredential","oauth2":"#/components/schemas/OAuth2Credential","postmark":"#/components/schemas/PostmarkCredential","sendgrid":"#/components/schemas/SendGridCredential","aws-ses":"#/components/schemas/SESCredential","taxjar":"#/components/schemas/TaxJarCredential","avalara":"#/components/schemas/AvalaraCredential","plaid":"#/components/schemas/PlaidCredential"}},"oneOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"$ref":"#/components/schemas/WebhookCredential"},{"$ref":"#/components/schemas/ExperianCredential"},{"$ref":"#/components/schemas/MailgunCredential"},{"$ref":"#/components/schemas/OAuth2Credential"},{"$ref":"#/components/schemas/PostmarkCredential"},{"$ref":"#/components/schemas/SendGridCredential"},{"$ref":"#/components/schemas/SESCredential"},{"$ref":"#/components/schemas/TaxJarCredential"},{"$ref":"#/components/schemas/AvalaraCredential"},{"$ref":"#/components/schemas/PlaidCredential"}]},"PostSmtpCredential":{"allOf":[{"$ref":"#/components/schemas/SmtpCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp"],"readOnly":false}}}]},"PostWebhookCredential":{"allOf":[{"$ref":"#/components/schemas/WebhookCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["webhook"],"readOnly":false}}}]},"PostExperianCredential":{"allOf":[{"$ref":"#/components/schemas/ExperianCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["experian"],"readOnly":false}}}]},"PostMailgunCredential":{"allOf":[{"$ref":"#/components/schemas/MailgunCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["mailgun"],"readOnly":false}}}]},"PostOAuth2Credential":{"allOf":[{"$ref":"#/components/schemas/OAuth2Credential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["oauth2"],"readOnly":false}}}]},"PostPostmarkCredential":{"allOf":[{"$ref":"#/components/schemas/PostmarkCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["postmark"],"readOnly":false}}}]},"PostSendGridCredential":{"allOf":[{"$ref":"#/components/schemas/SendGridCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["sendgrid"],"readOnly":false}}}]},"PostAwsSesCredential":{"allOf":[{"$ref":"#/components/schemas/SESCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["aws-ses"],"readOnly":false}}}]},"PostTaxJarCredential":{"allOf":[{"$ref":"#/components/schemas/TaxJarCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"],"readOnly":false}}}]},"PostAvalaraCredential":{"allOf":[{"$ref":"#/components/schemas/AvalaraCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["avalara"],"readOnly":false}}}]},"PostPlaidCredential":{"allOf":[{"$ref":"#/components/schemas/PlaidCredential"},{"type":"object","required":["type"],"properties":{"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"],"readOnly":false}}}]},"PatchServiceCredentialRequest":{"type":"object","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["smtp","webhook","mailgun","sendgrid","aws-ses","oauth2","postmark","experian","avalara"]}}},"PatchPlaidCredentialRequest":{"type":"object","description":"Plaid credential.","required":["type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"websiteId":{"type":"string","description":"ID of the website that is assigned to the Plaid account.\nIf this value is not set, credentials are for all websites.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"clientId":{"type":"string","description":"ID of the Plaid client.","example":"5efc712byyf502zz11f9bexx"},"secretToken":{"type":"string","description":"Plaid secret token.","format":"password","example":"d184cfdgdb4597dfsa9365f59356b"},"useStripe":{"type":"boolean","description":"Specifies if a Stripe integration is enabled for the Plaid account.\nThis setting enables the creation of Stripe bank account tokens.","default":false,"example":true},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["plaid"]}}},"PatchTaxJarCredentialRequest":{"type":"object","description":"TaxJar credential.","required":["status","type"],"properties":{"status":{"description":"Status of the credential.","type":"string","enum":["active","inactive","deactivated"],"x-enumDescriptions":{"active":"Credential is active and can be used.","inactive":"Credential is temporarily inactivated and cannot be used until reactivated.","deactivated":"Credential is permanently deactivated and cannot be reactivated."}},"omitFromAddress":{"type":"boolean","description":"Specifies if `from_` address fields must be omitted in TaxJar request.\nFor more information, see [TaxJar API guide](https://developers.taxjar.com/api/guides/#when-to-use-from_-address-information).","example":false},"type":{"description":"Type of the credential.\nValue that matches the `{type}` path parameter.\nFor backward compatibility, when this field is absent,\nthe `{type}` path parameter supplies the credential type.","type":"string","enum":["taxjar"]}}},"CustomDomain":{"type":"object","required":["domain"],"properties":{"id":{"description":"ID of the custom domain.","type":"string","maxLength":255,"readOnly":true},"domain":{"description":"Fully qualified domain name.","type":"string","maxLength":255},"isVerified":{"description":"True if the domain is verified by Rebilly.","type":"boolean","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EmailDeliverySetting":{"type":"object","required":["from","name"],"properties":{"id":{"type":"string","description":"ID of the email delivery setting.","readOnly":true,"maxLength":50,"example":"mail_dst_0YVCNQV8PSCERAJ7N1V4WWPZN2"},"from":{"description":"Email address of the sender.\n\n> **Important:** This email address must be unique within your account.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"name":{"description":"Name of the sender.","type":"string","example":"John Doe"},"status":{"description":"Status of the email message.","readOnly":true,"type":"string","enum":["pending","verified"]},"credentialId":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"provider":{"readOnly":true,"description":"Email service provider name.","type":"string","enum":["rebilly","smtp","aws-ses","mailgun","postmark","sendgrid"],"example":"rebilly"},"isDefault":{"type":"boolean","description":"Specifies if the email delivery setting is used by default.","default":false},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EmailMessage":{"type":"object","required":["from","to","subject","text","html"],"properties":{"id":{"type":"string","description":"ID of the email message.","readOnly":true,"maxLength":50,"example":"mail_msg_0YVCNR8ZRBCVMAX28DP4XRFZVA"},"status":{"description":"Status of the email message.","type":"string","enum":["draft","outbox","sent","failed"],"default":"draft"},"metadata":{"description":"Metadata associated with the email message.","type":["object","null"],"additionalProperties":{"type":"string"},"example":{"eventType":"subscription-canceled"}},"credentialHash":{"type":["string","null"],"description":"ID of the SMTP or Email Service Provider (ESP) credential.","example":"b120c2ca-6c2b-4690-9dff-3b0d87852dc7"},"from":{"description":"Email address of the sender.","type":"string","format":"email","maxLength":254,"example":"from-example@rebilly.com"},"to":{"description":"List of email addresses to which the email message is sent.","type":"array","minItems":1,"items":{"type":"string","format":"email","maxLength":254},"example":["to-example@rebilly.com"]},"cc":{"description":"List of CC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"bcc":{"description":"List of BCC email addresses to which the email message is sent.","type":"array","items":{"type":"string","format":"email","maxLength":254},"example":["cc-example@rebilly.com"]},"subject":{"description":"Subject of the email message.","type":"string","maxLength":998,"example":"Welcome dear customer!"},"text":{"description":"Body of the email message in plain text.","type":"string","example":"Email message text body"},"html":{"description":"Body of the email message in HTML format.","type":"string","example":"<p>Email message html body</p>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"description":"Type of attachment resource.","type":"string","example":"invoice"},"resourceId":{"type":"string","description":"ID of the attachment resource.","maxLength":50,"example":"att_0YV7J787J0DW0918MQQMDHWA7M"}}}},"responseCode":{"type":["integer","null"],"description":"Status code returned by a mail service after an attempt to send email.","readOnly":true,"example":250},"responseBody":{"type":["string","null"],"description":"Body of response returned by a mail service after an attempt to send email.","readOnly":true},"initiatedTime":{"type":["string","null"],"description":"Date and time when the email is initiated.","format":"date-time","readOnly":true},"sentTime":{"type":["string","null"],"description":"Date and time when the email is sent.","format":"date-time","readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"EventType":{"type":"string","description":"Type of Rebilly event.","readOnly":true,"enum":["account-password-reset-requested","account-verification-requested","aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","customer-created","customer-one-time-password-requested","customer-updated","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-revenue-recognized","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-modified","kyc-document-rejected","kyc-request-fulfilled","order-abandon-reminder","order-abandoned","order-completed","order-change-applied","order-change-canceled","order-change-created","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-created","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","ready-to-payout-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","trial-usage-limit-reached","order-delinquency-reached","autodeposit-lookup-performed"]},"EmailNotification":{"type":"object","description":"Email notification event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"count":{"type":"integer","readOnly":true,"description":"Total number of binds with `send-email` actions per event."},"activeCount":{"type":"integer","readOnly":true,"description":"Number of active binds with `send-email` actions per event."},"notifications":{"readOnly":true,"type":"array","description":"List of notifications.","items":{"type":"object","properties":{"labels":{"description":"Labels of the notification.","type":"array","items":{"type":"string"}},"title":{"type":"string","description":"Title of the notification."},"isActive":{"type":"boolean","description":"Specifies if the notification is enabled."}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SystemEvent":{"type":"object","description":"Application event.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"description":"Title of the system event.","type":"string"},"description":{"description":"Description of the system event.","type":"string"},"category":{"description":"Category of system event.","type":"string","enum":["billing","payments"]},"rulesCount":{"description":"Total number of rules associated with the system event.\nA rule is a configuration of an event and one or more actions.\nA rule can be configured to stop subsequent rules in the event list from being executed.","type":"integer","readOnly":true},"bindsCount":{"description":"Total number of binds associated with the system event.\nA bind is a configuration of an event and one or more actions.","type":"integer","readOnly":true},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}},"RuleAction":{"type":"object","discriminator":{"propertyName":"name","mapping":{"abandon-scheduled-payments":"#/components/schemas/RuleActionAbandonScheduledPayments","add-risk-score":"#/components/schemas/RuleActionAddRiskScore","adjust-ready-to-pay":"#/components/schemas/RuleActionAdjustReadyToPay","adjust-ready-to-payout":"#/components/schemas/RuleActionAdjustReadyToPayout","blocklist":"#/components/schemas/RuleActionAddBlockList","cancel-scheduled-payments":"#/components/schemas/RuleActionCancelScheduledPayments","create-intuit-quickbooks-balance-transaction-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksBalanceTransactionEntry","create-intuit-quickbooks-invoice":"#/components/schemas/RuleActionCreateIntuitQuickbooksInvoice","create-intuit-quickbooks-payment":"#/components/schemas/RuleActionCreateIntuitQuickbooksPayment","create-intuit-quickbooks-refund-receipt":"#/components/schemas/RuleActionCreateIntuitQuickbooksRefundReceipt","create-intuit-quickbooks-revenue-recognition-entry":"#/components/schemas/RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry","decline-transaction":"#/components/schemas/RuleActionDeclineTransaction","check-ontario-restriction":"#/components/schemas/RuleActionCheckOntarioRestriction","display-other-choices":"#/components/schemas/RuleActionDisplayOtherChoices","guess-payment-card-expiration":"#/components/schemas/RuleActionGuessPaymentCardExpiration","perform-experian-check":"#/components/schemas/RuleActionPerformExperianCheck","pick-gateway-account":"#/components/schemas/RuleActionPickGatewayAccount","request-kyc":"#/components/schemas/RuleActionRequestKyc","request-physical-address":"#/components/schemas/RuleActionRequestPhysicalAddress","schedule-invoice-retry":"#/components/schemas/RuleActionScheduleInvoiceRetry","schedule-payment":"#/components/schemas/RuleActionSchedulePayment","schedule-reminder":"#/components/schemas/RuleActionScheduleReminder","send-email":"#/components/schemas/RuleActionSendEmail","stop-subscriptions":"#/components/schemas/RuleActionStopSubscriptions","tag-or-untag-customer":"#/components/schemas/RuleActionTagOrUntagCustomer","update-intuit-quickbooks-invoice":"#/components/schemas/RuleActionUpdateIntuitQuickbooksInvoice","void-intuit-quickbooks-invoice":"#/components/schemas/RuleActionVoidIntuitQuickbooksInvoice"}},"properties":{"name":{"type":"string","description":"Name of the action.","enum":["abandon-scheduled-payments","add-risk-score","adjust-ready-to-pay","adjust-ready-to-payout","blocklist","cancel-scheduled-payments","create-intuit-quickbooks-balance-transaction-entry","create-intuit-quickbooks-invoice","create-intuit-quickbooks-payment","create-intuit-quickbooks-refund-receipt","create-intuit-quickbooks-revenue-recognition-entry","decline-transaction","check-ontario-restriction","display-other-choices","guess-payment-card-expiration","perform-experian-check","pick-gateway-account","remove-reminder","request-kyc","request-physical-address","reset-reminder","schedule-invoice-retry","schedule-payment","schedule-reminder","send-email","stop-subscriptions","tag-or-untag-customer","update-intuit-quickbooks-invoice","void-intuit-quickbooks-invoice","trigger-webhook","show-descriptor-disclaimer"]},"status":{"description":"Status of the action.","type":"string","default":"active","enum":["active","inactive"]}},"required":["name"]},"RuleActionAbandonScheduledPayments":{"description":"Abandon scheduled payments for an order that exceeds the configured delinquency period.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionAddRiskScore":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Add risk score.","properties":{"score":{"type":"integer","default":0}}}]},"AdjustReadyToPayPaymentCard":{"type":"object","title":"Payment card","properties":{"paymentMethod":{"type":"string","enum":["payment-card"]},"feature":{"type":["string","null"],"description":"Name of the feature.","enum":["Apple Pay","Google Pay"]}}},"AdjustReadyToPayAch":{"type":"object","title":"ACH","properties":{"paymentMethod":{"type":"string","enum":["ach"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["Plaid"]}}},"AdjustReadyToPayPaypal":{"type":"object","title":"PayPal","properties":{"paymentMethod":{"type":"string","enum":["paypal"]},"feature":{"type":["string","null"],"description":"Feature name.","enum":["PayPal billing agreement"]}}},"AdjustReadyToPayGeneric":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","allOf":[{"$ref":"#/components/schemas/AlternativePaymentMethods"},{"not":{"enum":["paypal"]}}]},"feature":{"type":["string","null"]}}},"AdjustPaymentMethod":{"type":"object","required":["paymentMethod","feature"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayPaymentCard","ach":"#/components/schemas/AdjustReadyToPayAch","paypal":"#/components/schemas/AdjustReadyToPayPaypal","cash":"#/components/schemas/AdjustReadyToPayGeneric","check":"#/components/schemas/AdjustReadyToPayGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayGeneric","Alipay":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayGeneric","Baloto":"#/components/schemas/AdjustReadyToPayGeneric","Beeline":"#/components/schemas/AdjustReadyToPayGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayGeneric","Bizum":"#/components/schemas/AdjustReadyToPayGeneric","Boleto":"#/components/schemas/AdjustReadyToPayGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayGeneric","Cleo":"#/components/schemas/AdjustReadyToPayGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayGeneric","echeck":"#/components/schemas/AdjustReadyToPayGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Efecty":"#/components/schemas/AdjustReadyToPayGeneric","EPS":"#/components/schemas/AdjustReadyToPayGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayGeneric","Giropay":"#/components/schemas/AdjustReadyToPayGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayGeneric","iDebit":"#/components/schemas/AdjustReadyToPayGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayGeneric","Interac":"#/components/schemas/AdjustReadyToPayGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayGeneric","invoice":"#/components/schemas/AdjustReadyToPayGeneric","iWallet":"#/components/schemas/AdjustReadyToPayGeneric","Jeton":"#/components/schemas/AdjustReadyToPayGeneric","jpay":"#/components/schemas/AdjustReadyToPayGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayGeneric","Klarna":"#/components/schemas/AdjustReadyToPayGeneric","KNOT":"#/components/schemas/AdjustReadyToPayGeneric","loonie":"#/components/schemas/AdjustReadyToPayGeneric","Matrix":"#/components/schemas/AdjustReadyToPayGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayGeneric","Megafon":"#/components/schemas/AdjustReadyToPayGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayGeneric","MTS":"#/components/schemas/AdjustReadyToPayGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayGeneric","Neteller":"#/components/schemas/AdjustReadyToPayGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayGeneric","OXXO":"#/components/schemas/AdjustReadyToPayGeneric","P24":"#/components/schemas/AdjustReadyToPayGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayGeneric","PayCash":"#/components/schemas/AdjustReadyToPayGeneric","Payeer":"#/components/schemas/AdjustReadyToPayGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayGeneric","Paymero":"#/components/schemas/AdjustReadyToPayGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayGeneric","Paynote":"#/components/schemas/AdjustReadyToPayGeneric","PinPay":"#/components/schemas/AdjustReadyToPayGeneric","phone":"#/components/schemas/AdjustReadyToPayGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayGeneric","POLi":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayGeneric","QIWI":"#/components/schemas/AdjustReadyToPayGeneric","QPay":"#/components/schemas/AdjustReadyToPayGeneric","QQPay":"#/components/schemas/AdjustReadyToPayGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayGeneric","Resurs":"#/components/schemas/AdjustReadyToPayGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayGeneric","SEPA":"#/components/schemas/AdjustReadyToPayGeneric","Skrill":"#/components/schemas/AdjustReadyToPayGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayGeneric","Sofort":"#/components/schemas/AdjustReadyToPayGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayGeneric","Tele2":"#/components/schemas/AdjustReadyToPayGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayGeneric","Trustly":"#/components/schemas/AdjustReadyToPayGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayGeneric","UPI":"#/components/schemas/AdjustReadyToPayGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayGeneric","voucher":"#/components/schemas/AdjustReadyToPayGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayGeneric","Webpay":"#/components/schemas/AdjustReadyToPayGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayPaymentCard"},{"$ref":"#/components/schemas/AdjustReadyToPayAch"},{"$ref":"#/components/schemas/AdjustReadyToPayPaypal"},{"$ref":"#/components/schemas/AdjustReadyToPayGeneric"}]},"RuleActionAdjustReadyToPay":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to pay.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if the payment methods associated to with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of payment methods allowed.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustPaymentMethod"}}}}]},"AdjustReadyToPayoutGeneric":{"type":"object","title":"Generic","properties":{"paymentMethod":{"description":"Payment method of the payment instrument.","$ref":"#/components/schemas/AlternativePaymentMethods"}}},"AdjustReadyToPayoutPaymentMethod":{"type":"object","required":["paymentMethod"],"discriminator":{"propertyName":"paymentMethod","mapping":{"payment-card":"#/components/schemas/AdjustReadyToPayoutGeneric","ach":"#/components/schemas/AdjustReadyToPayoutGeneric","paypal":"#/components/schemas/AdjustReadyToPayoutGeneric","cash":"#/components/schemas/AdjustReadyToPayoutGeneric","check":"#/components/schemas/AdjustReadyToPayoutGeneric","AdvCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Alfa-click":"#/components/schemas/AdjustReadyToPayoutGeneric","Alipay":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","AstroPay-GO":"#/components/schemas/AdjustReadyToPayoutGeneric","BankReferenced":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-2":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-3":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-4":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-5":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-6":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-7":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-8":"#/components/schemas/AdjustReadyToPayoutGeneric","bank-transfer-9":"#/components/schemas/AdjustReadyToPayoutGeneric","Baloto":"#/components/schemas/AdjustReadyToPayoutGeneric","Beeline":"#/components/schemas/AdjustReadyToPayoutGeneric","Belfius-direct-net":"#/components/schemas/AdjustReadyToPayoutGeneric","bitcoin":"#/components/schemas/AdjustReadyToPayoutGeneric","Bizum":"#/components/schemas/AdjustReadyToPayoutGeneric","Boleto":"#/components/schemas/AdjustReadyToPayoutGeneric","cash-deposit":"#/components/schemas/AdjustReadyToPayoutGeneric","CASHlib":"#/components/schemas/AdjustReadyToPayoutGeneric","CashToCode":"#/components/schemas/AdjustReadyToPayoutGeneric","China UnionPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Cleo":"#/components/schemas/AdjustReadyToPayoutGeneric","CODVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Conekta-oxxo":"#/components/schemas/AdjustReadyToPayoutGeneric","Cupon-de-pagos":"#/components/schemas/AdjustReadyToPayoutGeneric","cryptocurrency":"#/components/schemas/AdjustReadyToPayoutGeneric","domestic-cards":"#/components/schemas/AdjustReadyToPayoutGeneric","echeck":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoPayz":"#/components/schemas/AdjustReadyToPayoutGeneric","ecoVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Efecty":"#/components/schemas/AdjustReadyToPayoutGeneric","EPS":"#/components/schemas/AdjustReadyToPayoutGeneric","ePay.bg":"#/components/schemas/AdjustReadyToPayoutGeneric","eZeeWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","FasterPay":"#/components/schemas/AdjustReadyToPayoutGeneric","Flexepin":"#/components/schemas/AdjustReadyToPayoutGeneric","Giropay":"#/components/schemas/AdjustReadyToPayoutGeneric","Gpaysafe":"#/components/schemas/AdjustReadyToPayoutGeneric","Google Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","iDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","iDEAL":"#/components/schemas/AdjustReadyToPayoutGeneric","ING-homepay":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-pin":"#/components/schemas/AdjustReadyToPayoutGeneric","INOVAPAY-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","InstaDebit":"#/components/schemas/AdjustReadyToPayoutGeneric","instant-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","InstantPayments":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-online":"#/components/schemas/AdjustReadyToPayoutGeneric","Interac-eTransfer":"#/components/schemas/AdjustReadyToPayoutGeneric","invoice":"#/components/schemas/AdjustReadyToPayoutGeneric","iWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","Jeton":"#/components/schemas/AdjustReadyToPayoutGeneric","jpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Khelocard":"#/components/schemas/AdjustReadyToPayoutGeneric","Klarna":"#/components/schemas/AdjustReadyToPayoutGeneric","KNOT":"#/components/schemas/AdjustReadyToPayoutGeneric","loonie":"#/components/schemas/AdjustReadyToPayoutGeneric","Matrix":"#/components/schemas/AdjustReadyToPayoutGeneric","MaxiCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Megafon":"#/components/schemas/AdjustReadyToPayoutGeneric","MiFinity-eWallet":"#/components/schemas/AdjustReadyToPayoutGeneric","miscellaneous":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact":"#/components/schemas/AdjustReadyToPayoutGeneric","Bancontact-mobile":"#/components/schemas/AdjustReadyToPayoutGeneric","MTS":"#/components/schemas/AdjustReadyToPayoutGeneric","MuchBetter":"#/components/schemas/AdjustReadyToPayoutGeneric","Multibanco":"#/components/schemas/AdjustReadyToPayoutGeneric","Neosurf":"#/components/schemas/AdjustReadyToPayoutGeneric","Netbanking":"#/components/schemas/AdjustReadyToPayoutGeneric","Neteller":"#/components/schemas/AdjustReadyToPayoutGeneric","Nordea-Solo":"#/components/schemas/AdjustReadyToPayoutGeneric","OchaPay":"#/components/schemas/AdjustReadyToPayoutGeneric","online-bank-transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","Onlineueberweisen":"#/components/schemas/AdjustReadyToPayoutGeneric","oriental-wallet":"#/components/schemas/AdjustReadyToPayoutGeneric","OXXO":"#/components/schemas/AdjustReadyToPayoutGeneric","P24":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagadito":"#/components/schemas/AdjustReadyToPayoutGeneric","PagoEffectivo":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-deposit-express":"#/components/schemas/AdjustReadyToPayoutGeneric","Pagsmile-lottery":"#/components/schemas/AdjustReadyToPayoutGeneric","PayCash":"#/components/schemas/AdjustReadyToPayoutGeneric","Payeer":"#/components/schemas/AdjustReadyToPayoutGeneric","PaymentAsia-crypto":"#/components/schemas/AdjustReadyToPayoutGeneric","Paymero":"#/components/schemas/AdjustReadyToPayoutGeneric","Perfect-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Piastrix":"#/components/schemas/AdjustReadyToPayoutGeneric","plaid-account":"#/components/schemas/AdjustReadyToPayoutGeneric","PayTabs":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecard":"#/components/schemas/AdjustReadyToPayoutGeneric","Paysafecash":"#/components/schemas/AdjustReadyToPayoutGeneric","Pay4Fun":"#/components/schemas/AdjustReadyToPayoutGeneric","Paynote":"#/components/schemas/AdjustReadyToPayoutGeneric","PinPay":"#/components/schemas/AdjustReadyToPayoutGeneric","phone":"#/components/schemas/AdjustReadyToPayoutGeneric","PhonePe":"#/components/schemas/AdjustReadyToPayoutGeneric","POLi":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-card":"#/components/schemas/AdjustReadyToPayoutGeneric","PostFinance-e-finance":"#/components/schemas/AdjustReadyToPayoutGeneric","QIWI":"#/components/schemas/AdjustReadyToPayoutGeneric","QPay":"#/components/schemas/AdjustReadyToPayoutGeneric","QQPay":"#/components/schemas/AdjustReadyToPayoutGeneric","rapyd-checkout":"#/components/schemas/AdjustReadyToPayoutGeneric","Resurs":"#/components/schemas/AdjustReadyToPayoutGeneric","SafetyPay":"#/components/schemas/AdjustReadyToPayoutGeneric","SEPA":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill":"#/components/schemas/AdjustReadyToPayoutGeneric","Skrill Rapid Transfer":"#/components/schemas/AdjustReadyToPayoutGeneric","SMSVoucher":"#/components/schemas/AdjustReadyToPayoutGeneric","Sofort":"#/components/schemas/AdjustReadyToPayoutGeneric","SparkPay":"#/components/schemas/AdjustReadyToPayoutGeneric","swift-dbt":"#/components/schemas/AdjustReadyToPayoutGeneric","Tele2":"#/components/schemas/AdjustReadyToPayoutGeneric","Terminaly-RF":"#/components/schemas/AdjustReadyToPayoutGeneric","ToditoCash-card":"#/components/schemas/AdjustReadyToPayoutGeneric","Trustly":"#/components/schemas/AdjustReadyToPayoutGeneric","UPayCard":"#/components/schemas/AdjustReadyToPayoutGeneric","UPI":"#/components/schemas/AdjustReadyToPayoutGeneric","USD-coin":"#/components/schemas/AdjustReadyToPayoutGeneric","VCreditos":"#/components/schemas/AdjustReadyToPayoutGeneric","VenusPoint":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-2":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-3":"#/components/schemas/AdjustReadyToPayoutGeneric","voucher-4":"#/components/schemas/AdjustReadyToPayoutGeneric","Webmoney":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay-2":"#/components/schemas/AdjustReadyToPayoutGeneric","Webpay Card":"#/components/schemas/AdjustReadyToPayoutGeneric","WeChat Pay":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-P2P":"#/components/schemas/AdjustReadyToPayoutGeneric","XPay-QR":"#/components/schemas/AdjustReadyToPayoutGeneric","Yandex-money":"#/components/schemas/AdjustReadyToPayoutGeneric","Zotapay":"#/components/schemas/AdjustReadyToPayoutGeneric","Zimpler":"#/components/schemas/AdjustReadyToPayoutGeneric"}},"oneOf":[{"$ref":"#/components/schemas/AdjustReadyToPayoutGeneric"}]},"RuleActionAdjustReadyToPayout":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Adjust ready to payout.","properties":{"prioritizeActivePaymentInstruments":{"type":"boolean","default":false,"description":"Specifies if payment methods that are associated with the customer's active payment instruments are displayed at the top of the list.\nIf this value is set to `true`, these payment methods appear at the top."},"paymentMethods":{"type":"array","description":"Ordered list of allowed payment methods.\nIf no value is provided, no payment methods are allowed.","items":{"$ref":"#/components/schemas/AdjustReadyToPayoutPaymentMethod"}}}}]},"RuleActionAddBlockList":{"description":"Add customer data to blocklist.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"type":{"type":"string","enum":["customer-id","email","fingerprint","ip-address","payment-card"]},"ttl":{"type":"integer","description":"Blocklist TTL.\nThe default value is zero, which means the blocklist record does not expire.","default":0}},"required":["type"]}]},"RuleActionCancelScheduledPayments":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"skipStartedServicePeriod":{"type":"boolean","description":"Skip invoices with started service period.","default":false}}}]},"RuleActionCreateIntuitQuickbooksBalanceTransactionEntry":{"description":"Create an Intuit QuickBooks balance transaction entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks balance transaction entry description.\n\nFor example, `Balance transaction of type {{ balanceTransaction.type }} for transaction #{{ transaction.id }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]},"RuleActionCreateIntuitQuickbooksInvoice":{"description":"Create an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."},"customerDisplayName":{"description":"Customer display name in QuickBooks. Duplicate names are mapped to a single QuickBooks customer.\n\nEvent placeholders could be used as follows:\n- Organization name: `{{ invoice.customer.primaryAddress.organization }}`;\n- Full customer name: `{{ invoice.customer.firstName }} {{ invoice.customer.lastName }}`;\n- Customer ID: `{{ invoice.customer.id }}`.","type":"string"}},"required":["credentialHash","customerDisplayName","unearnedRevenueAccount","customerDisplayName"]}]},"RuleActionCreateIntuitQuickbooksPayment":{"description":"Create an Intuit QuickBooks payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]},"RuleActionCreateIntuitQuickbooksRefundReceipt":{"description":"Create an Intuit QuickBooks refund receipt.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"depositAccount":{"description":"ID of the deposit QuickBooks account.","type":"string"},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","depositAccount"]}]},"RuleActionCreateIntuitQuickbooksRevenueRecognitionEntry":{"description":"Create an Intuit QuickBooks revenue recognition entry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"debitAccount":{"description":"ID of the debit QuickBooks account.","type":"string"},"creditAccount":{"description":"ID of the credit QuickBooks account.","type":"string"},"description":{"description":"QuickBooks revenue recognition entry description.\n\nFor example, `Revenue recognition for invoice #{{ invoice.id }} item #{{ item.id }} – {{ item.description }}`.","type":"string"},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","debitAccount","creditAccount","description"]}]},"RuleActionDeclineTransaction":{"description":"Decline transaction.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionCheckOntarioRestriction":{"description":"Decline transactions not conforming to the Ontario restrictions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionDisplayOtherChoices":{"description":"Display other choices.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"choices":{"type":"array","minItems":1,"items":{"type":"object","properties":{"langIso":{"description":"Language in ISO 639-1 code format.","type":"string"},"content":{"type":"string"}},"required":["langIso","content"]}}},"required":["choices"]}]},"RuleActionGuessPaymentCardExpiration":{"allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionPerformExperianCheck":{"description":"Perform Experian ProveID check on the customer.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"experianCredentialHash":{"description":"Hash of the Experian credential to use for performing the check.","type":"string","example":"58816e40-387e-4834-982f-fa1855a75f64"},"tagOnApprove":{"description":"Tag ID that should be used to tag the customer when the identity matches Experian records.","type":"string"},"tagOnReject":{"description":"Tag ID that should be used to tag the customer when the identity doesn't match Experian records.","type":"string"},"tagOnUnknown":{"description":"Tag ID that should be used to tag the customer when the identity is not found in Experian records or further analysis needed.","type":"string"}},"required":["experianCredentialHash"]}]},"GatewayAccountPickInstruction":{"type":"object","discriminator":{"propertyName":"method","mapping":{"gateway-account-weights":"#/components/schemas/PickInstructionGatewayAccountWeights","gateway-acquirer-weights":"#/components/schemas/PickInstructionGatewayAcquirerWeights"}},"properties":{"strategy":{"type":"string","enum":["weighted-random","round-robin"],"description":"Controls the picking strategy for gateway accounts.\nThe weighted-random strategy picks based on weighted-random every time.\nThe round-robin strategy tries a weighted-random different gateway account for consecutive attempts from same payment instrument.","default":"weighted-random"},"method":{"type":"string","enum":["gateway-account-weights","gateway-acquirer-weights"]}},"required":["method"]},"PickInstructionGatewayAccountWeights":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayAccountId":{"type":"string","description":"Unique resource ID.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"weight":{"type":"integer","minimum":0}},"required":["gatewayAccountId","weight"]},"example":[{"gatewayAccountId":"my_gateway_account_1","weight":80},{"gatewayAccountId":"my_gateway_account_2","weight":20}]}},"required":["weightedList"]}]},"PickInstructionGatewayAcquirerWeights":{"allOf":[{"$ref":"#/components/schemas/GatewayAccountPickInstruction"},{"type":"object","properties":{"weightedList":{"type":"array","uniqueItems":true,"minimum":0,"items":{"type":"object","properties":{"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"$ref":"#/components/schemas/AcquirerName"},"weight":{"type":"integer","minimum":0}},"required":["gatewayName","acquirerName","weight"]},"example":[{"gatewayName":"TestProcessor","acquirerName":"AIB","weight":80},{"gatewayName":"TestProcessor","acquirerName":"B+S","weight":20}]}},"required":["weightedList"]}]},"RuleActionPickGatewayAccount":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"pickInstruction":{"$ref":"#/components/schemas/GatewayAccountPickInstruction"}},"required":["pickInstruction"]}]},"RuleActionRequestKyc":{"description":"Request KYC page to verify customer identity.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"documents":{"type":"array","description":"Documents to request from the customer.","minItems":1,"items":{"$ref":"#/components/schemas/KycRequestDocument"}},"excludePolicy":{"type":"string","description":"Specifies who should be excluded from the verification.","enum":["customers-with-accepted-document","customers-with-document","none"],"default":"customers-with-accepted-document"},"isMandatory":{"type":"boolean","description":"Is the verification mandatory.","default":true},"promptPolicy":{"type":"string","description":"When to prompt, before or after processing the transaction.","enum":["before-transaction-process","after-transaction-process"],"default":"before-transaction-process"},"rejectedBeforeTransactionProcessPolicy":{"type":"string","description":"What to do if verification is before transaction processing, and is rejected.","enum":["process-transaction","decline","use-alternate-gateway"],"default":"decline"},"alternateGatewayAccountIfRejected":{"type":"string","description":"Gateway account to use if use-alternate-gateway is selected for rejectedBeforeTransactionProcessPolicy."},"rejectedAfterTransactionProcessPolicy":{"type":"string","description":"What to do if verification is after transaction processing, and is rejected.","enum":["proceed"],"default":"proceed"},"optionalPolicy":{"type":"string","description":"What to do if verification is optional.","enum":["allow-bypass","allow-use-alternate-gateway"],"default":"allow-bypass"},"alternateGatewayAccountIfOptional":{"type":"string","description":"Gateway account to use if allow-use-alternate-gateway is selected for optionalPolicy."},"bypassCurrencyToDisplay":{"description":"Currency three letter code to display on the bypass link, if optional.","type":"string","default":"USD"}},"required":["documents","excludePolicy","isMandatory","promptPolicy","rejectedBeforeTransactionProcessPolicy","rejectedAfterTransactionProcessPolicy","optionalPolicy"]}]},"RuleActionRequestPhysicalAddress":{"description":"Displays a Rebilly-hosted page where the customer can provide a street address and postal code before the payment is sent to the gateway.\nThe page is displayed only if the customer's primary address is a PO Box.\nThe submitted values are stored in the `referenceData` field of the transaction using the `physicalAddress` and `physicalAddressPostalCode` keys.\nAfter the customer provides an address, the page is not displayed on their later payments.\nIf the customer skips this step, the page is displayed again on their next payment.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"instructionsText":{"description":"Text that is displayed above the form.\nHTML is permitted.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":65535},"buttonText":{"description":"Text of the button that the customer can press to submit the address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255},"skipLinkText":{"description":"Text of the link that the customer can select to skip the address step and continue the payment without providing an address.\nIf this value is omitted or null, the default text is displayed in the customer's language.","type":["string","null"],"maxLength":255}}}]},"RuleActionScheduleInvoiceRetry":{"description":"Schedule an invoice retry.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"attempts":{"type":"array","description":"Describes the retry instruction.","minItems":1,"items":{"type":"object","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/InvoiceRetryScheduleInstruction"},"amountAdjustmentInstruction":{"$ref":"#/components/schemas/InvoiceRetryAmountAdjustmentInstruction"},"tryBackupInstruments":{"description":"Specifies whether to use backup payment instruments on an invoice payment retry.","type":"boolean","default":false}},"required":["scheduleInstruction"]}},"afterAttemptPolicies":{"description":"Policy on the attempt finishes.","type":"array","items":{"type":"string","enum":["change-subscription-renewal-time"]}},"afterRetryEndPolicies":{"description":"Policy on the retry ends.","type":"array","items":{"type":"string","enum":["abandon-invoice","cancel-subscription"]}},"overrideRetryInstruction":{"description":"Specifies whether to replace the existing retry.","type":"boolean"}},"required":["attempts","afterAttemptPolicies","afterRetryEndPolicies","overrideRetryInstruction"]}]},"SchedulingMethodAuto":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["auto"]}}},"ScheduleInstruction":{"type":"object","description":"Specifies when the instruction is performed.","discriminator":{"propertyName":"method","mapping":{"auto":"#/components/schemas/SchedulingMethodAuto","date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek","day-and-month-of-year":"#/components/schemas/SchedulingMethodDayAndMonthOfYear","immediately":"#/components/schemas/SchedulingMethodImmediately","intelligent":"#/components/schemas/SchedulingMethodIntelligent"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodAuto"},{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"},{"$ref":"#/components/schemas/SchedulingMethodDayAndMonthOfYear"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"},{"$ref":"#/components/schemas/SchedulingMethodIntelligent"}]},"RuleActionSchedulePayment":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","description":"Calculation instruction of scheduled time for payment.","properties":{"scheduleInstruction":{"$ref":"#/components/schemas/ScheduleInstruction"},"amountPolicy":{"type":"string","enum":["invoice-amount-due"]}},"required":["scheduleInstruction","amountPolicy"]}]},"ReminderScheduleInstruction":{"type":"object","description":"Calculation instruction of the scheduled time.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","day-of-month":"#/components/schemas/SchedulingMethodDayOfMonth","day-of-week":"#/components/schemas/SchedulingMethodDayOfWeek"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodDayOfMonth"},{"$ref":"#/components/schemas/SchedulingMethodDayOfWeek"}]},"RuleActionScheduleReminder":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","deprecated":true,"properties":{"role":{"type":"string","enum":["all","renewal","trial-end"],"description":"Specifies the types of events that the reminder is applicable to.\nThe `renewal` and `trial-end` options are only available for order events.\nOther events must use the `all` option."},"schedule":{"type":"object","description":"Collection of schedule instructions.","properties":{"instructions":{"type":"array","items":{"$ref":"#/components/schemas/ReminderScheduleInstruction"}},"chronology":{"type":"string","enum":["before","after"]}},"required":["instructions","chronology"]}},"required":["role"]}]},"RulesEmailNotification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the message."},"version":{"type":"string","description":"Version number of the message.\nUse this field to distinguish between multiple messages by name and version number.\nIf there are no versions, this field is empty."},"weight":{"type":"integer","description":"Weight distribution value that is assigned to a template for a split test.\nEach template in a split test can be assigned a weight.\nThe higher the weight value, the more likely the message template is used.\n\nThe split test algorithm does not assess locale when making a weighted template selection.","minimum":0,"maximum":100,"example":75,"default":100},"templates":{"description":"Array of message templates with language locale identifiers in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.\nA language is selected based on the customer's locale.\n\nIf no locale is configured for the customer, `en-US` (US English) is used.\n\nIf no template is available in the customer's locale,\na template locale is selected using a closest match algorithm.\n\nIf your email message templates are localized into more than one language,\nset a customer locale.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.","type":"array","minItems":1,"items":{"type":"object","required":["locale","subject","text","html","from","to"],"properties":{"locale":{"type":"string","description":"Language locale identifier in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.","example":"fr-FR"},"from":{"type":"string","description":"Email address of the sender.\n\n> **Important:** This value must be a verified email address.\n\nTo verify an email address:\n  1. [Create an email delivery setting](https://www.rebilly.com/catalog/all/email-delivery-settings/postemaildeliverysetting/).\n    In the response, you receive the email and a token.\n  1. [Verify the email delivery](https://www.rebilly.com/catalog/all/email-delivery-settings/putemaildeliverysettingsverification/) by passing the token as the path parameter.\n\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to a verified `from` address,\nthe default verified `from` address is used.","maxLength":254,"example":"example@example.com"},"to":{"type":"array","description":"List of email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","minItems":1,"items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"cc":{"type":"array","description":"List of CC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"bcc":{"type":"array","description":"List of BCC email addresses to which the email message is sent.\nTemplate placeholders are permitted.\nIf a placeholder does not resolve to an email address,\nthe address is not added.","items":{"type":"string","maxLength":254,"example":"{{ invoice.customer.email }}"}},"subject":{"type":"string","description":"Subject of the message.\nThe use of template placeholders is permitted for this field.","maxLength":998,"example":"Demonstration subject"},"text":{"type":"string","description":"Text body of the message.\nTo use content from the `html` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"Demonstration text"},"html":{"type":"string","description":"HTML body of the message.\nTo use content from the `text` field, leave this field empty.\nThe use of template placeholders is permitted for this field.","example":"<p>Demonstration text</p>"},"editor":{"type":"string","description":"Source of the message.\nThis value is required for the email editor.\nThis value is not used for sending emails.\nIt is used by the editor to reproduce the message for future updates.","example":"<div class=\"block\">Demonstration text</div>"},"attachments":{"description":"Attachments of the email message.","type":"array","items":{"type":"object","required":["resourceType","resourceId"],"properties":{"resourceType":{"type":"string","description":"Type of the attachment resource.","example":"customer"},"resourceId":{"type":"string","description":"ID of the attachment resource.\nTemplate placeholders are permitted.","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"}}}}},"example":{"locale":"fr-FR","from":"example@example.com","to":["{{ invoice.customer.email }}"],"subject":"Sujet de démonstration","text":"Texte de démonstration","html":"<p>Texte de démonstration</p>","editor":"<div class=\"block\">Texte de démonstration</div>"}}}},"required":["templates"]},"RuleActionSendEmail":{"allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"ID of the action."},"title":{"type":"string","description":"Title of the messages (this title appears in reports)."},"emails":{"type":"array","description":"List of messages.","minItems":1,"items":{"$ref":"#/components/schemas/RulesEmailNotification"}},"splitTestStartTime":{"type":"string","format":"date-time","description":"Split test start time."}},"required":["emails"]}]},"RuleActionStopSubscriptions":{"description":"Stop active subscriptions.","allOf":[{"$ref":"#/components/schemas/RuleAction"}]},"RuleActionTagOrUntagCustomer":{"description":"Tag or untag a customer with a specified list of tags.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"addingTags":{"description":"List of tag ID customer should be tagged with.","type":"array","maxItems":1000,"items":{"type":"string"}},"removingTags":{"description":"List of tag ID customer should be untagged from.","type":"array","maxItems":1000,"items":{"type":"string"}}},"required":["addingTags","removingTags"]}]},"RuleActionUpdateIntuitQuickbooksInvoice":{"description":"Update an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"unearnedRevenueAccount":{"description":"ID of the unearned revenue QuickBooks account.","type":"string"},"taxesAccount":{"description":"ID of the taxes QuickBooks account.\nIf this field is supplied, taxes are represented as separate line items instead of an integrated tax field.","type":["string","null"]},"discountsAccount":{"description":"ID of the discounts QuickBooks account.\nIf this field is not set, `unearnedRevenueAccount` is used for discounts.","type":["string","null"]},"department":{"description":"ID of the QuickBooks department.","type":["string","null"]},"template":{"type":"object","properties":{"itemName":{"description":"Name of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}"},"itemDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.product.description | default: item.description }}"},"itemSku":{"description":"SKU of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.id }}"},"itemLineDescription":{"description":"Description of the line item.","type":"string","default":"{{ item.plan.id | default: item.product.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% endif %}"},"taxName":{"description":"Name of the tax item name.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}"},"taxDescription":{"description":"Description of the tax item.","type":"string","default":"{{ tax.description }} This value is used when the `taxesAccount` field is configured."},"taxSku":{"description":"SKU of the tax item.","type":"string","default":"tax"},"taxLineDescription":{"description":"Description of the tax line.\nThis value is used when the `taxesAccount` field is configured.","type":"string","default":"{{ tax.description }}{% if item %} for {{ item.plan.id | default: item.description }}{% if item.periodStartTime and item.periodEndTime %} ({{ item.periodStartTime | datetime: \"M jS, Y\" }} – {{ item.periodEndTime | datetime: \"M jS, Y\" }}){% else %} for multiple items{% endif %}{% endif %}"}}},"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash","unearnedRevenueAccount"]}]},"RuleActionVoidIntuitQuickbooksInvoice":{"description":"Void an Intuit QuickBooks invoice.","allOf":[{"$ref":"#/components/schemas/RuleAction"},{"type":"object","properties":{"credentialHash":{"type":"string","description":"ID of the OAuth2 credential."}},"required":["credentialHash"]}]},"Bind":{"type":"object","description":"Rule information.","properties":{"id":{"description":"ID of the rule.","$ref":"#/components/schemas/ResourceId"},"name":{"description":"Name of the rule.","type":"string"},"labels":{"description":"Labels of the rule.","type":"array","uniqueItems":true,"example":["test-rule","category:foo"],"items":{"type":"string","pattern":"[a-zA-Z][a-zA-Z0-9:-]*"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"actions":{"description":"Actions that execute when an event occurs.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/RuleAction"}}},"required":["name","actions"]},"Rule":{"type":"object","allOf":[{"$ref":"#/components/schemas/Bind"},{"type":"object","properties":{"final":{"description":"Specifies if the rule stops subsequent rules in the event list from being executed.","type":"boolean","default":true}}}]},"RuleSet":{"type":"object","description":"Ruleset for a specific event.","properties":{"version":{"description":"Version of the ruleset.","type":"integer","readOnly":true},"binds":{"type":"array","description":"Binds always execute, regardless of rule based events.\nA bind is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Bind"}},"rules":{"type":"array","description":"Rules can be configured to stop subsequent rules in the event list from being executed.\nA rule is a configuration of an event and one or more actions.","items":{"$ref":"#/components/schemas/Rule"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}},"required":["rules"]},"RuleSetHistoryItem":{"type":"object","description":"Version of ruleset.","readOnly":true,"properties":{"version":{"description":"Version of the ruleset.","type":"integer"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","history","rules"]}}}}}},"GatewayAccount":{"description":"Gateway account details.","type":"object","required":["gatewayName","method","acceptedCurrencies"],"discriminator":{"propertyName":"gatewayName","mapping":{"A1Gateway":"#/components/schemas/A1Gateway","ACI":"#/components/schemas/ACI","Adyen":"#/components/schemas/Adyen","Aera":"#/components/schemas/Aera","Aircash":"#/components/schemas/Aircash","Airpay":"#/components/schemas/Airpay","Airwallex":"#/components/schemas/Airwallex","AmazonPay":"#/components/schemas/AmazonPay","AmexVPC":"#/components/schemas/AmexVPC","Antom":"#/components/schemas/Antom","ApcoPay":"#/components/schemas/ApcoPay","AsiaPay":"#/components/schemas/AsiaPay","AsiaPaymentGateway":"#/components/schemas/AsiaPaymentGateway","AstroPayCard":"#/components/schemas/AstroPayCard","AuthorizeNet":"#/components/schemas/AuthorizeNet","Awepay":"#/components/schemas/Awepay","Bambora":"#/components/schemas/Bambora","BankSEND":"#/components/schemas/BankSEND","BitPay":"#/components/schemas/BitPay","BlueSnap":"#/components/schemas/BlueSnap","BraintreePayments":"#/components/schemas/BraintreePayments","Buckaroo":"#/components/schemas/Buckaroo","BVNK":"#/components/schemas/BVNK","CASHlib":"#/components/schemas/CASHlib","CODVoucher":"#/components/schemas/CODVoucher","Coinbase":"#/components/schemas/Coinbase","CoinGate":"#/components/schemas/CoinGate","CoinPayments":"#/components/schemas/CoinPayments","Cardknox":"#/components/schemas/Cardknox","Cashflows":"#/components/schemas/Cashflows","Cashterminal":"#/components/schemas/Cashterminal","CashToCode":"#/components/schemas/CashToCode","CauriPayment":"#/components/schemas/CauriPayment","Cayan":"#/components/schemas/Cayan","CCAvenue":"#/components/schemas/CCAvenue","Chase":"#/components/schemas/Chase","CheckoutCom":"#/components/schemas/CheckoutCom","Chillstock":"#/components/schemas/Chillstock","Circle":"#/components/schemas/Circle","Citadel":"#/components/schemas/Citadel","Clearhaus":"#/components/schemas/Clearhaus","Cleo":"#/components/schemas/Cleo","Conekta":"#/components/schemas/Conekta","Coppr":"#/components/schemas/Coppr","Cps":"#/components/schemas/Cps","Credorax":"#/components/schemas/Credorax","Cryptomus":"#/components/schemas/Cryptomus","Cryptonator":"#/components/schemas/Cryptonator","CyberSource":"#/components/schemas/CyberSource","DataCash":"#/components/schemas/DataCash","Dengi":"#/components/schemas/Dengi","Dimoco":"#/components/schemas/Dimoco","dLocal":"#/components/schemas/dLocal","Dragonphoenix":"#/components/schemas/Dragonphoenix","Dropayment":"#/components/schemas/Dropayment","Directa24":"#/components/schemas/Directa24","EasyPayDirect":"#/components/schemas/EasyPayDirect","EBANX":"#/components/schemas/EBANX","EPG":"#/components/schemas/EPG","EPro":"#/components/schemas/EPro","EcorePay":"#/components/schemas/EcorePay","Elavon":"#/components/schemas/Elavon","EMS":"#/components/schemas/EMS","ePay":"#/components/schemas/ePay","Euteller":"#/components/schemas/Euteller","Ezeebill":"#/components/schemas/Ezeebill","eZeeWallet":"#/components/schemas/eZeeWallet","ezyEFT":"#/components/schemas/ezyEFT","FinTecSystems":"#/components/schemas/FinTecSystems","Finrax":"#/components/schemas/Finrax","Flexepin":"#/components/schemas/Flexepin","Forte":"#/components/schemas/Forte","FundSend":"#/components/schemas/FundSend","gate2way":"#/components/schemas/gate2way","GET":"#/components/schemas/GET","Gigadat":"#/components/schemas/Gigadat","GlobalOne":"#/components/schemas/GlobalOne","GoCardless":"#/components/schemas/GoCardless","Gooney":"#/components/schemas/Gooney","Gpaysafe":"#/components/schemas/Gpaysafe","Greenbox":"#/components/schemas/Greenbox","HiPay":"#/components/schemas/HiPay","iCashOne":"#/components/schemas/iCashOne","ICEPAY":"#/components/schemas/ICEPAY","INOVAPAY":"#/components/schemas/INOVAPAY","Ilixium":"#/components/schemas/Ilixium","IMerchant":"#/components/schemas/IMerchant","Ingenico":"#/components/schemas/Ingenico","Inovio":"#/components/schemas/Inovio","InstaDebit":"#/components/schemas/InstaDebit","Intuit":"#/components/schemas/Intuit","IpayOptions":"#/components/schemas/IpayOptions","Isx":"#/components/schemas/Isx","JetPay":"#/components/schemas/JetPay","Jeton":"#/components/schemas/Jeton","JPMOrbital":"#/components/schemas/JPMOrbital","Khelocard":"#/components/schemas/Khelocard","Klarna":"#/components/schemas/Klarna","Konnektive":"#/components/schemas/Konnektive","Kushki":"#/components/schemas/Kushki","LaCore":"#/components/schemas/LaCore","Limepay":"#/components/schemas/Limepay","Loonio":"#/components/schemas/Loonio","loonie":"#/components/schemas/loonie","LPG":"#/components/schemas/LPG","MaxiCash":"#/components/schemas/MaxiCash","MercadoPago":"#/components/schemas/MercadoPago","MiFinity":"#/components/schemas/MiFinity","MobilePay":"#/components/schemas/MobilePay","Mollie":"#/components/schemas/Mollie","Moneris":"#/components/schemas/Moneris","Monolo":"#/components/schemas/Monolo","MonRem":"#/components/schemas/MonRem","MtaPay":"#/components/schemas/MtaPay","MuchBetter":"#/components/schemas/MuchBetter","MuchBetterGateway":"#/components/schemas/MuchBetterGateway","MyFatoorah":"#/components/schemas/MyFatoorah","Naewe":"#/components/schemas/Naewe","Neosurf":"#/components/schemas/Neosurf","NMI":"#/components/schemas/NMI","Netbanking":"#/components/schemas/Netbanking","Neteller":"#/components/schemas/Neteller","NGenius":"#/components/schemas/NGenius","NinjaWallet":"#/components/schemas/NinjaWallet","NordikCoin":"#/components/schemas/NordikCoin","NOWPayments":"#/components/schemas/NOWPayments","NuaPay":"#/components/schemas/NuaPay","OchaPay":"#/components/schemas/OchaPay","OmniMatrix":"#/components/schemas/OmniMatrix","Onlineueberweisen":"#/components/schemas/Onlineueberweisen","OnRamp":"#/components/schemas/OnRamp","Orbital":"#/components/schemas/Orbital","Pagadito":"#/components/schemas/Pagadito","Pagsmile":"#/components/schemas/Pagsmile","Panamerican":"#/components/schemas/Panamerican","PandaGateway":"#/components/schemas/PandaGateway","ParamountCommerce":"#/components/schemas/ParamountCommerce","ParamountEft":"#/components/schemas/ParamountEft","ParamountInterac":"#/components/schemas/ParamountInterac","Pay4Fun":"#/components/schemas/Pay4Fun","Paybilt":"#/components/schemas/Paybilt","PayCash":"#/components/schemas/PayCash","PayClub":"#/components/schemas/PayClub","Paycly":"#/components/schemas/Paycly","PayCom":"#/components/schemas/PayCom","PayEcards":"#/components/schemas/PayEcards","Paynote":"#/components/schemas/Paynote","PayPal":"#/components/schemas/PayPal","Payeezy":"#/components/schemas/Payeezy","Payflow":"#/components/schemas/Payflow","PayGlocal":"#/components/schemas/PayGlocal","PaymentAsia":"#/components/schemas/PaymentAsia","PaymenTechnologies":"#/components/schemas/PaymenTechnologies","PaymentsOS":"#/components/schemas/PaymentsOS","Paymero":"#/components/schemas/Paymero","Payper":"#/components/schemas/Payper","Payr":"#/components/schemas/Payr","PayRedeem":"#/components/schemas/PayRedeem","PayRetailers":"#/components/schemas/PayRetailers","Paysafe":"#/components/schemas/Paysafe","Paysafecard":"#/components/schemas/Paysafecard","Paysafecash":"#/components/schemas/Paysafecash","PayTabs":"#/components/schemas/PayTabs","PayU":"#/components/schemas/PayU","PayULatam":"#/components/schemas/PayULatam","Payvision":"#/components/schemas/Payvision","PayXpert":"#/components/schemas/PayXpert","PharosPayments":"#/components/schemas/PharosPayments","Piastrix":"#/components/schemas/Piastrix","Pin4Pay":"#/components/schemas/Pin4Pay","Plugnpay":"#/components/schemas/Plugnpay","PostFinance":"#/components/schemas/PostFinance","Powertranz":"#/components/schemas/Powertranz","PSiGate":"#/components/schemas/PSiGate","PPRO":"#/components/schemas/PPRO","Prosa":"#/components/schemas/Prosa","Quickpay":"#/components/schemas/Quickpay","Rapyd":"#/components/schemas/Rapyd","RPN":"#/components/schemas/RPN","Realex":"#/components/schemas/Realex","Realtime":"#/components/schemas/Realtime","Redsys":"#/components/schemas/Redsys","Rotessa":"#/components/schemas/Rotessa","Safecharge":"#/components/schemas/Safecharge","SaltarPay":"#/components/schemas/SaltarPay","SMSVoucher":"#/components/schemas/SMSVoucher","Sofort":"#/components/schemas/Sofort","Sagepay":"#/components/schemas/Sagepay","SeamlessChex":"#/components/schemas/SeamlessChex","SecureTrading":"#/components/schemas/SecureTrading","SecurionPay":"#/components/schemas/SecurionPay","Skrill":"#/components/schemas/Skrill","SmartInvoice":"#/components/schemas/SmartInvoice","SparkPay":"#/components/schemas/SparkPay","Splitit":"#/components/schemas/Splitit","StaticGateway":"#/components/schemas/StaticGateway","STPMexico":"#/components/schemas/STPMexico","Stripe":"#/components/schemas/Stripe","Tabby":"#/components/schemas/Tabby","Telr":"#/components/schemas/Telr","TestProcessor":"#/components/schemas/TestProcessor","Thunes":"#/components/schemas/Thunes","ToditoCash":"#/components/schemas/ToditoCash","Triple000":"#/components/schemas/Triple000","Truevo":"#/components/schemas/Truevo","TrustsPay":"#/components/schemas/TrustsPay","Trustly":"#/components/schemas/Trustly","TWINT":"#/components/schemas/TWINT","Txn":"#/components/schemas/Txn","Unlimit":"#/components/schemas/Unlimit","UPayCard":"#/components/schemas/UPayCard","USAePay":"#/components/schemas/USAePay","VantivLitle":"#/components/schemas/VantivLitle","VCreditos":"#/components/schemas/VCreditos","VegaWallet":"#/components/schemas/VegaWallet","Viva":"#/components/schemas/Viva","Wallet88":"#/components/schemas/Wallet88","Walpay":"#/components/schemas/Walpay","WesternUnion":"#/components/schemas/WesternUnion","Wirecard":"#/components/schemas/Wirecard","WorldlineAtosFrankfurt":"#/components/schemas/WorldlineAtosFrankfurt","Worldpay":"#/components/schemas/Worldpay","Zotapay":"#/components/schemas/Zotapay","eMerchantPay":"#/components/schemas/eMerchantPay","ecoPayz":"#/components/schemas/ecoPayz","ecoPayzTurkey":"#/components/schemas/ecoPayzTurkey","iCanPay":"#/components/schemas/iCanPay","iCheque":"#/components/schemas/iCheque","iDebit":"#/components/schemas/iDebit","vegaaH":"#/components/schemas/vegaaH","XPay":"#/components/schemas/XPay","Zimpler":"#/components/schemas/Zimpler"}},"properties":{"id":{"type":"string","description":"ID of the payment gateway account.","readOnly":true,"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"gatewayName":{"$ref":"#/components/schemas/GatewayName"},"acquirerName":{"default":"Other","allOf":[{"$ref":"#/components/schemas/AcquirerName"}]},"method":{"$ref":"#/components/schemas/PaymentMethod"},"acceptedCurrencies":{"description":"Accepted currencies.\nThis is an array of ISO 4217 currency codes.","type":"array","items":{"type":"string"}},"paymentCardSchemes":{"description":"Accepted payment card brands.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"status":{"description":"Status of the gateway account.","readOnly":true,"type":"string","enum":["active","inactive","pending","closed"]},"merchantCategoryCode":{"description":"Merchant category code of the payment gateway account.","type":"string","pattern":"^[0-9]{4}$","default":"0000"},"dccMarkup":{"description":"Dynamic currency conversion markup in basis points.\nThis value cannot be `0` if the `dccForceCurrency` field is empty.","type":["integer","null"],"minimum":-10000,"maximum":10000},"dccForceCurrency":{"type":["string","null"],"description":"Forces Dynamic Currency Conversion (DCC) to the specified currency on each sale.\nTo disable forced DCC, leave this field empty."},"dccForceConfirmation":{"type":"boolean","default":false,"description":"Specifies whether a confirmation step is required when `dccForceCurrency` is set."},"dccForceRounding":{"type":"boolean","default":false,"description":"Specifies that DCC quote amounts must be rounded half up to the nearest whole number."},"descriptor":{"description":"Gateway account descriptor value.","type":["string","null"]},"cityField":{"description":"Gateway account city field.\nThis value is also known as a line 2 descriptor.","type":["string","null"]},"excludedDccQuoteCurrencies":{"description":"Excluded Dynamic Currency Conversion (DCC) quote currencies.","type":"array","items":{"type":"string"}},"monthlyLimit":{"description":"Monthly limit on the amount money that the gateway account can process.","type":["number","null"],"format":"double","minimum":0},"approvalWindowTtl":{"description":"Allotted time, in seconds, in which an offsite transaction must be approved before it is automatically `abandoned`.","type":"integer","default":3600,"minimum":300,"maximum":16777215},"reconciliationWindowEnabled":{"description":"Specifies that if a transaction is not reconciled within the `reconciliationWindowTtl` time, the transaction is marked as `abandoned`.","type":"boolean","default":false},"reconciliationWindowTtl":{"description":"Allotted time, in seconds, in which a reconciliation must occur before it is automatically `abandoned`.","type":["integer","null"],"minimum":300,"maximum":16777215},"threeDSecure":{"description":"Specifies if a gateway account allows 3D Secure.","type":"boolean","default":false},"dynamicDescriptor":{"description":"Specifies if a gateway allows dynamic descriptors.","type":"boolean","default":false},"digitalWallets":{"$ref":"#/components/schemas/DigitalWallets"},"isDown":{"description":"Specifies if a gateway is in a downtime period.","type":"boolean","readOnly":true},"additionalFilters":{"description":"Additional filters used to determine if the gateway account can be selected to process a transaction.\n\nFor example, the filter may place a maximum amount value on transaction.\nIf a transaction exceeds this value, the gateway account is not used.\n\nFor more information see,\n[Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"],"example":"amount:1..100;bin:411111,444433"},"timeout":{"description":"Gateway account request timeout, in seconds.","type":["integer","null"],"minimum":10,"maximum":120},"token":{"description":"Gateway account token.","type":["string","null"],"readOnly":true,"example":"TwiX3f92k4AiBE27BzTbQ38hHjicBz_w"},"sticky":{"description":"Specifies if all future payments by the customer's payment instrument are processed by this gateway account.\n\nFor more information, see [Gateway routing](https://www.rebilly.com/docs/settings/intelligent-payment-routing/#sticky-gateway-accounts).","type":"boolean","default":true},"setupInstruction":{"type":"string","default":"do-nothing","description":"Creates zero, one, or more child transactions such as `authorize` and `void`.\nThe transactions are linked to the `setup` transaction by the `parentTransactionId` relationship.","enum":["authorize","authorize-and-void","sca","do-nothing"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount and currency of the request.","authorize-and-void":"Creates an `authorize` transaction followed by a `void`, if the `authorize` is approved.\nIf the request amount is $0, then a $1 authorize is created. Otherwise the request amount is used.","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}},"readyToPayoutInstruction":{"type":"string","default":"none","description":"Defines the mode of gateway payout behaviour for the Ready to payout operation.","enum":["all","covered-payout","approved-payment","none"],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway. This is the default value, merchants must opt into payouts."}},"payoutLimits":{"description":"Payout limits for the gateway account applied during payout request auto-allocation.\nThese limits do not apply to manual allocations.\n\nThis field is distinct from deposit and sale\n[volume limits](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountlimitcollection/).","oneOf":[{"$ref":"#/components/schemas/GatewayAccountPayoutLimits"},{"type":"null"}]},"transactionEmailAliasTemplate":{"description":"Email address template used in place of a customer's real email address when sending transaction data to a processor.\nUse `{{customerId}}` as a placeholder for the customer's ID.\nWhen empty, the customer's real email address is used.","type":["string","null"],"example":"{{customerId}}@receipts.example.com"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"organizationId":{"deprecated":true,"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","onBoardingUrl","dynamicIpnUrl","staticIpnUrl"]}}}}}},"A1Gateway":{"description":"A1Gateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"A1Gateway credentials object.","properties":{"accountId":{"type":"string","description":"ID of the A1Gateway account."},"password":{"type":"string","description":"A1Gateway password.","format":"password","writeOnly":true}},"required":["accountId","password"]}}}]},"ThreeDSecureIO3dsServer":{"description":"ThreeDSecureIO 3DS Server configuration.\nAt least one of the Acquirer merchant ID and BIN fields from the same provider (Amex ID and BIN, JCB ID and BIN, Discover ID and BIN, Mastercard ID and BIN, or Visa ID and BIN) must be provided.","type":"object","required":["name","merchantName","merchantCountry","merchantUrl","transactionType"],"properties":{"name":{"type":"string","description":"Merchant plug-in name.","enum":["ThreeDSecureIO3dsServer"]},"acquirerMerchantIdVisa":{"type":"string","description":"Merchant ID (MID) of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdMastercard":{"type":"string","description":"Merchant ID (MID) of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdAmex":{"type":"string","description":"Merchant ID (MID) of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdDiscover":{"type":"string","description":"Merchant ID (MID) of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"acquirerMerchantIdJcb":{"type":"string","description":"Merchant ID (MID) of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","maxLength":35},"merchantName":{"type":"string","description":"Name of the merchant.","maxLength":40},"merchantAcquirerBinVisa":{"type":"string","description":"BIN of the Visa acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinMastercard":{"type":"string","description":"BIN of the Mastercard acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinAmex":{"type":"string","description":"BIN of the American Express acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinDiscover":{"type":"string","description":"BIN of the Discover/Diners acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantAcquirerBinJcb":{"type":"string","description":"BIN of the JCB acquirer.\nAt least one pair of ID and BIN fields from the same provider must be provided.","minLength":6,"maxLength":11},"merchantCountry":{"type":"string","description":"Merchant country in ISO Alpha-2 code format.","maxLength":2,"example":"US"},"merchantUrl":{"type":"string","description":"URL of the merchant's website.","maxLength":2048},"transactionType":{"type":"string","enum":["01","03","10","11","28"],"description":"Identifies the type of transaction that is being authenticated.","x-enumDescriptions":{"1":"Goods/Service purchase.","3":"Check acceptance.","10":"Account funding.","11":"Quasi-Cash transaction. Indicates the type of 3RI request.","28":"Prepaid activation and load."}},"declineNotEnrolled":{"type":"boolean","description":"Specifies whether to decline transactions if a payment card is not enrolled.","default":false},"forceChallenge":{"type":"boolean","description":"Specifies if the 3D Secure authentication must be forced into challenge flow.","default":false}}},"ACI":{"description":"ACI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ACI credentials object.","properties":{"entityId":{"type":"string"},"accessToken":{"type":"string","format":"password","writeOnly":true}},"required":["entityId","accessToken"]},"settings":{"type":"object","description":"ACI settings object.","properties":{"url":{"type":"string","description":"ACI custom server URL."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Adyen":{"description":"Adyen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Adyen credentials object.","properties":{"merchantAccount":{"type":"string","description":"Adyen merchant account."},"apiKey":{"type":"string","description":"Adyen API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Adyen HMAC key to verify IPN signature.","format":"password","writeOnly":true}},"required":["merchantAccount","apiKey"]},"settings":{"type":"object","description":"Adyen settings object.","properties":{"store":{"type":"string","description":"E-commerce or point-of-sale store that is processing the payment.","minLength":1,"maxLength":16},"url":{"type":"string","description":"Adyen post URL."},"splitPayments":{"type":"array","description":"Adyen split payments.","items":{"type":"object","properties":{"percentage":{"description":"Percentage of the transaction amount.","type":"number","format":"double","minimum":0,"maximum":100,"example":0.5},"commissionAmount":{"description":"Fixed commission amount in minor units.","type":"number","format":"integer","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"account":{"description":"ID of the balance account where the split amount is sent.","type":"string"},"merchantCountry":{"description":"Two-letter ISO 3166 alpha-2 code of the merchant's country.","type":"string","example":"US"},"type":{"description":"Account type of the split payment.","type":"string","enum":["BalanceAccount","Commission","Remainder","PaymentFee"]}}}},"totalTaxRate":{"type":"number","format":"double","description":"Total tax percentage as a decimal.\nUse this field to calculate the total tax amount to send with level 2 enhanced scheme data.","example":5.5,"minimum":0.01,"maximum":100},"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false,"example":false},"riskProfile":{"type":"string","description":"Adyen risk profile."},"levelTwoThreeDataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Level 2/3 data."},"mastercardDpaId":{"type":"string","description":"ID of the Digital Payment Application (DPA) for Mastercard Secure Card on File (SCOF)."},"mastercardServiceId":{"type":"string","description":"ID of the Mastercard Secure Card on File (SCOF) service."}},"required":["url"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Aera":{"description":"Aera gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aera credentials object.","properties":{"clientId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["clientId","apiKey","ipnSecret"]}}}]},"Aircash":{"description":"Aircash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Aircash credentials object.","properties":{"partnerId":{"type":"string","description":"ID of the Aircash partner."},"privateKey":{"writeOnly":true,"type":"string","description":"Private key of the Aircash partner.","format":"password","x-multiline":true},"privateKeyPassword":{"writeOnly":true,"type":"string","description":"Private key password of the Aircash partner.","format":"password"}},"required":["partnerId","privateKey","privateKeyPassword"]}}}]},"Airpay":{"description":"Airpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airpay credentials object.","properties":{"username":{"type":"string","description":"Airpay username."},"merchantId":{"type":"string","description":"ID of the Airpay merchant."},"password":{"writeOnly":true,"type":"string","description":"Airpay password.","format":"password"},"apiKey":{"type":"string","description":"Airpay API key.","format":"password","writeOnly":true}},"required":["username","merchantId","password","apiKey"]}}}]},"Airwallex":{"description":"Airwallex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Airwallex credentials object.","properties":{"clientId":{"type":"string","description":"Airwallex client ID."},"apiKey":{"type":"string","description":"Airwallex API key.","format":"password","writeOnly":true}},"required":["clientId","apiKey"]},"settings":{"type":"object","description":"Airwallex settings object.","properties":{"deviceIdCustomField":{"type":"string","description":"Name of the transaction custom field that holds the device ID."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"AmazonPay":{"description":"AmazonPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the AmazonPay merchant."},"storeId":{"type":"string","description":"ID of the AmazonPay store."},"publicKeyId":{"type":"string","description":"ID of the AmazonPay public key."},"privateKey":{"description":"ID of the AmazonPay private key.","type":"string","format":"password","x-multiline":true,"writeOnly":true}},"required":["privateKey","storeId","publicKeyId","merchantId"]}}}]},"AmexVPC":{"description":"AmexVPC gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"AmexVPC credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the AmexVPC merchant."},"accessCode":{"type":"string","description":"AmexVPC access Code.","format":"password","writeOnly":true},"user":{"type":"string","description":"AmexVPC account user.\nThis field is used for refund, void, and capture transactions."},"password":{"type":"string","description":"AmexVPC account password.\nThis field is used for refund, void, and capture transactions.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","user","password"]},"settings":{"type":"object","description":"AmexVPC settings object.","properties":{"url":{"type":"string","description":"Virtual payment client URL."}},"required":["url"]}}}]},"Antom":{"description":"Antom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Antom credentials object.","properties":{"clientId":{"type":"string","description":"Antom client ID."},"privateKey":{"type":"string","description":"Antom private key.","format":"password","writeOnly":true,"x-multiline":true}},"required":["clientId","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ApcoPay":{"description":"ApcoPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ApcoPay credentials object.","properties":{"profileID":{"type":"string","description":"ID of the ApcoPay profile."},"secretWord":{"type":"string","description":"ApcoPay secret word.","format":"password","writeOnly":true},"MerchantID":{"type":"string","description":"ID of the ApcoPay merchant."},"MerchantPassword":{"type":"string","description":"ApcoPay merchant password.","format":"password","writeOnly":true}},"required":["profileID","secretWord","MerchantID","MerchantPassword"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"ApcoPay method.","enum":["AFTERPAY","BANCONTACT","CREDITCLICK","FLEXEPIN","IDEAL","JPAY","OCTAPAY","ONLINEUBERWEISEN","ORIENTALWALLET","VENUSPOINT","ZIMPLER"]}},"required":["method"]}}}]},"AsiaPay":{"description":"AsiaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPay credentials object.","properties":{"merchantId":{"type":"string","description":"AsiaPay merchant number."},"loginId":{"type":"string","description":"AsiaPay login ID."},"secretKey":{"type":"string","description":"AsiaPay secret key for hash.","format":"password","writeOnly":true},"password":{"type":"string","description":"AsiaPay password.","format":"password","writeOnly":true}},"required":["merchantId","loginId","password","secretKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for AsiaPay API."}},"required":["baseUrl"]}}}]},"AsiaPaymentGateway":{"description":"AsiaPaymentGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AsiaPaymentGateway credentials object.","properties":{"merchantNumber":{"type":"string","description":"AsiaPaymentGateway merchant number."},"secretKey":{"type":"string","description":"AsiaPaymentGateway secret key for hash.","format":"password","writeOnly":true}},"required":["merchantNumber","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"AstroPayCard":{"description":"AstroPay Card gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"AstroPay Card credentials object.","properties":{"x_login":{"type":"string","description":"AstroPay Card login."},"x_tran_key":{"type":"string","description":"AstroPay Card transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"AstroPay Card secret key.","format":"password","writeOnly":true},"api_key":{"type":"string","description":"OneTouch Astropay API key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key"]},"settings":{"type":"object","description":"AstroPay Card settings object.","properties":{"oneTouchApi":{"type":"boolean","description":"Specifies whether to use a OneTouch AstroPay API.","default":false},"useOneTouchSdk":{"type":"boolean","description":"Specifies whether to use the OneTouch AstroPay SDK.","default":false},"merchantName":{"type":"string","description":"Displayed merchant name for AstroPay OneTouch."},"merchantLogoUrl":{"type":"string","description":"Displayed merchant logo for AstroPay OneTouch."}}}}}]},"AuthorizeNet":{"description":"AuthorizeNet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiLoginId":{"type":"string","description":"ID of the AuthorizeNet API login."},"transactionKey":{"description":"AuthorizeNet transaction key.","type":"string","format":"password","writeOnly":true}},"required":["apiLoginId","transactionKey"]}}}]},"Awepay":{"description":"Awepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Awepay credentials object.","properties":{"sid":{"type":"string","description":"ID of the Awepay site."},"rcode":{"type":"string","description":"Awepay rcode.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Awepay secret key for the P2P REST API.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Awepay API key for REST API.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Awepay public key for REST API.","x-multiline":true},"privateKey":{"type":"string","description":"Awepay private key for REST API.","format":"password","x-multiline":true,"writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Awepay setting.","properties":{"useP2pRest":{"type":"boolean","description":"Specifies whether to use the P2P REST API."},"useRestApi":{"type":"boolean","description":"Specifies whether to use REST API."},"methodType":{"type":"string","description":"Awepay method type."}}}}}]},"Bambora":{"description":"Bambora gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Bambora merchant."},"apiPasscode":{"type":"string","description":"Bambora API passcode.","format":"password","writeOnly":true}},"required":["merchantId","apiPasscode"]}}}]},"BankSEND":{"description":"BankSEND gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BankSEND credentials object.","properties":{"merchantId":{"description":"ID of the BankSEND merchant.","type":"string"},"merchantToken":{"type":"string","format":"password","description":"BankSEND merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"BitPay":{"description":"BitPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BitPay credentials object.","properties":{"token":{"type":"string","description":"BitPay merchant API token.","format":"password","writeOnly":true}},"required":["token"]}}}]},"BlueSnap":{"description":"BlueSnap gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BlueSnap credentials object.","properties":{"username":{"type":"string","description":"API username of the BlueSnap merchant."},"merchantId":{"type":"string","description":"ID of the BlueSnap merchant."},"password":{"type":"string","description":"API password of the BlueSnap merchant.","format":"password","writeOnly":true},"dataProtectionKey":{"type":"string","description":"Data protection key of the BlueSnap merchant.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"enableMoto":{"type":"boolean","description":"Specifies whether to use Mail Order Telephone Order (MOTO).","default":false},"salesTaxAmount":{"type":"number","format":"double","description":"Sales tax amount as a decimal to send with level 2/3 data.","example":0.06},"metadataCustomField":{"type":"string","description":"Name of the transaction custom field that holds the BlueSnap transaction metadata."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"BraintreePayments":{"description":"BraintreePayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"BraintreePayments public key."},"privateKey":{"type":"string","description":"BraintreePayments private key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the BraintreePayments merchant.","format":"password","writeOnly":true},"merchantAccountId":{"type":"string","description":"ID of the BraintreePayments merchant account.","format":"password","writeOnly":true}},"required":["publicKey","privateKey","merchantId","merchantAccountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Buckaroo":{"description":"Buckaroo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Buckaroo credentials object.","properties":{"schemeKey":{"type":"string","description":"Scheme key."},"websiteKey":{"type":"string","description":"Website key."},"secretKey":{"description":"Secret key.","type":"string","format":"password"}},"required":["websiteKey","secretKey"]},"settings":{"type":"object","properties":{"useSepaRecurring":{"type":"boolean","description":"Specifies whether to use SEPA as recurring method.","default":false}}}}}]},"BVNK":{"description":"BVNK gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"BVNK credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID of the BVNK merchant."},"hawkAuthId":{"type":"string","description":"HAWK auth ID.","format":"password","writeOnly":true},"hawkAuthKey":{"type":"string","description":"HAWK auth key.","format":"password","writeOnly":true}},"required":["merchantId","hawkAuthId","hawkAuthKey"]},"settings":{"type":"object","description":"BVNK settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"CASHlib":{"description":"CASHlib gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CASHlib credentials object.","properties":{"apiKey":{"type":"string","description":"CASHlib API key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the CASHlib merchant."}},"required":["apiKey","merchantId"]}}}]},"CODVoucher":{"description":"CODVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CODVoucher credentials object.","properties":{"apiKey":{"type":"string","description":"CODVoucher API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"CODVoucher API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"AmountAdjustmentTolerance":{"type":"integer","description":"Tolerance percentage for the settled amount.","minimum":0,"maximum":5,"example":5},"Coinbase":{"description":"Coinbase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coinbase credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Coinbase settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"CoinGate":{"description":"CoinGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"authToken":{"type":"string","format":"password","description":"Authentication token.","writeOnly":true}},"required":["authToken"]},"settings":{"type":"object","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.\nThis field defaults to the transaction currency.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"},"adjustAmount":{"type":"boolean","description":"Specifies whether to adjust the amount that is received from the downstream gateway.","default":false,"example":false}}}}}]},"CoinPayments":{"description":"CoinPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CoinPayments credentials object.","required":["publicKey","privateKey","ipnSecret"],"properties":{"publicKey":{"type":"string","description":"CoinPayments public key."},"privateKey":{"type":"string","format":"password","description":"CoinPayments private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"CoinPayments IPN secret.","writeOnly":true},"merchantId":{"type":"string","format":"password","description":"ID of the CoinPayments merchant.","writeOnly":true},"clientId":{"type":"string","description":"CoinPayments client ID required for API (version 2)."},"clientSecret":{"type":"string","format":"password","description":"CoinPayments client secret required for API (version 2).","writeOnly":true}}},"settings":{"type":"object","properties":{"useCallbackAddress":{"type":"boolean","description":"Specifies if the callback address payment type must be used."},"useV2Api":{"type":"boolean","description":"Specifies if the CoinPayments API (version 2) must be used.\nThis requires both CoinPayments client ID and secret to be provided."},"apiUrl":{"type":"string","description":"URL of the CoinPayments API (version 2).","default":"https://api.coinpayments.com"}}}}}]},"Cardknox":{"description":"Cardknox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xKey":{"type":"string","description":"Cardknox xKey.","format":"password","writeOnly":true}},"required":["xKey"]}}}]},"Cashflows":{"description":"Cashflows gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authId":{"type":"string","description":"ID of the Cashflows authentication."},"authPassword":{"type":"string","description":"ID of the Cashflows authentication password.","format":"password","writeOnly":true}},"required":["authPassword","authId"]}}}]},"Cashterminal":{"description":"Cashterminal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"secretKey":{"description":"Cashterminal secret key.","type":"string","format":"password","writeOnly":true}},"required":["secretKey"]}}}]},"CashToCode":{"description":"CashToCode gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CashToCode credentials object.","properties":{"cashToCodeUsername":{"type":"string","description":"CashToCode credentials username."},"cashToCodePassword":{"type":"string","description":"CashToCode credentials password.","format":"password","writeOnly":true},"merchantUsername":{"type":"string","description":"Merchant credentials username."},"merchantPassword":{"type":"string","description":"Merchant credentials password.","format":"password","writeOnly":true},"mid":{"type":"string","description":"CashToCode Merchant Identifier Number (MID) or brand name."}},"required":["cashToCodeUsername","cashToCodePassword","merchantUsername","merchantPassword"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base API URL."},"skipAmountSelection":{"type":"boolean","description":"Specifies whether to skip the amount selection screen.","default":false},"amounts":{"type":"array","description":"Amounts for which transactions are processed.","items":{"type":"number","format":"double","minimum":0}}}}}}]},"CauriPayment":{"description":"CauriPayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CauriPayment credentials object.","properties":{"publicKey":{"type":"string","description":"CauriPayment merchant public key."},"privateKey":{"type":"string","description":"CauriPayment merchant private key.","format":"password","writeOnly":true}},"required":["publicKey","privateKey"]}}}]},"Cayan":{"description":"Cayan gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSiteId":{"type":"string","description":"ID of the Cayan merchant site."},"merchantName":{"type":"string","description":"Cayan merchant name."},"merchantKey":{"type":"string","description":"Cayan merchant key.","format":"password","writeOnly":true}},"required":["merchantSiteId","merchantName","merchantKey"]}}}]},"CCAvenue":{"description":"CCAvenue gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CCAvenue credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the CCAvenue merchant."},"accessCode":{"type":"string","description":"CCAvenue access code.","format":"password","writeOnly":true},"workingKey":{"type":"string","description":"CCAvenue working key.","format":"password","writeOnly":true}},"required":["merchantId","accessCode","workingKey"]},"settings":{"type":"object","properties":{"useStandingInstructionApi":{"description":"Specifies whether to use the Standing Instruction API.","type":"boolean","default":false}}}}}]},"Chase":{"description":"Chase gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Chase NetConnect username."},"password":{"type":"string","description":"Chase NetConnect password.","format":"password","writeOnly":true},"coNumber":{"type":"string","description":"Chase CO number used for delimited file reports."},"divisionId":{"type":"string","description":"ID of the Chase division."},"partialAuth":{"type":"boolean","description":"Specifies whether to support partial authentications.","default":false}},"required":["username","password","coNumber","divisionId","partialAuth"]}}}]},"CheckoutCom":{"description":"Checkout.com gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Checkout.com credentials object.","properties":{"secretKey":{"type":"string","format":"password","description":"Checkout.com secret API key.\nGenerate this key in the Checkout.com dashboard under Developers->API keys section.","writeOnly":true},"signatureKey":{"type":"string","format":"password","description":"Checkout.com webhook signature key.\nGenerate this key in the Checkout.com dashboard under Developers->Webhooks section.","writeOnly":true}},"required":["secretKey"]},"settings":{"type":"object","properties":{"markAsWaitingGatewayOnPendingPayout":{"type":"boolean","description":"Specifies whether to mark pending payouts as 'waiting-gateway/unknown' instead of 'approved'.","default":false},"subEntityIdWebsiteCustomField":{"type":"string","description":"Name of the website custom field that holds the sub-entity ID."},"processingChannelId":{"type":"string","description":"Checkout.com processing channel ID.\nCheckout.com secret API key can be configured with a default processing channel ID.\nOtherwise the processing channel ID needs to be set."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Chillstock":{"description":"Chillstock gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Chillstock credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID)."},"privateKey":{"type":"string","description":"Chillstock private key.","format":"password","x-multiline":true,"writeOnly":true},"publicKey":{"type":"string","description":"Chillstock public key."}},"required":["merchantId","privateKey"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is forced to sandbox mode.","default":false}}}}}]},"Circle":{"description":"Circle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Circle credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"Circle API key.","writeOnly":true}},"required":["apiKey"]}}}]},"Citadel":{"description":"Citadel gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Citadel credentials object.","properties":{"storeName":{"type":"string","description":"Citadel store name."},"storeId":{"type":"string","description":"ID of the Citadel store."},"username":{"type":"string","description":"Citadel username."},"password":{"type":"string","description":"Citadel password.","format":"password","writeOnly":true}},"required":["storeName","storeId","username","password"]}}}]},"Clearhaus":{"description":"Clearhaus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Clearhaus API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Cleo":{"description":"Cleo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cleo credentials object.","properties":{"accessToken":{"type":"string","description":"Cleo access token.","format":"password","writeOnly":true}},"required":["accessToken"]}}}]},"Conekta":{"description":"Conekta gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Conekta credentials object.","properties":{"apiKey":{"type":"string","description":"Conekta private API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Conekta settings object.","properties":{"baseUrl":{"type":"string","description":"Base API URL."}}}}}]},"Coppr":{"description":"Coppr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Coppr credentials object.","properties":{"organizationId":{"type":"string","description":"ID of the Coppr organization."},"apiKey":{"type":"string","description":"Coppr API key.","format":"password","writeOnly":true}},"required":["organizationId","apiKey"]},"settings":{"type":"object","description":"Coppr settings object.","properties":{"rebillyPublishableKey":{"type":"string","description":"Rebilly publishable API key.\nIf this value is provided, a payment token is created for each transaction.\nPayment card transactions are declined if this value is not provided.\nTo obtain an API key, see [Manage API keys](https://www.rebilly.com/docs/dev-docs/api-keys/#manage-api-keys)."}}}}}]},"Cps":{"description":"CPS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CPS credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the CPS gateway."},"password":{"type":"string","description":"Password of the CPS gateway.","format":"password","writeOnly":true}},"required":["clientKey","password"]},"settings":{"type":"object","properties":{"paymentUrl":{"type":"string","description":"Payment URL of the CPS gateway for server-to-server integration."}},"required":["paymentUrl"]}}}]},"Credorax":{"description":"Credorax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Credorax merchant."},"merchantMd5Signature":{"type":"string","description":"Credorax MD5 signature.","format":"password","writeOnly":true}},"required":["merchantId","merchantMd5Signature"]}}}]},"Cryptomus":{"description":"Cryptomus gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptomus credentials object.","properties":{"merchantId":{"type":"string"},"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]},"settings":{"type":"object","properties":{"refundAddress":{"type":"string","description":"Address where the refund is sent."}}}}}]},"Cryptonator":{"description":"Cryptonator gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Cryptonator credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the Cryptonator merchant."},"secret":{"type":"string","description":"Cryptonator secret.","format":"password","writeOnly":true}},"required":["merchant_id","secret"]}}}]},"CyberSource":{"description":"CyberSource gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"CyberSource credentials object.","properties":{"accessKey":{"type":"string","description":"CyberSource access key."},"profileId":{"type":"string","description":"ID of the CyberSource profile."},"secretKey":{"type":"string","description":"CyberSource secret key.","format":"password","writeOnly":true}},"required":["accessKey","profileId","secretKey"]}}}]},"DataCash":{"description":"DataCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"client":{"type":"string","description":"DataCash client."},"password":{"type":"string","description":"DataCash password.","format":"password","writeOnly":true},"reportGroup":{"type":"string","description":"DataCash report group."},"reportUser":{"type":"string","description":"DataCash report user."},"reportPassword":{"type":"string","description":"DataCash report password.","format":"password","writeOnly":true},"visaPayoutsClient":{"type":"string","description":"DataCash client for Visa OCT (Original Credit Transfer) payouts."},"visaPayoutsPassword":{"type":"string","description":"DataCash password for Visa OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true},"masterCardPayoutsClient":{"type":"string","description":"DataCash client for MasterCard OCT (Original Credit Transfer) payouts."},"masterCardPayoutsPassword":{"type":"string","description":"DataCash password for MasterCard OCT (Original Credit Transfer) payouts.","format":"password","writeOnly":true}},"required":["client","password"]},"settings":{"type":"object","description":"Datacash settings object.","properties":{"policy":{"type":"integer","description":"Policy.","minimum":0,"maximum":7,"default":2},"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]},"Dengi":{"description":"Dengi gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"projectId":{"type":"string","description":"ID of the Dengi project."},"publicKey":{"type":"string","description":"Dengi public key.","format":"password","writeOnly":true},"refundKey":{"type":"string","description":"Dengi refund key.","format":"password","writeOnly":true}},"required":["projectId","publicKey","refundKey"]}}}]},"Dimoco":{"description":"Dimoco gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Dimoc merchant."},"orderId":{"type":"string","description":"ID of the Dimoc project."},"password":{"type":"string","format":"password","description":"ID of the Dimoc project.","writeOnly":true}},"required":["merchantId","orderId","password"]}}}]},"dLocal":{"description":"dLocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"dLocal login."},"xTransKey":{"type":"string","description":"dLocal transKey."},"secretKey":{"type":"string","format":"password","description":"dLocal secret key.","writeOnly":true},"xPayoutLogin":{"type":"string","description":"dLocal payout login."},"xPayoutTransKey":{"type":"string","description":"dLocal payout transKey."},"payoutSecretKey":{"type":"string","format":"password","description":"dLocal payout secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"dLocal settings object.","properties":{"createInstallmentPlan":{"type":"boolean","default":false,"description":"Specifies whether to create an installment plan and use it for payment."},"customerDocumentCustomField":{"type":"string","description":"Name of the transaction custom field that holds the customer document.\nUse this setting to skip the intermediate step of collecting the customer document for payment card transactions."},"requestAddress":{"type":"boolean","default":false,"description":"Specifies if the customer is asked for a billing address on the document ID page."}}}}}]},"Dragonphoenix":{"description":"Dragonphoenix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dragonphoenix credentials object.","properties":{"sid":{"type":"string","description":"ID of the Dragonphoenix site."},"rcode":{"type":"string","description":"Dragonphoenix rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]}}}]},"Dropayment":{"description":"Dropayment gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Dropayment credentials object.","properties":{"login":{"type":"string","description":"Dropayment login."},"endpointId":{"type":"string","description":"ID of the Dropayment end point."},"secretKey":{"type":"string","description":"Dropayment secret key.","format":"password","writeOnly":true}},"required":["login","endpointId","secretKey"]}}}]},"Directa24Banks":{"type":"string","enum":["AA","AL","AZ","B","BAB","BB","BC","BE","BL","BM","BN","BP","BQ","BU","BV","BW","BX","BZ","CA","CE","CI","CU","EF","EN","EY","FA","FB","FC","GC","GG","HC","I","IA","IB","JM","LC","LE","LL","MC","ME","MD","MP","MT","NB","OM","OX","PC","PH","PL","SB","SC","SE","SF","SM","SS","ST","SU","TC","TK","TG","TR","TY","RY","UB","UI","UL","US","VD","VI","WA","WP","WU","XA"]},"Directa24":{"description":"Directa24 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Directa24 credentials object.","properties":{"x_login":{"type":"string","description":"Directa24 login."},"x_tran_key":{"type":"string","description":"Directa24 transaction key.","format":"password","writeOnly":true},"secret_key":{"type":"string","description":"Directa24 secret key.","format":"password","writeOnly":true},"web_pay_login":{"type":"string","description":"Directa24 web pay status login."},"web_pay_tran_key":{"type":"string","description":"Directa24 web pay status password.","format":"password","writeOnly":true},"cashout_login":{"type":"string","description":"Directa24 cashout login."},"cashout_password":{"type":"string","description":"Directa24 cashout password.","format":"password","writeOnly":true},"chargebackAccessKey":{"type":"string","description":"Directa24 chargeback access key (email)."},"chargebackSecretKey":{"type":"string","description":"Directa24 chargeback secret key.","format":"password","writeOnly":true}},"required":["x_login","x_tran_key","secret_key","web_pay_login","web_pay_tran_key"]},"settings":{"type":"object","description":"Directa24 settings object.","properties":{"banks":{"type":"array","description":"List of banks that is displayed to customers.","items":{"$ref":"#/components/schemas/Directa24Banks"}},"skipStep":{"type":"boolean","description":"Specifies whether to skip the enter user personal information step."},"useV3Api":{"type":"boolean","description":"Specifies whether to use Directa24 API version 3."},"storeIdNumber":{"type":"boolean","description":"Specifies whether to store the customer ID number for future use."}}}}}]},"EasyPayDirect":{"description":"EasyPayDirect gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EasyPayDirect credentials object.","properties":{"secretKey":{"type":"string","description":"API secret key of the EasyPayDirect account.","format":"password","writeOnly":true}},"required":["secretKey"]}}}]},"EBANX":{"description":"EBANX gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EBANX credentials object.","properties":{"integrationKey":{"type":"string","description":"EBANX integration key.","format":"password","writeOnly":true}},"required":["integrationKey"]}}}]},"EPG":{"description":"EPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPG credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the merchant."},"productId":{"type":"string","description":"ID of the product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"},"merchantPassword":{"type":"string","description":"Merchant password.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Merchant key.","format":"password","writeOnly":true}},"required":["merchantId","productId","merchantPassword","merchantKey"]}}}]},"EPro":{"description":"EPro gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"EPro credentials object.","properties":{"apiSecretKey":{"type":"string","description":"EPro secret API key.","format":"password","writeOnly":true}},"required":["apiSecretKey"]}}}]},"EcorePay":{"description":"EcorePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the EcorePay account."},"accountAuth":{"type":"string","description":"EcorePay account authentication.","format":"password","writeOnly":true}},"required":["accountId","accountAuth"]}}}]},"Elavon":{"description":"Elavon gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Elavon credentials object.","properties":{"ssl_merchant_id":{"type":"string","description":"ID of the Elavon merchant."},"ssl_user_id":{"type":"string","description":"ID of the Elavon user."},"ssl_pin":{"type":"string","description":"Elavon pin.","format":"password","writeOnly":true}},"required":["ssl_merchant_id","ssl_user_id","ssl_pin"]}}}]},"EMS":{"description":"EMS e-Commerce (XML) API gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"settings":{"type":"object","description":"EMS settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours."}}},"credentials":{"type":"object","description":"EMS credentials object.","properties":{"storeId":{"type":"string","description":"ID of the EMS store."},"userId":{"type":"string","description":"ID of the EMS account."},"password":{"type":"string","format":"password","description":"EMS password.","writeOnly":true},"privateKey":{"type":"string","format":"password","description":"Private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"Private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Client certificate.","x-multiline":true},"clientCertificatePassword":{"type":"string","format":"password","description":"Client certificate password.","writeOnly":true},"serverCertificate":{"type":"string","description":"Server certificate.","x-multiline":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPassword":{"type":"string","format":"password","description":"SFTP reconciliation password.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["storeId","userId","password","privateKey","privateKeyPassword","clientCertificate","clientCertificatePassword","serverCertificate"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ePay":{"description":"ePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ePay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ePay merchant."},"secretKey":{"type":"string","format":"password","description":"ePay secret key.","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"Euteller":{"description":"Euteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Euteller credentials object.","properties":{"username":{"type":"string","description":"Euteller username."},"password":{"type":"string","format":"password","description":"Euteller password.","writeOnly":true}},"required":["username","password"]}}}]},"Ezeebill":{"description":"Ezeebill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ezeebill credentials object.","properties":{"merchantId":{"type":"string","description":"Merchant ID (MID) of the Ezeebill gateway."},"accessId":{"type":"string","description":"Access ID of the Ezeebill gateway.","format":"password","writeOnly":true},"terminalId":{"type":"string","description":"Terminal ID of the Ezeebill gateway."},"operatorId":{"type":"string","description":"Operator ID of the Ezeebill gateway."},"password":{"type":"string","description":"API access operator password of the Ezeebill gateway.","format":"password","writeOnly":true},"hashKey":{"type":"string","description":"Hash key of the Ezeebill gateway.","format":"password","writeOnly":true}},"required":["merchantId","accessId","terminalId","operatorId","password","hashKey"]}}}]},"eZeeWallet":{"description":"eZeeWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"eZeeWallet credentials object.","properties":{"apiUsername":{"type":"string","description":"eZeeWallet API username.","format":"password","writeOnly":true},"apiPassword":{"type":"string","description":"eZeeWallet API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]},"ezyEFT":{"description":"ezyEFT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ezyEFT credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ezyEFT merchant."},"merchantToken":{"type":"string","format":"password","description":"ezyEFT merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"FinTecSystems":{"description":"FinTecSystems gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"FinTecSystems credentials object.","properties":{"apiKey":{"type":"string","description":"FinTecSystems API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"FinTecSystems settings object.","properties":{"recipientIBAN":{"type":"string","description":"IBAN of the recipient account."},"recipientBIC":{"type":"string","description":"BIC of the recipient account."},"recipientCountry":{"type":"string","description":"Two letter country code.","enum":["AT","CH","DE"]},"recipientHolder":{"type":"string","description":"Account holder of the recipient account."}},"required":["recipientIBAN","recipientBIC","recipientHolder","recipientCountry"]}}}]},"Finrax":{"description":"Finrax gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Finrax credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Finrax business."},"apiKey":{"type":"string","description":"Finrax API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Finrax API secret.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Finrax public key.\nThis value is used to verify IPN signature.","x-multiline":true}},"required":["businessId","apiKey","apiSecret"]},"settings":{"type":"object","description":"Finrax settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"Flexepin":{"description":"Flexepin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Flexepin API key."},"apiSecret":{"type":"string","description":"Flexepin API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]},"settings":{"type":"object","description":"Flexepin settings object.","properties":{"adjustAmountFromVoucher":{"type":"boolean","description":"Specifies whether to adjust the amount or currency based on a Flexepin voucher.","default":false,"example":false}}}}}]},"Forte":{"description":"Forte gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the Forte account."},"locationId":{"type":"string","description":"ID of the Forte location."},"apiAccessId":{"type":"string","description":"ID of the Forte API access.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Forte API secret key.","format":"password","writeOnly":true}},"required":["accountId","locationId","apiAccessId","apiSecretKey"]}}}]},"FundSend":{"description":"FundSend gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the FundSend client."},"secretWord":{"type":"string","description":"FundSend secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"gate2way":{"description":"gate2way gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"gate2way credentials object.","properties":{"apiKey":{"type":"string","description":"API key of gate2way account.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"API secret of gate2way account.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"GET":{"description":"GET gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the GET account."}},"required":["accountId"]}}}]},"Gigadat":{"description":"Gigadat gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gigadat credentials object.","properties":{"campaignId":{"type":"string","description":"ID of the Gigadat campaign."},"accessToken":{"type":"string","description":"Gigadat access token.","format":"password","writeOnly":true},"securityToken":{"type":"string","description":"Gigadat security token.","format":"password","writeOnly":true}},"required":["campaignId","accessToken","securityToken"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"methodType":{"type":"string","description":"Specifies whether the Gigadat method type is enforced as CPI or ETI, regardless of the payment method associated with the gateway account.","enum":["CPI","ETI"]},"autodepositLookup":{"type":"boolean","description":"Perform Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Autodeposit lookup result."}},"required":["sandbox"]}}}]},"GlobalOne":{"description":"GlobalOne gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the GlobalOne terminal."},"sharedSecret":{"type":"string","description":"GlobalOne shared secret.","format":"password","writeOnly":true}},"required":["terminalId","sharedSecret"]}}}]},"GoCardless":{"description":"GoCardless gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"GoCardless API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Gooney":{"description":"Gooney gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Gooney credentials object.","properties":{"apiUser":{"type":"string","description":"Gooney API user."},"apiPassword":{"type":"string","description":"Gooney API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Gooney API key."},"apiSecret":{"type":"string","description":"Gooney API secret.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey","apiSecret"]}}}]},"Gpaysafe":{"description":"Gpaysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Gpaysafe apiKey."}},"required":["apiKey"]}}}]},"Greenbox":{"description":"Greenbox gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Greenbox credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Greenbox client."},"locationId":{"type":"string","description":"ID of the Greenbox location."},"clientSecret":{"type":"string","description":"Greenbox client secret.","format":"password","writeOnly":true}},"required":["clientId","clientSecret","locationId"]}}}]},"HiPay":{"description":"HiPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"HiPay credentials object.","properties":{"apiUsername":{"type":"string","description":"HiPay API user name."},"apiPassword":{"type":"string","description":"HiPay API password.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword"]}}}]},"iCashOne":{"description":"Configuration object for the iCashOne gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for the iCashOne gateway.","properties":{"apiKey":{"writeOnly":true,"format":"password","type":"string","description":"API key for the iCashOne API."},"secretKey":{"writeOnly":true,"format":"password","type":"string","description":"Secret key for the iCashOne API."}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"Settings object for the iCashOne gateway.","properties":{"merchantName":{"type":"string","description":"Merchant name to be displayed on the checkout page."}}}}}]},"ICEPAY":{"description":"ICEPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ICEPAY credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ICEPAY merchant.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"ICEPAY API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"INOVAPAY":{"description":"INOVAPAY gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"INOVAPAY credentials object.","properties":{"apiKey":{"type":"string","description":"INOVAPAY API key."},"apiSecret":{"type":"string","description":"INOVAPAY API secret.","format":"password","writeOnly":true}},"required":["apiKey","apiSecret"]}}}]},"Ilixium":{"description":"Ilixium gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Ilixium credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Ilixium merchant."},"accountId":{"type":"string","description":"ID of the Ilixium account."},"digestPassword":{"type":"string","description":"Ilixium digest password.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantId","accountId","digestPassword"]},"settings":{"type":"object","description":"Ilixium settings object.","properties":{"useIpFrame":{"type":"boolean","description":"Specifies whether to force Ilixium to process using Ip Frame."},"useCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a previous approval credit endpoint for payouts."},"useStandaloneCreditEndpoint":{"type":"boolean","description":"Specifies whether to use a standalone (token) credit endpoint for payouts."},"platform":{"type":"string","description":"Direct API platform.","default":"itix","enum":["itix","tpg"]},"usePaceCreditEndpoint":{"type":"boolean","description":"Specifies whether to use PACE API endpoint for payouts."}}},"threeDSecureServer":{"type":"object","description":"Ilixium 3DS server.","properties":{"name":{"description":"Name of the merchant plug-in.","type":"string","enum":["Ilixium3dsServer"]}}}}}]},"IMerchant":{"description":"IMerchant gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials of the IMerchant gateway.","properties":{"apiKey":{"type":"string","description":"IMerchant API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Ingenico":{"description":"Ingenico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Ingenico merchant."},"apiKeyId":{"type":"string","description":"ID of the Ingenico API key."},"apiSecretKey":{"type":"string","description":"Ingenico API secret key.","format":"password","writeOnly":true},"skipFraudService":{"type":"boolean","description":"Ingenico skip fraud service."}},"required":["merchantId","apiKeyId","apiSecretKey"]}}}]},"Inovio":{"description":"Inovio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Inovio credentials object.","properties":{"username":{"type":"string","description":"Inovio username."},"password":{"type":"string","description":"Inovio password.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","description":"Inovio settings object.","properties":{"websiteId":{"type":"string","description":"ID of the Inovio website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"merchantAccountId":{"type":"string","description":"ID of the Inovio merchant account."},"productId":{"type":"string","description":"ID of the Inovio product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}},"required":["websiteId","merchantAccountId","productId"]}}}]},"InstaDebit":{"description":"InstaDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"InstaDebit credentials object.","properties":{"merchantId":{"type":"string","description":"InstaDebit merchant account number."},"password":{"type":"string","description":"InstaDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."}}}}}]},"Intuit":{"description":"Intuit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"Intuit client_id key."},"clientSecret":{"type":"string","description":"Intuit client_secret key.","format":"password","writeOnly":true}},"required":["clientId","clientSecret"]}}}]},"IpayOptions":{"description":"Ipay Options gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Ipay Options credentials object.","properties":{"sid":{"type":"string","description":"ID of the Ipay Options website."},"rcode":{"type":"string","description":"Ipay Options rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Ipay Options settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display an extra step where the user must enter their email and DNI number."},"subdomain":{"type":"string","description":"Subdomain to use when sending request to IpayOptions.","enum":["miglite","w88asiapay"]},"platform":{"type":"string","description":"Platform which IpayOptions processes.","enum":["SOAP","TxHandler","SecureHosted"]},"cardType":{"type":"string","description":"Manually set the card_type for iDEAL.","enum":["ideal","idealqr","sofort"]}}}}}]},"Isx":{"description":"Isx gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Isx credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Isx API merchant."},"workflow":{"type":"string","description":"Isx workflow."},"apiClient":{"type":"string","description":"Isx API client."},"apiToken":{"type":"string","description":"Isx API token.","format":"password","writeOnly":true}},"required":["merchantId","workflow","apiClient","apiToken"]}}}]},"JetPay":{"description":"JetPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"TerminalID":{"type":"string","description":"ID of the JetPay terminal."}},"required":["TerminalID"]}}}]},"Jeton":{"description":"Jeton gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Jeton API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Jeton secret.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","properties":{"method":{"type":"string","description":"Jeton method.","enum":["CHECKOUT","DIRECT","QR","JETGO"]}},"required":["method"]}}}]},"JPMOrbital":{"description":"JPMOrbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the JPMOrbital merchant."},"username":{"type":"string","description":"Username of the JPMOrbital merchant."},"password":{"type":"string","description":"Password of the JPMOrbital merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]}}}]},"Khelocard":{"description":"Khelocard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["merchantId","referrer","apiKey","apiSecret"],"properties":{"merchantId":{"type":"string","description":"ID of the Khelocard merchant."},"referrer":{"type":"string","description":"Referrer URL registered at Khelocard.","format":"uri"},"apiKey":{"type":"string","description":"Khelocard API key.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Khelocard API secret.","format":"password","writeOnly":true}}}}}]},"Klarna":{"description":"Klarna gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","password"],"properties":{"username":{"type":"string","description":"Klarna API username."},"password":{"type":"string","description":"Klarna API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["region"],"properties":{"region":{"type":"string","description":"Klarna API region.","enum":["EU","NA","OC"]},"usePayNowStandalone":{"type":"boolean","description":"Specifies whether to use the Klarna Pay Now Standalone method.","default":false,"example":false}}}}}]},"Konnektive":{"description":"Konnektive gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["loginId","password"],"properties":{"loginId":{"type":"string","description":"ID of the Konnektive API login."},"password":{"type":"string","description":"Konnektive API password.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Settings object.","required":["campaignId","productId"],"properties":{"campaignId":{"type":"string","description":"Konnektive campaign ID for which the order is being placed."},"productId":{"type":"string","description":"Konnektive campaign product ID for which the order is being placed.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}}}]},"Kushki":{"description":"Kushki gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Kushki credentials object.","properties":{"privateKey":{"writeOnly":true,"format":"password","type":"string","description":"Kushki private API key."}},"required":["privateKey"]},"settings":{"type":"object","description":"Kushki settings object.","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"LaCore":{"description":"LaCore gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LaCore credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the LaCore merchant."},"username":{"type":"string","description":"Username of the LaCore merchant."},"password":{"type":"string","description":"Password of the LaCore merchant.","format":"password","writeOnly":true}},"required":["merchantId","username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Limepay":{"description":"Limepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"xLogin":{"type":"string","description":"Limepay login."},"xTransKey":{"type":"string","description":"Limepay transKey."},"secretKey":{"type":"string","format":"password","description":"Limepay secret key.","writeOnly":true}},"required":["xLogin","xTransKey","secretKey"]},"settings":{"type":"object","description":"Limepay settings object.","properties":{"storeDocumentId":{"type":"boolean","description":"Specifies whether to store the document ID."}}}}}]},"Loonio":{"description":"Loonio gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Loonio credentials object.","properties":{"username":{"type":"string","description":"Username of the merchant."},"password":{"type":"string","description":"Password of the merchant.","format":"password","writeOnly":true},"accountId":{"type":"string","description":"Account ID of the merchant."}},"required":["username","password","accountId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"loonie":{"description":"loonie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"loonie credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the loonie merchant."},"merchantToken":{"type":"string","format":"password","description":"loonie merchant token.","writeOnly":true}},"required":["merchantId","merchantToken"]}}}]},"LPG":{"description":"LPG gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"LPG credentials object.","properties":{"publicKey":{"type":"string","description":"LPG public API key."},"secureKey":{"type":"string","description":"LPG secure API key.","format":"password","writeOnly":true},"payoutUsername":{"type":"string","description":"LPG payout account username.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"LPG payout account password.","format":"password","writeOnly":true}},"required":["publicKey","secureKey"]}}}]},"MaxiCash":{"description":"MaxiCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MaxiCash credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the MaxiCash API merchant."},"password":{"type":"string","description":"MaxiCash API password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"MercadoPago":{"description":"MercadoPago gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MercadoPago credentials object.","properties":{"publicKey":{"type":"string","description":"MercadoPago public key."},"accessToken":{"type":"string","description":"MercadoPago access token.","format":"password","writeOnly":true}},"required":["publicKey","accessToken"]},"settings":{"type":"object","description":"Settings object.","properties":{"collectDeviceId":{"type":"boolean","description":"Specifies collect and send device ID to MercadoPago.","default":false,"example":false}}}}}]},"MiFinity":{"description":"MiFinity gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MiFinity credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"MiFinity API key.","writeOnly":true},"mifinityAccountNumber":{"type":"string","format":"password","description":"MiFinity account number.","writeOnly":true},"accountHolderId":{"type":"string","description":"ID of the MiFinity account holder."},"brandId":{"type":"string","description":"Three-digit ID provided by MiFinity which indicates through which brand the call made."}},"required":["apiKey","mifinityAccountNumber","accountHolderId"]}}}]},"MobilePay":{"description":"MobilePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantSerialNumber":{"type":"string","description":"Serial number of the MobilePay merchant."},"subscriptionKey":{"type":"string","description":"Subscription key of the MobilePay merchant."},"clientId":{"type":"string","description":"ID of the MobilePay client."},"clientSecret":{"type":"string","description":"MobilePay client secret.","format":"password","writeOnly":true}},"required":["merchantSerialNumber","subscriptionKey","clientId","clientSecret"]}}}]},"Mollie":{"description":"Mollie gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Mollie credentials object.","properties":{"apiKey":{"type":"string","description":"Mollie API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Moneris":{"description":"Moneris gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiToken":{"type":"string","description":"Moneris API token.","format":"password","writeOnly":true},"storeId":{"type":"string","description":"ID of the Moneris store."}},"required":["storeId","apiToken"]}}}]},"Monolo":{"description":"Monolo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Monolo credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Monolo merchant account."},"apiKey":{"type":"string","description":"Monolo API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Monolo secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Monolo settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"MonRem":{"description":"MonRem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MonRem credentials object.","properties":{"clientId":{"type":"string","description":"Client ID of the MonRem."},"username":{"type":"string","description":"Username of the MonRem."},"password":{"type":"string","description":"Password of the MonRem.","format":"password","writeOnly":true},"clientSecret":{"type":"string","description":"Client secret of the MonRem.","format":"password","writeOnly":true}},"required":["clientId","username","password","clientSecret"]}}}]},"MtaPay":{"description":"MTA Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","properties":{"accountId":{"type":"string","description":"ID of the MTA Pay account."},"partyId":{"type":"string","description":"ID of the MTA Pay party."},"md5key":{"type":"string","description":"MTA Pay MD5 key.","format":"password","writeOnly":true}},"required":["accountId","partyId","md5key"]},"settings":{"type":"object","description":"MTA Pay settings object.","properties":{"goods":{"type":"string","description":"MTA Pay goods."},"mobilePay":{"type":"string","description":"MTA Pay mobile pay parameter."}},"required":["mobilePay","goods"]}}}]},"MuchBetter":{"description":"MuchBetter gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetter credentials object.","properties":{"merchantAccountId":{"type":"string","description":"ID of the MuchBetter merchant account."},"apiKey":{"type":"string","description":"MuchBetter API key.","format":"password","writeOnly":true}},"required":["merchantAccountId","apiKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"brandName":{"type":"string","description":"MuchBetter brand name used for reporting and logo."},"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetter.","default":false}}}}}]},"MuchBetterGateway":{"description":"MuchBetterGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MuchBetterGateway credentials object.","properties":{"apiKey":{"type":"string","description":"MuchBetterGateway API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"MuchBetterGateway secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]},"settings":{"type":"object","description":"MuchBetter settings object.","properties":{"hasPhoneNumberRequest":{"type":"boolean","description":"Specifies whether to request phone a number before submitting the request to MuchBetterGateway.","default":false}}}}}]},"MyFatoorah":{"description":"MyFatoorah gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"MyFatoorah credentials object.","properties":{"apiKey":{"type":"string","description":"MyFatoorah API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Naewe":{"description":"Naewe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Naewe credentials object.","properties":{"businessId":{"type":"string","description":"ID of the Naewe merchant account."},"apiKey":{"type":"string","description":"Naewe API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"Naewe secret.","format":"password","writeOnly":true}},"required":["businessId","apiKey","secret"]},"settings":{"type":"object","description":"Naewe settings object.","properties":{"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout."},"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."}}}}}]},"Neosurf":{"description":"Neosurf gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neosurf credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Neosurf merchant."},"secretKey":{"type":"string","description":"Neosurf API secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey"]}}}]},"NMI":{"description":"NMI gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username of the NMI merchant."},"password":{"type":"string","description":"Password of the NMI merchant.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"NMI API key.","format":"password","writeOnly":true}},"required":["username","password"]},"settings":{"type":"object","properties":{"disableStoredCredentials":{"description":"Specifies whether to disable NMI stored credentials for Customer Initiated Transactions (CIT) and Merchant Initiated Transactions (MIT).","type":"boolean","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Netbanking":{"description":"Netbanking gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Netbanking credentials object.","properties":{"midcode":{"type":"string","description":"Netbanking Merchant Identification (MID) code."},"midsecret":{"type":"string","description":"Netbanking Merchant Identification (MID) secret key.","format":"password","writeOnly":true}},"required":["midcode","midsecret"]}}}]},"Neteller":{"description":"Neteller gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Neteller credentials object.","properties":{"paysafePaymentsApiUsername":{"type":"string","description":"Neteller Paysafe Payments API username for a private key."},"paysafePaymentsApiPassword":{"type":"string","description":"Neteller Paysafe Payments API password for a private key.","format":"password","writeOnly":true}},"required":["paysafePaymentsApiUsername","paysafePaymentsApiPassword"]},"settings":{"type":"object","properties":{"populateCustomerEmail":{"type":"boolean","description":"Specifies whether to the populate customer email at payment."}}}}}]},"NGenius":{"description":"NGenius gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NGenius credentials object.","properties":{"outletId":{"type":"string","description":"ID of the NGenius outlet."},"apiKey":{"type":"string","description":"NGenius API key.","format":"password","writeOnly":true}},"required":["outletId","apiKey"]}}}]},"NinjaWallet":{"description":"NinjaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NinjaWallet credentials object.","properties":{"apiKey":{"type":"string","description":"NinjaWallet API key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"NinjaWallet secret.","format":"password","writeOnly":true},"passphrase":{"type":"string","description":"NinjaWallet passphrase.","format":"password","writeOnly":true}},"required":["apiKey","secret","passphrase"]}}}]},"NordikCoin":{"description":"NordikCoin gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NordikCoin credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the NordikCoin merchant."},"secret":{"type":"string","description":"NordikCoin secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]}}}]},"NOWPayments":{"description":"NOWPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NOWPayments credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true},"ipnSecret":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey","ipnSecret"]},"settings":{"type":"object","description":"NOWPayments settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"NuaPay":{"description":"NuaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"NuaPay credentials object.","properties":{"nuaPayCommonName":{"type":"string","description":"NuaPay common name."},"nuaPaySerialNumber":{"type":"string","description":"NuaPay serial number."},"nuaPayAccountId":{"type":"string","description":"ID of the NuaPay account."},"nuaPayOriginatorIban":{"type":"string","description":"NuaPay origiantor IBAN.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key.","format":"password","writeOnly":true},"nuaPayPrivateKey":{"type":"string","description":"NuaPay private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["nuaPayCommonName","nuaPaySerialNumber","nuaPayAccountId","nuaPayOriginatorIban","nuaPayApiKey","nuaPayPrivateKey"]}}}]},"OchaPay":{"description":"OchaPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiUsername":{"type":"string","description":"OchaPay username."},"apiPassword":{"type":"string","description":"OchaPay API password.","format":"password","writeOnly":true},"secretWord":{"type":"string","description":"OchaPay secret word.","format":"password","writeOnly":true}},"required":["apiUsername","apiPassword","secretWord"]}}}]},"OmniMatrix":{"description":"OmniMatrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OmniMatrix credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the OmniMatrix merchant."},"secret":{"type":"string","description":"OmniMatrix secret key.","format":"password","writeOnly":true}},"required":["merchantId","secret"]},"settings":{"type":"object","description":"OmniMatrix settings object.","properties":{"usePreconfiguredAmounts":{"type":"boolean","description":"Specifies if the user must be redirected to a hosted page to select the closest amount when it is not in the list of preconfigured amounts.","default":false,"example":false}}}}}]},"Onlineueberweisen":{"description":"Onlineueberweisen gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Onlineueberweisen credentials object.","properties":{"apiKey":{"type":"string","description":"Onlineueberweisen API key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"isxSiinSecret":{"type":"string","description":"Secret for checksum verification for SEPA Instant Instant Notification (SIIN).","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["apiKey"]},"settings":{"type":"object","description":"Onlineueberweisen settings object.","properties":{"payformCode":{"type":"string","description":"Onlineueberweisen code to use a customized PayForm template.","default":"default"},"extraStep":{"type":"boolean","description":"Specifies whether to display a page where the user must enter their bank country and account holder name.","default":false}}}}}]},"OnRamp":{"description":"OnRamp gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"OnRamp credentials object.","properties":{"apiKey":{"type":"string","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"OnRamp settings object.","properties":{"useServerToServerApi":{"type":"boolean","description":"Specifies whether to use OnRamp server to server API.","default":false},"logoUrl":{"type":"string","description":"Set this value to use a custom logo.","format":"uri"}}}}}]},"Orbital":{"description":"Orbital gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Orbital credentials object.","properties":{"apiKey":{"type":"string","description":"Orbital API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Orbital settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","enum":["USD","EUR","GBP"]},"mainCryptoCurrency":{"description":"Blockchain network to be used.","type":"string","enum":["ETH","SOL","TRX"]},"logoImageUrl":{"description":"Logo image in PNG or SVG format to be displayed on the deposit screen.","type":"string"},"productImageUrl":{"description":"Product image in JPEG format to be displayed on the deposit screen.","type":"string"}}}}}]},"Pagadito":{"description":"Pagadito gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pagadito credentials object.","properties":{"uid":{"type":"string","format":"password","description":"Pagadito UID.","writeOnly":true},"wsk":{"type":"string","format":"password","description":"Pagadito WSK.","writeOnly":true}},"required":["uid","wsk"]},"settings":{"type":"object","properties":{"useRecurringApi":{"type":"boolean","default":false,"description":"Specifies whether to use the Pagadito API for reoccurring payments."}}}}}]},"Pagsmile":{"description":"Pagsmile gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Pagsmile merchant."},"appId":{"type":"string","description":"ID of the Pagsmile application."},"secretKey":{"type":"string","description":"Pagsmile MD5 key.","format":"password","writeOnly":true},"apiSecretKey":{"type":"string","description":"Pagsmile secret key for the Trade Pay API.\nThe key starts with `Pagsmile_sk`.","format":"password","writeOnly":true}},"required":["merchantId","appId","secretKey"]},"settings":{"type":"object","description":"Pagsmile settings object.","properties":{"useTradePay":{"type":"boolean","description":"Specifies whether to use the Trade Pay API.","default":false,"example":false}}}}}]},"Panamerican":{"description":"Panamerican gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Panamerican credentials object.","properties":{"key":{"type":"string","description":"Panamerican key."},"password":{"type":"string","description":"Panamerican password.","format":"password","writeOnly":true}},"required":["key","password"]},"settings":{"type":"object","description":"Panamerican settings object.","properties":{"extraStep":{"type":"boolean","description":"Specifies whether to display a step where the user must enter their ID number."},"convertToAscii":{"type":"boolean","description":"Specifies whether to convert all chars to ascii."}},"required":["extraStep"]}}}]},"PandaGateway":{"description":"Panda gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Panda merchant code."},"apiCode":{"type":"string","description":"Panda API code."},"signKey":{"type":"string","description":"Panda sign key.","format":"password","writeOnly":true}},"required":["merchantCode","apiCode","signKey"]}}}]},"ParamountCommerce":{"description":"ParamountCommerce gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountCommerce credentials object.","properties":{"merchantId":{"type":"string","description":"ParamountCommerce merchant ID."},"appId":{"type":"string","description":"ParamountCommerce application ID."},"clientId":{"type":"string","description":"ParamountCommerce client ID."},"clientSecret":{"type":"string","description":"ParamountCommerce client secret.","format":"password","writeOnly":true}},"required":["merchantId","appId","clientId","clientSecret"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"string","description":"ParamountCommerce merchant sub ID."},"merchantTransactionType":{"type":"string","description":"ParamountCommerce merchant transaction type.","enum":["POKER","CASINO","BINGO","SPORTS_BETTING","DIGITAL_REMITTANCE","E_SPORTS"]},"useDirectDeposit":{"type":"boolean","description":"Specifies whether to use One-Click Payments.","default":false,"example":false}},"required":["merchantSubId","merchantTransactionType"]}}}]},"ParamountEft":{"description":"Paramount gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paramount credentials object.","properties":{"merchant_id":{"type":"string","description":"ID of the merchant account."},"merchant_pass":{"type":"string","description":"Merchant account password.","format":"password","writeOnly":true},"payee":{"type":"string","description":"Merchant name or descriptor."}},"required":["merchant_id","merchant_pass","payee"]}}}]},"ParamountInterac":{"description":"ParamountInterac gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ParamountInterac credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the ParamountInterac merchant."},"encryptionKey":{"type":"string","description":"ParamountInterac encryption key.","format":"password","writeOnly":true},"password":{"type":"string","description":"ParamountInterac password for query.","format":"password","writeOnly":true}},"required":["merchantId","encryptionKey","password"]},"settings":{"type":"object","properties":{"sandbox":{"type":"boolean","description":"Specifies if the gateway account is in sandbox mode.","default":false},"merchantSubId":{"type":"integer","description":"Sub ID of the merchant or organization."},"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."},"paymentFlow":{"type":"string","description":"Specifies whether to create an Interac payment request loaded directly on a specific preselected payment flow, and skip the flow selection page.","enum":["request_money","manual"]}}}}}]},"Pay4Fun":{"description":"Pay4Fun gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Pay4Fun credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Pay4Fun merchant."},"merchantSecret":{"type":"string","description":"Pay4Fun merchant secret.","format":"password","writeOnly":true},"merchantKey":{"type":"string","description":"Pay4Fun merchant key.","format":"password","writeOnly":true}},"required":["merchantId","merchantSecret","merchantKey"]}}}]},"Paybilt":{"description":"Paybilt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paybilt credentials object.","properties":{"tokenId":{"type":"string","description":"ID of the Paybilt token API."},"tokenApiKey":{"type":"string","description":"Paybilt token API key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"Paybilt API key.","format":"password","writeOnly":true},"hmacKey":{"type":"string","description":"Paybilt HMAC key used to verify webhook signatures.","format":"password","writeOnly":true}},"required":["tokenId","tokenApiKey","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0}}}}}]},"PayCash":{"description":"PayCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCash credentials object.","properties":{"emisor":{"type":"string","description":"PayCash merchant identifier."},"token":{"type":"string","description":"PayCash token.","format":"password","writeOnly":true}},"required":["emisor","token"]}}}]},"PayClub":{"description":"PayClub gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayClub credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayClub merchant."},"accountNumber":{"type":"string","description":"PayClub account number."},"signKey":{"type":"string","format":"password","description":"PayClub sign key.","writeOnly":true}},"required":["merchantId","accountNumber","signKey"]},"settings":{"type":"object","properties":{"use3DSChannel":{"type":"boolean","description":"Specifies whether to use a 3DS channel."}}}}}]},"Paycly":{"description":"Paycly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paycly credentials object.","properties":{"apiToken":{"writeOnly":true,"format":"password","type":"string","description":"Paycly API token."},"websiteId":{"writeOnly":true,"type":"string","description":"Paycly Website ID."}},"required":["apiToken","websiteId"]}}}]},"PayCom":{"description":"PayCom gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayCom credentials object.","properties":{"apiKey":{"type":"string","description":"PayCom API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayEcards":{"description":"PayEcards gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayEcards credentials object.","properties":{"clientKey":{"type":"string","description":"Client key of the PayEcards gateway."},"password":{"type":"string","description":"Password of the PayEcards gateway.","format":"password","writeOnly":true},"paymentUrl":{"type":"string","description":"Payment URL of the PayEcards gateway for S2S integration."}},"required":["clientKey","password","paymentUrl"]}}}]},"Paynote":{"description":"Paynote gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publicKey":{"type":"string","description":"Paynote public key."},"secretKey":{"type":"string","format":"password","description":"Paynote secret key.","writeOnly":true}},"required":["publicKey","secretKey"]}}}]},"PayPal":{"description":"PayPal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"PayPal credentials object.\nThis object specifies the PayPal Partner account from which a gateway account is registered.","properties":{"partnerId":{"type":"string","description":"ID of the PayPal Partner account."},"partnerClientId":{"type":"string","description":"ID of the PayPal Partner account API client."},"partnerSecret":{"type":"string","description":"Secret key for the PayPal Partner account API client.","format":"password","writeOnly":true},"partnerBnCode":{"type":"string","description":"BN Code for the PayPal Partner account.\nThis unique code tracks the source of API requests."}}},"settings":{"type":"object","description":"PayPal settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on PayPal.","format":"uri"},"enableGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to allow users without PayPal accounts to pay using credit or debit cards."},"useHostedCheckoutForm":{"type":"boolean","default":false,"description":"Specifies whether to use a Rebilly hosted PayPal form instead of redirecting customers to PayPal.\nFor more information, see [Create a payment form using the Rebilly API](https://www.rebilly.com/docs/dev-docs/create-a-hosted-payment-form/)."},"forceGuestCheckout":{"type":"boolean","default":false,"description":"Specifies whether to suppress the PayPal payment method when a guest checkout is available.\nThis option is only applicable when `useHostedCheckoutForm` is enabled."},"enableAlternativePaymentMethods":{"type":"boolean","default":false,"description":"Specifies whether to allow customers to pay using the alternative payment options supported by PayPal.\nWhen enabled, customers must manually approve all payments."}}}}}]},"Payeezy":{"description":"Payeezy gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Payeezy merchant."},"merchantToken":{"type":"string","description":"Merchant token.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"API key."},"apiSecret":{"type":"string","description":"API secret.","format":"password","writeOnly":true}},"required":["merchantId","merchantToken","apiKey","apiSecret"]}}}]},"Payflow":{"description":"Payflow gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payflow credentials object.","properties":{"user":{"type":"string","description":"Payflow user.\nIf you set up one or more additional users on the account,\nthis value is the ID of the user that is authorized to process transactions.\nIf do not set up additional users on the account,\n`user` has the same value as `vendor`."},"vendor":{"type":"string","description":"ID of the Payflow merchant login."},"password":{"type":"string","description":"Payflow merchant password.","format":"password","writeOnly":true}},"required":["user","vendor","password"]}}}]},"PayGlocal":{"description":"PayGlocal gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayGlocal credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayGlocal merchant (MID)."},"privateKeyId":{"type":"string","description":"Key ID of the merchant RSA private key used to sign payment API requests."},"publicKeyId":{"type":"string","description":"Key ID of the PayGlocal RSA public key used to encrypt payment API request payloads."},"publicKey":{"type":"string","description":"PayGlocal RSA public key used to encrypt payment API request payloads and verify merchant callback token signatures.","x-multiline":true},"privateKey":{"type":"string","description":"Merchant RSA private key used to sign payment API requests.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantId","privateKeyId","publicKeyId","publicKey","privateKey"]}}}]},"PaymentAsia":{"description":"PaymentAsia gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PaymentAsia credentials object.","properties":{"apiKey":{"type":"string","format":"password","description":"PaymentAsia API key.","writeOnly":true}},"required":["apiKey"]}}}]},"PaymenTechnologies":{"description":"PaymenTechnologies gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"ID of the PaymenTechnologies authenticate."},"authenticatePw":{"type":"string","description":"PaymenTechnologies authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"PaymenTechnologies API public key."},"secretKey":{"type":"string","description":"PaymenTechnologies API secret key.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PaymenTechnologies API key required for query operations.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey","apiKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"PaymentsOS":{"description":"PaymentsOS gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"appId":{"type":"string","description":"ID of the PaymentsOS application."},"publicKey":{"type":"string","description":"PaymentsOS public key."},"privateKey":{"type":"string","format":"password","description":"PaymentsOS private key.","writeOnly":true}},"required":["appId","privateKey","publicKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Paymero":{"description":"Paymero gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Paymero credentials object.","properties":{"apiKey":{"type":"string","description":"Paymero API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Paymero settings object.","properties":{"targetCurrency":{"description":"Currency to which the received cryptocurrency is converted.","type":"string","minLength":3,"maxLength":3,"example":"USD"},"mainCurrency":{"description":"Blockchain on which the currency is processed.","type":"string","enum":["TRX","ETH"]},"amountExceeded":{"description":"Specifies whether to decline transactions when the amount received exceeds the amount requested.","type":"boolean","default":false}}}}}]},"Payper":{"description":"Payper gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Payper credentials object.","required":["secretKey"],"properties":{"secretKey":{"type":"string","format":"password","description":"Payper secret key.","writeOnly":true}}},"settings":{"type":"object","properties":{"autodepositLookup":{"type":"boolean","description":"Perform Interac e-Transfer Autodeposit lookup before a payout.","default":false},"autodepositLookupInterval":{"type":"integer","description":"Number of days to suppress Interac e-Transfer Autodeposit lookup."},"bypassAutodepositLookup":{"type":"boolean","default":false,"description":"Specifies whether to proceed with the payout regardless of the Interac e-Transfer Autodeposit lookup result."}}}}}]},"Payr":{"description":"Payr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Payr client."},"secretWord":{"type":"string","description":"Payr secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API.\nThis API is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API.\nThis API is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"PayRedeem":{"description":"PayRedeem gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRedeem credentials object.","properties":{"apiUser":{"type":"string","description":"PayRedeem API user."},"apiPassword":{"type":"string","description":"PayRedeem API password.","format":"password","writeOnly":true},"apiKey":{"type":"string","description":"PayRedeem API key.","format":"password","writeOnly":true}},"required":["apiUser","apiPassword","apiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayRetailers":{"description":"PayRetailers gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayRetailers credentials object.","properties":{"shopId":{"type":"string","description":"ID of the PayRetailers shop."},"secretKey":{"type":"string","description":"Secret key value of the PayRetailers API.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]},"Paysafe":{"description":"Paysafe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"storeId":{"type":"string","description":"ID of the Paysafe store."},"storePwd":{"type":"string","description":"Paysafe store password.","format":"password","writeOnly":true},"accountNum":{"type":"string","description":"Paysafe account number."}},"required":["storeId","storePwd","accountNum"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Paysafecard":{"description":"Paysafecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecard API key.","format":"password","writeOnly":true},"reconciliationApiKey":{"type":"string","description":"Paysafecard reconciliation API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Paysafecash":{"description":"Paysafecash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"apiKey":{"type":"string","description":"Paysafecash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"PayTabs":{"description":"PayTabs gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayTabs credentials object.","properties":{"profileId":{"type":"string","description":"ID of the PayTabs profile."},"clientKey":{"type":"string","description":"PayTabs client key."},"serverKey":{"type":"string","format":"password","description":"PayTabs server key.","writeOnly":true}},"required":["profileId","clientKey","serverKey"]},"settings":{"type":"object","properties":{"baseUrl":{"type":"string","description":"Base URL for PayTabs API."}}}}}]},"PayU":{"description":"PayU gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayU credentials object.","properties":{"merchantKey":{"type":"string","description":"Merchant key of the PayU merchant."},"merchantSalt":{"type":"string","description":"Merchant salt of the PayU merchant.","format":"password","writeOnly":true}},"required":["merchantKey","merchantSalt"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PayULatam":{"description":"PayULatam gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PayULatam credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the PayULatam merchant."},"accountId":{"type":"string","description":"ID of the PayULatam account."},"apiLogin":{"type":"string","description":"PayULatam API login."},"apiKey":{"type":"string","description":"PayULatam API key.","format":"password","writeOnly":true}},"required":["merchantId","accountId","apiLogin","apiKey"]}}}]},"Payvision":{"description":"Payvision gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"memberId":{"type":"string","description":"ID of the Payvision member."},"memberGuid":{"type":"string","description":"Payvision member guid.","format":"password","writeOnly":true}},"required":["memberId","memberGuid"]},"settings":{"type":"object","description":"Payvision settings object.","properties":{"avs":{"type":"boolean","description":"Specifies whether to use Payvision AVS."},"delay":{"type":"integer","description":"Automatic capture delay in hours."},"merchantAccountType":{"type":"integer","description":"Payvision merchant account type."}},"required":["merchantAccountType"]}}}]},"PayXpert":{"description":"Configuration for the PayXpert gateway.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object for PayXpert.","properties":{"username":{"type":"string","description":"Username for the PayXpert API."},"password":{"type":"string","description":"Password for the PayXpert API.","format":"password","writeOnly":true}},"required":["username","password"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PharosPayments":{"description":"PharosPayments gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PharosPayments credentials object.","properties":{"username":{"type":"string","description":"Authentication username."},"password":{"description":"Authentication password.","type":"string","format":"password"},"merchantCode":{"type":"string","description":"Merchant code."},"terminalCode":{"type":"string","description":"Terminal code."}},"required":["username","password","merchantCode","terminalCode"]}}}]},"Piastrix":{"description":"Piastrix gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Piastrix credentials object.","properties":{"shopId":{"type":"string","description":"ID of the Piastrix shop."},"secretKey":{"type":"string","description":"Piastrix secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]},"settings":{"type":"object","description":"Piastrix settings object.","properties":{"tolerancePercentage":{"type":"integer","description":"Tolerance percentage for settled amounts.","minimum":0,"maximum":5,"example":5}}}}}]},"Pin4Pay":{"description":"Pin4Pay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Credentials object.","required":["username","requestOrigin","codigoCliente","keyValue"],"properties":{"username":{"type":"string","description":"Pin4Pay API username."},"requestOrigin":{"type":"string","description":"Pin4Pay API request origin."},"codigoCliente":{"type":"string","description":"Pin4Pay API codigo cliente."},"keyValue":{"type":"string","description":"Pin4Pay API password.","format":"password","writeOnly":true}}}}}]},"Plugnpay":{"description":"Plugnpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"publisher-name":{"type":"string","description":"ID of the Plugnpay member."},"publisher-password":{"type":"string","description":"Plugnpay AVS.","format":"password","writeOnly":true}},"required":["publisher-name","publisher-password"]}}}]},"PostFinance":{"description":"PostFinance gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PostFinance credentials object.","properties":{"pspId":{"type":"string","description":"ID of the PostFinance PSP."},"merchantId":{"type":"string","description":"ID of the PostFinance merchant."},"sftpUsername":{"type":"string","description":"PostFinance SFTP username."},"publicKey":{"type":"string","x-multiline":true,"description":"PostFinance public key."},"privateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance private key.","writeOnly":true},"keyPassphrase":{"type":"string","format":"password","description":"PostFinance key passphrase.","writeOnly":true},"sftpPrivateKey":{"type":"string","format":"password","x-multiline":true,"description":"PostFinance SFTP private key.","writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"PostFinance SFTP key passphrase.","writeOnly":true}},"required":["pspId","merchantId","sftpUsername","publicKey","privateKey","keyPassphrase","sftpPrivateKey","sftpKeyPassphrase"]},"settings":{"type":"object","properties":{"skipPaymentFileUpload":{"type":"boolean","default":false,"description":"Specifies whether to skip the payment file upload screen."},"enableAliasAuthentication":{"type":"boolean","default":false,"description":"Specifies whether to enable alias authentication."}}}}}]},"Powertranz":{"description":"Powertranz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Powertranz credentials object.","properties":{"merchantId":{"type":"string","description":"Powertranz merchant ID."},"password":{"type":"string","description":"Powertranz password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"PSiGate":{"description":"PSiGate gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"Username or store name."},"password":{"type":"string","description":"Password of the PSiGate gateway account.","format":"password","writeOnly":true},"clientId":{"type":"string","description":"Client ID."},"clientApiKey":{"type":"string","description":"Client API key.","format":"password","writeOnly":true},"disputeUsername":{"type":"string","description":"Username for fetching disputes."},"disputePassword":{"type":"string","description":"Password for fetching disputes.","format":"password","writeOnly":true}},"required":["username","password","clientId","clientApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"PPRO":{"description":"PPRO gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"PPRO credentials object.","properties":{"login":{"type":"string","description":"PPRO merchant API username."},"password":{"type":"string","description":"PPRO merchant API password.","format":"password","writeOnly":true},"contractId":{"type":"string","description":"ID of the PPRO contract.\nThis value is used for API credentials."},"privateKey":{"type":"string","format":"password","description":"PPRO private key.","x-multiline":true,"writeOnly":true},"privateKeyPassword":{"type":"string","format":"password","description":"PPRO private key password.","writeOnly":true},"clientCertificate":{"type":"string","description":"Public key.","x-multiline":true},"serverCertificate":{"type":"string","description":"PPRO CA certificate.","x-multiline":true},"notificationSecret":{"type":"string","format":"password","description":"Secret used for IPN URLs.","writeOnly":true},"sharedSecret":{"type":"string","format":"password","description":"Secret used for redirect URLs.","writeOnly":true}},"required":["login","password","contractId","privateKey","privateKeyPassword","clientCertificate","serverCertificate","notificationSecret","sharedSecret"]}}}]},"Prosa":{"description":"Prosa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Prosa credentials object.","properties":{"entityId":{"type":"string","description":"ID of the Prosa entity."},"accessToken":{"type":"string","format":"password","description":"Prosa access token.","writeOnly":true}},"required":["entityId","accessToken"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Quickpay":{"description":"Quickpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Quickpay credentials object.","properties":{"apiKey":{"type":"string","description":"Quickpay API key.","format":"password","writeOnly":true},"privateKey":{"type":"string","description":"Private key of the Quickpay account that signs callback checksums.","format":"password","writeOnly":true}},"required":["apiKey","privateKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Rapyd":{"description":"Rapyd gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Rapyd credentials object.","properties":{"accessKey":{"type":"string","description":"Rapyd access key."},"secretKey":{"type":"string","format":"password","description":"Rapyd secret key.","writeOnly":true}},"required":["accessKey","secretKey"]},"settings":{"type":"object","description":"Rapyd settings object.","properties":{"ipnUrl":{"type":"string","description":"Instant Payment Notification (IPN) URL configured on Rapyd.\nThis value is used to calculate the signature."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"RPN":{"description":"RPN gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"mid":{"type":"string","description":"RPN merchant identifier."},"key":{"type":"string","description":"RPN key.","format":"password","writeOnly":true}},"required":["mid","key"]}}}]},"Realex":{"description":"Realex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantId":{"type":"string","description":"ID of the Realex merchant."},"secretKey":{"type":"string","description":"Realex secret key.","format":"password","writeOnly":true},"rebatePassword":{"type":"string","description":"Realex rebate password.","format":"password","writeOnly":true},"account":{"type":"string","description":"Realex account."}},"required":["merchantId","secretKey","rebatePassword","account"]}}}]},"Realtime":{"description":"Realtime gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the Realtime client."},"secretWord":{"type":"string","description":"Realtime secret word.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"Redsys":{"description":"Redsys gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Redsys merchant code.","format":"password","writeOnly":true},"secretCode":{"type":"string","description":"Redsys secret code.","format":"password","writeOnly":true}},"required":["merchantCode","secretCode"]},"settings":{"type":"object","description":"Redsys settings object.","properties":{"terminal":{"type":"string","description":"Redsys terminal."}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Rotessa":{"description":"Rotessa gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Rotessa credentials object.","properties":{"apiKey":{"type":"string","description":"Rotessa API key.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Rotessa settings object.","properties":{"delay":{"type":"integer","description":"Automatic capture delay."}},"required":["delay"]}}}]},"Safecharge":{"description":"Safecharge gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Safecharge credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Safecharge merchant."},"siteId":{"type":"string","description":"ID of the Safecharge site."},"secretKey":{"type":"string","description":"Safecharge secret key.","format":"password","writeOnly":true}},"required":["merchantId","secretKey","siteId"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"SaltarPay":{"description":"SaltarPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SaltarPay credentials object.","properties":{"apiKey":{"type":"string","description":"SaltarPay API key.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"SaltarPay secret key.","format":"password","writeOnly":true}},"required":["apiKey","secretKey"]}}}]},"SMSVoucher":{"description":"SMSVoucher gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"AppId":{"type":"string","description":"ID of the SMSVoucher application."}},"required":["AppId"]}}}]},"Sofort":{"description":"Sofort gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Sofort credentials object.","properties":{"configKey":{"type":"string","description":"Sofort configuration key.","format":"password","writeOnly":true},"nuaPayApiKey":{"type":"string","description":"NuaPay API key for reconciliation.","format":"password","writeOnly":true},"nuaPayAccountId":{"type":"string","description":"NuaPay account ID for reconciliation."}},"required":["configKey"]}}}]},"Sagepay":{"description":"Sagepay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"M_ID":{"type":"string","description":"ID of the Sagepay merchant."},"M_KEY":{"type":"string","description":"Sagepay merchant key.","format":"password","writeOnly":true}},"required":["M_ID","M_KEY"]}}}]},"SeamlessChex":{"description":"SeamlessChex gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SeamlessChex credentials object.","properties":{"publicKey":{"type":"string","description":"SeamlessChex publishable key."},"secretKey":{"type":"string","description":"SeamlessChex secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]}}}]},"SecureTrading":{"description":"SecureTrading gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecureTrading credentials object.","properties":{"websiteId":{"type":"string","description":"ID of the SecureTrading website.","maxLength":50,"example":"web_0YV7DE4Z26DQSA1AC92FBJ7SEG"},"username":{"type":"string","description":"SecureTrading web service username."},"password":{"type":"string","description":"SecureTrading web service password.","format":"password","writeOnly":true},"notificationPassword":{"type":"string","description":"SecureTrading notification password.\nThis password is used to authenticate webhook requests.","format":"password","writeOnly":true}},"required":["websiteId","username","password","notificationPassword"]},"settings":{"type":"object","description":"SecureTrading settings object.","properties":{"enableRecurring":{"type":"boolean","description":"Enables recurring payments.","default":false},"useParentTransactionOnFile":{"type":"boolean","description":"Enables subsequent MIT payments to include \"parenttransactionreference\" value.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"SecurionPay":{"description":"SecurionPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SecurionPay credentials object.","properties":{"secretApiKey":{"type":"string","format":"password","description":"SecurionPay secret API key.","writeOnly":true}},"required":["secretApiKey"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Skrill":{"description":"Skrill gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Skrill credentials object.","properties":{"accountEmail":{"type":"string","description":"Email address of your Skrill merchant account."},"secretWord":{"type":"string","description":"Secret word used for MD5 signature verifications.","format":"password","writeOnly":true},"mqiPassword":{"type":"string","description":"Password used during MQI or API requests.","format":"password","writeOnly":true},"currencyAccountIds":{"type":"string","description":"Comma-separated list of currency account IDs."},"merchantId":{"type":"string","description":"ID of the Skrill merchant account.\nThis value is required if `enableCustomerVerification` is set to `true`."}},"required":["accountEmail","secretWord"]},"settings":{"type":"object","properties":{"merchantFields":{"type":"string","description":"Comma-separated list of name-value merchant field pairs.\nExample: `key1:value1,key2:value2`."},"useSPX":{"type":"boolean","description":"Specifies whether to use SPX code for PIX payment method.","default":false},"enableCustomerVerification":{"type":"boolean","description":"Specifies whether to perform a Customer Verification Service check before the payout.","default":false,"example":false}}}}}]},"SmartInvoice":{"description":"SmartInvoice gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SmartInvoice credentials object.","properties":{"merchantId":{"type":"string","description":"SmartInvoice merchant account UID."},"applicationId":{"type":"string","description":"SmartInvoice application UID.","format":"password","writeOnly":true}},"required":["merchantId","applicationId"]}}}]},"SparkPay":{"description":"SparkPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"SparkPay credentials object.","properties":{"shopId":{"type":"string","description":"ID of the SparkPay shop."},"secretKey":{"type":"string","description":"SparkPay secret key.","format":"password","writeOnly":true}},"required":["shopId","secretKey"]}}}]},"Splitit":{"description":"Splitit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"Splitit terminal ID."},"username":{"type":"string","description":"Splitit username."},"password":{"type":"string","description":"Splitit password.","format":"password","writeOnly":true}},"required":["terminalId","username","password"]},"settings":{"type":"object","description":"Splitit settings object.","properties":{"numberOfInstallmentsCustomField":{"type":"string","description":"Name of the transaction custom field that holds the number of installments."}}}}}]},"StaticGateway":{"description":"StaticGateway gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"}]},"STPMexicoBanks":{"type":"integer","enum":[37006,37009,37019,37135,37166,37168,40002,40012,40014,40021,40030,40036,40037,40042,40044,40058,40059,40060,40062,40072,40102,40103,40106,40108,40110,40112,40113,40124,40126,40127,40128,40129,40130,40131,40132,40133,40136,40137,40138,40140,40141,40143,40145,40147,40148,40150,40151,40152,40154,40155,40156,40158,90600,90601,90602,90605,90606,90608,90613,90614,90616,90617,90620,90621,90623,90626,90627,90628,90630,90631,90634,90636,90637,90638,90640,90642,90646,90648,90649,90652,90653,90655,90656,90659,90670,90671,90674,90677,90678,90679,90680,90681,90683,90684,90685,90686,90687,90689,90901,90902]},"STPMexico":{"description":"STP Mexico gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"STP Mexico credentials object.","properties":{"companyName":{"type":"string","description":"STP Mexico account company name."},"beneficiaryName":{"type":"string","description":"Name of the bank account holder that is receiving payments."},"bankId":{"description":"ID of the bank receiving payments.\nA list of bank IDs can be found in STP Mexico integration documentation.","$ref":"#/components/schemas/STPMexicoBanks"},"bankAccountNumber":{"type":"string","description":"Bank account number of the payments recipient."},"privateKey":{"type":"string","description":"STP Mexico private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"Passphrase for the private key.","format":"password","writeOnly":true}},"required":["companyName","beneficiaryName","bankId","bankAccountNumber","privateKey","keyPassphrase"]}}}]},"Stripe":{"description":"Stripe gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["settings"],"properties":{"credentials":{"type":"object","description":"Stripe Connect credentials object.\nThe credentials object may be provided to control the Stripe Connect account to which the gateway account is connected.","properties":{"stripeClientId":{"type":"string","description":"ID of the Stripe account client."},"stripeSecret":{"type":"string","description":"Stripe Connect account secret key account.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"Stripe settings object.","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","description":"URL where the user is redirected after authorizing the account on Stripe.","format":"uri"},"disablePaymentIntents":{"type":"boolean","description":"Specifies whether to use the Charges API instead of the PaymentIntents API.","default":false},"enforceOffSession":{"type":"boolean","description":"Specifies if the `off_session` parameter is set to `true` in Stripe requests.","default":false},"copyCredentialsFrom":{"type":"string","description":"ID of an existing Stripe gateway account from which credentials are copied in order to skip the onboarding process."},"setupFutureUsage":{"type":"string","description":"Indicates intent to make future payments with this payment method.\n- `on_session`: Reuse the payment method when the customer is present.\n- `off_session`: Reuse the payment method when the customer may or may not be present.","enum":["off_session","on_session"]},"applicationFeePercentage":{"type":"integer","description":"Percentage of transaction amount uses for sending application fee to Stripe.","minimum":0,"maximum":100},"includeCardNetwork":{"type":"boolean","description":"Specifies whether to include payment card network in the request to Stripe.","default":false},"radarSessionCustomField":{"type":"string","description":"Name of the transaction custom field that holds the Radar Session ID."}}},"threeDSecureServer":{"type":"object","required":["name"],"description":"Stripe Integrated.","properties":{"name":{"type":"string","description":"Name of the Stripe 3DS server.","enum":["Stripe3dsServer"]},"enforceThreeDSecure":{"type":"boolean","description":"Specifies if Stripe must perform 3D Secure.\nThis option overrides any [dynamic 3D Secure Radar rules](https://stripe.com/docs/radar/rules#request-3ds)."}}}}}]},"Tabby":{"description":"Tabby gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Tabby credentials object.","properties":{"publicKey":{"type":"string","description":"Public API key of Tabby account.","format":"password","writeOnly":true},"secretKey":{"type":"string","description":"Secret API key of Tabby account.","format":"password","writeOnly":true},"merchantCode":{"type":"string","description":"Merchant code of Tabby account."}},"required":["publicKey","merchantCode"]},"settings":{"type":"object","description":"Tabby settings object.","properties":{"category":{"type":"string","description":"Tabby merchant category."}}}}}]},"Telr":{"description":"Telr gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Telr credentials object.","properties":{"storeId":{"type":"string","description":"Hosted payment page V2 store identifier."},"hostedPageAuthenticationKey":{"type":"string","description":"Hosted payment page V2 authentication key.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Service API merchant identifier."},"serviceApiKey":{"type":"string","description":"Service API key.","format":"password","writeOnly":true},"remoteApiKey":{"type":"string","description":"Remote API key.","format":"password","writeOnly":true}},"required":["storeId","hostedPageAuthenticationKey","merchantId","serviceApiKey"]},"settings":{"type":"object","description":"Telr settings object.","properties":{"transactionDescription":{"type":"string","description":"Default transaction description.\nLeave this field blank to use website URL."}}}}}]},"TestProcessor":{"description":"TestProcessor gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"Thunes":{"description":"Thunes gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"Thunes credentials object.","properties":{"apiKey":{"type":"string","description":"Thunes API key used for HTTP basic authentication.","format":"password","writeOnly":true},"apiSecret":{"type":"string","description":"Thunes API secret used for HTTP basic authentication.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"Thunes merchant identifier."},"paymentPageId":{"type":"string","description":"Thunes payment page identifier for hosted checkout."}},"required":["apiKey","apiSecret","merchantId","paymentPageId"]},"settings":{"type":"object","description":"Thunes settings object.","required":["transactionType"],"properties":{"transactionType":{"type":"string","description":"Payer type for the Thunes payment order.","enum":["C2B","B2B"]}}}}}]},"ToditoCash":{"description":"ToditoCash gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ToditoCash credentials object.","properties":{"apiKey":{"type":"string","description":"ToditoCash API key.","format":"password","writeOnly":true}},"required":["apiKey"]}}}]},"Triple000":{"description":"Triple000 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Triple000 credentials object.","properties":{"username":{"type":"string","description":"Username of the Triple000 merchant."},"password":{"type":"string","format":"password","description":"Triple000 password.","writeOnly":true},"secretWord":{"type":"string","format":"password","description":"Triple000 secret word.","writeOnly":true}},"required":["username","password","secretWord"]}}}]},"Truevo":{"description":"Truevo gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Truevo credentials object.","properties":{"mid":{"type":"string","description":"Truevo merchant identifier."},"tid":{"type":"string","description":"Truevo terminal identifier."},"token":{"type":"string","description":"Truevo authentication token.","format":"password","writeOnly":true},"merchantName":{"type":"string","description":"Merchant name for SFTP reconciliation."},"sftpUsername":{"type":"string","description":"SFTP reconciliation username."},"sftpPrivateKey":{"type":"string","format":"password","description":"SFTP reconciliation private key.","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP reconciliation private key.","writeOnly":true},"ipnSecret":{"type":"string","format":"password","description":"IPN secret that is used to validate incoming IPN requests.","writeOnly":true}},"required":["mid","tid","token"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"TrustsPay":{"description":"TrustsPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"TrustsPay credentials object.","required":["merchantNo","gatewayNo","signkey"],"properties":{"merchantNo":{"type":"string","description":"TrustsPay merchant number."},"gatewayNo":{"type":"string","description":"TrustsPay gateway number."},"signkey":{"type":"string","format":"password","description":"TrustsPay sign key.","writeOnly":true}}}}}]},"Trustly":{"description":"Trustly gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Trustly credentials object.","properties":{"username":{"type":"string","description":"Trustly username."},"password":{"type":"string","description":"Trustly password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"Trustly public key.","x-multiline":true},"privateKey":{"type":"string","description":"Trustly private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["username","password","publicKey","privateKey"]}}}]},"TWINT":{"description":"TWINT gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"credentials":{"type":"object","description":"TWINT credentials object.","properties":{"storeUuid":{"type":"string","description":"TWINT store UUID."},"cashRegisterId":{"type":"string","description":"ID of the cash register."},"publicKey":{"type":"string","description":"TWINT public key.","x-multiline":true},"privateKey":{"type":"string","description":"TWINT private key.","format":"password","x-multiline":true,"writeOnly":true},"keyPassphrase":{"type":"string","description":"TWINT key passphrase.","format":"password","writeOnly":true}},"required":["storeUuid","cashRegisterId","publicKey","privateKey","keyPassphrase"]},"settings":{"type":"object","description":"TWINT settings object.","properties":{"cashRegisterType":{"type":"string","description":"TWINT cash register type."}},"required":["cashRegisterType"]}}}]},"Txn":{"description":"Txn gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Txn credentials object.","properties":{"apiKey":{"type":"string","description":"API key of the Txn.","format":"password","writeOnly":true}},"required":["apiKey"]},"settings":{"type":"object","description":"Txn settings object.","properties":{"destinationTagCustomField":{"type":"string","description":"Name of the customer custom field that holds payout destination tag for XRP."},"payoutCurrency":{"type":"string","description":"Cryptocurrency of the payout."},"accountCurrency":{"type":"string","description":"Cryptocurrency of the merchant account."},"payoutNetwork":{"type":"string","description":"Blockchain network to use for the payout.","enum":["btc","usdt","eth","xrp"]}}}}}]},"Unlimit":{"description":"Unlimit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Unlimit credentials object.","properties":{"terminalId":{"type":"string","description":"ID of the Unlimit terminal."},"password":{"type":"string","description":"Password of the Unlimit terminal merchant.","format":"password","writeOnly":true},"ipnSecret":{"type":"string","description":"IPN secret of the Unlimit merchant.","format":"password","writeOnly":true}},"required":["terminalId","password","ipnSecret"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"UPayCard":{"description":"UPayCard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"receiver_account":{"type":"string","description":"UPayCard merchant receiver account."},"key":{"type":"string","description":"UPayCard merchant key.","format":"password","writeOnly":true},"secret":{"type":"string","description":"UPayCard merchant secret.","format":"password","writeOnly":true}},"required":["receiver_account","key","secret"]},"settings":{"type":"object","description":"UpayCard settings object.","required":["tolerancePercentage"],"properties":{"tolerancePercentage":{"$ref":"#/components/schemas/AmountAdjustmentTolerance"}}}}}]},"USAePay":{"description":"USAePay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"sourceKey":{"type":"string","description":"USAePay source key.","format":"password","writeOnly":true},"pin":{"type":"string","description":"USAePay pin.","format":"password","writeOnly":true}},"required":["sourceKey","pin"]}}}]},"VantivLitle":{"description":"VantivLitle gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"username":{"type":"string","description":"VantivLitle username."},"password":{"type":"string","description":"VantivLitle password.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the VantivLitle merchant."}},"required":["username","password","merchantId"]}}}]},"VCreditos":{"description":"VCreditos gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VCreditos credentials object.","properties":{"publicKey":{"type":"string","description":"VCreditos API public key."},"secretKey":{"type":"string","description":"VCreditos API secret key.","format":"password","writeOnly":true}},"required":["publicKey","secretKey"]},"settings":{"type":"object","description":"VCreditos settings object.","properties":{"merchantWebsiteLoginLabel":{"type":"string","description":"Label caption for a merchant website login input."},"merchantWebsiteLoginDescription":{"type":"string","description":"Description block for a merchant website login input."}}}}}]},"VegaWallet":{"description":"VegaWallet gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"VegaWallet credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the VegaWallet merchant."},"password":{"type":"string","description":"VegaWallet merchant password.","format":"password","writeOnly":true},"payoutPassword":{"type":"string","description":"VegaWallet payout password.","format":"password","writeOnly":true}},"required":["merchantId","password"]}}}]},"Viva":{"description":"Viva gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Viva credentials object.","properties":{"clientId":{"type":"string","description":"ID of the Viva OAuth 2.0."},"clientSecret":{"type":"string","description":"Secret of the Viva OAuth 2.0.","format":"password","writeOnly":true},"merchantId":{"type":"string","description":"ID of the Viva basic authentication."},"apiKey":{"type":"string","description":"API key for Viva basic authentication.","format":"password","writeOnly":true},"ipnKey":{"type":"string","description":"Key of the Viva IPN validation."}},"required":["clientId","clientSecret","merchantId","apiKey","ipnKey"]},"settings":{"type":"object","description":"Viva settings object.","properties":{"sourceCode":{"description":"Payment source links to the merchant.","type":"string"},"customerTransaction":{"description":"This optional parameter adds a friendly description to the payment order that you want to display to the customer on the payment form.","type":"string"}}}}}]},"Wallet88":{"description":"Wallet88 gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Wallet88 credentials object.","properties":{"sid":{"type":"string","description":"ID of the Wallet88 API site."},"rcode":{"type":"string","description":"Wallet88 API rcode.","format":"password","writeOnly":true}},"required":["sid","rcode"]},"settings":{"type":"object","description":"Wallet88 settings object.","properties":{"paymentCardMethod":{"description":"Method to send for payment card.","type":"string","enum":["creditcard","mastercard","visa"],"default":"creditcard"}}}}}]},"Walpay":{"description":"Walpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantName":{"type":"string","description":"Walpay merchant name."},"merchantPin":{"type":"string","description":"Walpay merchant pin.","format":"password","writeOnly":true}},"required":["merchantName","merchantPin"]}}}]},"WesternUnion":{"description":"WesternUnion gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"WesternUnion credentials object.","properties":{"clientId":{"type":"string","description":"ID of the WesternUnion client."},"certificateCommonName":{"type":"string","description":"WesternUnion certificate Common Name (CN)."},"certificateSerialNumber":{"type":"string","description":"WesternUnion certificate Serial Number (SN)."}},"required":["clientId","certificateCommonName","certificateSerialNumber"]}}}]},"Wirecard":{"description":"Wirecard gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantUsername":{"type":"string","description":"Wirecard merchant username."},"merchantPassword":{"type":"string","description":"Wirecard merchant password.","format":"password","writeOnly":true},"businessSignature":{"type":"string","description":"Wirecard merchant business case signature.","format":"password","writeOnly":true},"delay":{"type":"integer","description":"Automatic capture delay."},"sftpUsername":{"type":"string","description":"Wirecard SFTP username."},"sftpPrivateKey":{"type":"string","description":"Wirecard SFTP private key.","format":"password","x-multiline":true,"writeOnly":true}},"required":["merchantUsername","merchantPassword","businessSignature","delay"]}}}]},"WorldlineAtosFrankfurt":{"description":"WorldlineAtosFrankfurt gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials","settings"],"properties":{"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"credentials":{"type":"object","description":"WorldlineAtosFrankfurt credentials.","properties":{"cardAcceptorIdCode":{"type":"string","description":"Card acceptor ID Code."},"acquiringInstitutionIdentificationCode":{"type":"string","description":"Identification code of the acquiring institution."},"mpgId":{"type":"string","description":"Merchant payment gateway ID from Mastercard."},"clientCertificate":{"type":"string","description":"Client certificate for mutual TLS (mTLS) authentication.","format":"password","writeOnly":true,"x-multiline":true},"privateKey":{"type":"string","description":"Client private key for mutual TLS (mTLS) authentication.","format":"password","x-multiline":true,"writeOnly":true}},"required":["cardAcceptorIdCode","acquiringInstitutionIdentificationCode","mpgId","clientCertificate","privateKey"]},"settings":{"type":"object","description":"WorldlineAtosFrankfurt settings.","properties":{"cardAcceptorName":{"type":"string","description":"Name of the card acceptor."},"cardAcceptorLocation":{"type":"string","description":"Location of the card acceptor."},"cardAcceptorCountryCode":{"type":"string","description":"Country code of the card acceptor."},"terminalIds":{"type":"string","description":"Comma-separated list of terminal IDs."}},"required":["cardAcceptorName","cardAcceptorLocation","cardAcceptorCountryCode"]}}}]},"Worldpay":{"description":"Worldpay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"merchantCode":{"type":"string","description":"Worldpay merchant code.","format":"password","writeOnly":true},"merchantPassword":{"type":"string","description":"Worldpay merchant password.","format":"password","writeOnly":true},"payoutMerchantCode":{"type":"string","description":"Optional alternate merchant code for payouts.","format":"password","writeOnly":true},"payoutMerchantPassword":{"type":"string","description":"Optional alternate merchant password for payouts.","format":"password","writeOnly":true},"alternativePaymentsUsername":{"type":"string","description":"OneClick platform username, required for non-card payment methods."},"alternativePaymentsPassword":{"type":"string","description":"OneClick platform password, required for non-card payment methods.","format":"password","writeOnly":true},"sftpUsername":{"type":"string","description":"SFTP username."},"sftpPrivateKey":{"type":"string","description":"SFTP private key.","format":"password","x-multiline":true,"writeOnly":true},"sftpKeyPassphrase":{"type":"string","format":"password","description":"Passphrase of the SFTP private key.","writeOnly":true}},"required":["merchantCode","merchantPassword"]},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"},"settings":{"type":"object","properties":{"delay":{"type":"integer","description":"Automatic capture delay in hours.","minimum":0,"default":0},"enforceStoredCredentials":{"type":"string","description":"Specifies whether to enforce stored credentials.\n`mit-enabled` means that stored credentials are sent only on merchant initiated transactions. This is the expected usage.\n`always-enabled` means that stored credentials are also used, if available, for customer facing transactions.","enum":["disabled","mit-enabled","always-enabled"],"default":"disabled"},"merchantInitiatedReason":{"type":"string","description":"Value to send with merchant-initiated transactions.","enum":["UNSCHEDULED","RECURRING","INSTALMENT","REAUTH","DELAYED","INCREMENTAL","RESUBMISSION","NOSHOW"],"default":"UNSCHEDULED"}}}}}]},"Zotapay":{"description":"Zotapay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"endpointId":{"type":"string","description":"ID of the Zotapay endpoint."},"merchantId":{"type":"string","description":"ID of the Zotapay merchant."},"merchantSecretKey":{"type":"string","description":"Zotapay merchant secret key.","format":"password","writeOnly":true}},"required":["endpointId","merchantId","merchantSecretKey"]}}}]},"eMerchantPay":{"description":"eMerchantPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the eMerchantPay client."},"apiKey":{"type":"string","description":"eMerchantPay API key.","format":"password","writeOnly":true},"username":{"type":"string","description":"eMerchantPay username for the Genesis platform."},"token":{"type":"string","description":"eMerchantPay token for the Genesis platform."},"password":{"type":"string","description":"eMerchantPay password for the Genesis platform.","format":"password","writeOnly":true}}},"settings":{"type":"object","description":"eMerchantPay settings object.","properties":{"useGenesisPlatform":{"type":"boolean","description":"Specifies whether to use the Genesis platform on eMerchantPay.","default":false}}},"threeDSecureServer":{"$ref":"#/components/schemas/ThreeDSecureIO3dsServer"}}}]},"ecoPayz":{"description":"ecoPayz gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayz credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayz payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayz merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayz merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayz settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]},"ecoPayzTurkey":{"description":"ecoPayzTurkey gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"ecoPayzTurkey credentials object.","properties":{"paymentPageId":{"type":"string","description":"ID of the ecoPayzTurkey payment page."},"merchantAccountNumber":{"type":"string","description":"ecoPayzTurkey merchant account number."},"merchantPassword":{"type":"string","description":"ecoPayzTurkey merchant password.","format":"password","writeOnly":true}},"required":["paymentPageId","merchantAccountNumber","merchantPassword"]},"settings":{"type":"object","description":"ecoPayzTurkey settings object.","properties":{"validCurrency":{"type":"string","description":"Three letter currency code in ISO 4217 format.","enum":["CAD","EUR","GBP","USD"]}},"required":["validCurrency"]}}}]},"iCanPay":{"description":"iCanPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"authenticateId":{"type":"string","description":"Authenticate ID of the iCanPay account."},"authenticatePw":{"type":"string","description":"iCanPay authenticate password.","format":"password","writeOnly":true},"publicKey":{"type":"string","description":"iCanPay API public key."},"secretKey":{"type":"string","description":"iCanPay API secret key.","format":"password","writeOnly":true}},"required":["authenticateId","authenticatePw","publicKey","secretKey"]},"settings":{"type":"object","properties":{"use3DSEndpoint":{"type":"boolean","description":"Specifies whether to use a 3DS endpoint."}}}}}]},"iCheque":{"description":"iCheque gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"clientId":{"type":"string","description":"ID of the iCheque client."},"secretWord":{"type":"string","description":"iCheque secret word.","format":"password","writeOnly":true},"apiUserId":{"type":"string","description":"Username for the Alliance API that is used for transaction reporting."},"apiSecurityToken":{"type":"string","description":"Hash of the password for the Alliance API that is used for transaction reporting.","format":"password","writeOnly":true}},"required":["clientId","secretWord"]}}}]},"iDebit":{"description":"iDebit gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"iDebit credentials object.","properties":{"merchantId":{"type":"string","description":"iDebit merchant account number."},"password":{"type":"string","description":"iDebit merchant account password.","format":"password","writeOnly":true}},"required":["merchantId","password"]},"settings":{"type":"object","properties":{"merchantSubId":{"type":"integer","description":"ID of the merchant or organization."}}}}}]},"vegaaH":{"description":"vegaaH gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","properties":{"terminalId":{"type":"string","description":"ID of the vegaaH terminal."},"password":{"type":"string","description":"vegaaH password.","format":"password","writeOnly":true}},"required":["terminalId","password"]}}}]},"XPay":{"description":"XPay gateway configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"XPay credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the XPay merchant."},"encryptionKey":{"type":"string","format":"password","writeOnly":true,"description":"XPay encryption key."}},"required":["merchantId","encryptionKey"]}}}]},"Zimpler":{"description":"Zimpler configuration.","allOf":[{"$ref":"#/components/schemas/GatewayAccount"},{"type":"object","required":["credentials"],"properties":{"credentials":{"type":"object","description":"Zimpler credentials object.","properties":{"merchantId":{"type":"string","description":"ID of the Zimpler merchant."},"apiKey":{"type":"string","description":"Zimpler API key.","format":"password","writeOnly":true}},"required":["merchantId","apiKey"]}}}]},"DigitalWallets":{"type":"object","description":"Configure which digital wallets are enabled.","title":"Digital Wallets","properties":{"applePay":{"type":"object","description":"Apple Pay digital wallet configuration. If not using Apple Pay,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Apple Pay is enabled.","default":false},"displayName":{"description":"String of 64, or fewer, UTF-8 characters containing the canonical name for your store,\nwhich is suitable for display.\nDo not localize this name.","type":["string","null"],"example":"Test merchant"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}},"googlePay":{"type":"object","description":"Google Pay™ digital wallet configuration. If not using Google Pay™,\ndo not use this field.","required":["isEnabled"],"properties":{"isEnabled":{"type":"boolean","description":"Specifies if Google Pay™ is enabled.","default":false},"merchantName":{"description":"Merchant name in Google Pay™.","type":["string","null"],"example":"Test merchant"},"merchantOrigin":{"description":"Merchant origin in Google Pay™.\nThis uses the fully qualified domain name.","type":["string","null"],"example":"www.example.com"},"country":{"$ref":"#/components/schemas/DigitalWalletCountry"}}}}},"GatewayAccountPayoutLimits":{"description":"Payout method limits for payout request auto-allocation.\nLimits apply to auto-allocation only.\nManual allocations are uncapped.\n\nValidation is per currency.\nWhen multiple limit types contain\nan entry for the same currency, the following requirements apply:\n- `minPerTransaction.amount < maxPerTransaction.amount`.\n- `minPerTransaction.amount <= maxPerPeriod.amount`.","type":"object","minProperties":1,"properties":{"maxPerTransaction":{"description":"Maximum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":3000},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":3000,"currency":"CAD"}]},"minPerTransaction":{"description":"Minimum amount limit for single allocation.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":100},"currency":{"$ref":"#/components/schemas/CurrencyCode"}}},"example":[{"amount":100,"currency":"CAD"}]},"maxPerPeriod":{"description":"Maximum amount limit for a rolling period.\nAt most one entry per each currency that this gateway account supports.","type":["array","null"],"minItems":1,"uniqueItems":true,"items":{"type":"object","required":["amount","currency","period"],"properties":{"amount":{"description":"Limit amount.","type":"number","format":"double","exclusiveMinimum":0,"x-type":"Money","example":10000},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"period":{"description":"Rolling period for the amount limit.","type":"string","enum":["24-hours"],"x-enumDescriptions":{"24-hours":"Rolling 24-hour period."}}}},"example":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"example":{"maxPerTransaction":[{"amount":3000,"currency":"CAD"}],"minPerTransaction":[{"amount":100,"currency":"CAD"}],"maxPerPeriod":[{"amount":10000,"currency":"CAD","period":"24-hours"}]}},"ValidationErrorExtensions":{"type":"object","properties":{"invalidFields":{"description":"Invalid field details.","type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Name of the field.\nDot notation is used for nested object field names."},"message":{"description":"Message field.","type":"string"}}},"example":[{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}]}}},"InvalidError":{"description":"Invalid data sent.","allOf":[{"$ref":"#/components/schemas/Error"},{"$ref":"#/components/schemas/ValidationErrorExtensions"}]},"GatewayAccountDowntimeSchedule":{"type":"object","required":["startTime","endTime"],"properties":{"id":{"type":"string","description":"ID of the gateway account downtime schedule.","readOnly":true,"maxLength":50,"example":"gw_dwn_0YVCXRK9TKCC6AMAPFB9M4RXDP"},"status":{"description":"Status of the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["pending","ongoing","finished"]},"reason":{"description":"Reason for the gateway account downtime schedule.","readOnly":true,"type":"string","enum":["scheduled-maintenance","daily-limit-reached","monthly-limit-reached","gateway-unreachable"]},"startTime":{"description":"Date and time when the gateway account scheduled downtime starts.","type":"string","format":"date-time"},"endTime":{"description":"Date and time when the gateway account scheduled downtime ends.","type":"string","format":"date-time"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"GatewayAccountLimit":{"description":"Gateway account limit details.","type":"object","required":["cap"],"properties":{"id":{"description":"ID of the gateway account limit.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"status":{"description":"Status of the gateway account limit.","readOnly":true,"type":"string","enum":["monitoring","reached"]},"startTime":{"description":"Date and time when the gateway account limit starts.","type":"string","format":"date-time","readOnly":true},"endTime":{"description":"Date and time when the gateway account limit ends.\nWhen a gateway account limit ends the limit resets.","type":"string","format":"date-time","readOnly":true},"frequency":{"description":"Frequency at which the gateway account limit period resets.","type":"string","readOnly":true,"enum":["daily","monthly"]},"type":{"description":"Type of gateway account limit.","type":"string","readOnly":true,"enum":["money","count"],"x-enumDescriptions":{"money":"Limits the amount of money that a transaction can process on a gateway account. If `money` is chosen, the currency is the report currency.","count":"Limits the total number of transaction can be processed on a gateway account."}},"cap":{"description":"Limits the maximum allowed value.\nIf `type` is set to `money`, the currency is the report currency.\n`cap` only applies to approved transactions of type `authorize` or `sale`.","type":"integer","example":1000},"usage":{"description":"Usage of the gateway account limit during this period.","type":"integer","example":375,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"GatewayAccountTimeline":{"type":"object","properties":{"id":{"type":"string","description":"ID of the timeline message.","readOnly":true,"maxLength":50,"example":"tmln_0YV8Q9WEF5DTA8HFXS27D1G6GC"},"type":{"description":"Type of timeline message.","type":"string","readOnly":true,"enum":["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","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-carding-circuit-opened"]},"triggeredBy":{"description":"Specifies who, or what, triggered the timeline event.","type":"string","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"description":"Contents of the timeline message.","type":"string"},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"},"occurredTime":{"description":"Date and time when the timeline message occurred.","readOnly":true,"$ref":"#/components/schemas/ServerTimestamp"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SettlementPeriod":{"type":"object","description":"Instruction for calculating the settlement time.\nThe settlement time and settlement period anchor are used\nin conjunction with the transaction processed time,\nto calculate the time in which the amount settles.","discriminator":{"propertyName":"method","mapping":{"date-interval":"#/components/schemas/SchedulingMethodDateInterval","immediately":"#/components/schemas/SchedulingMethodImmediately"}},"oneOf":[{"$ref":"#/components/schemas/SchedulingMethodDateInterval"},{"$ref":"#/components/schemas/SchedulingMethodImmediately"}]},"SettlementSettings":{"type":"object","description":"Settlement settings.\nUse these settings to set up settlement accounts.","required":["settlementCurrency","settlementPeriod"],"properties":{"settlementCurrency":{"description":"Default settlement currency for all transactions.","$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"description":"Default settlement period for all transactions.","$ref":"#/components/schemas/SettlementPeriod"},"advancedSettings":{"description":"Advanced settlement settings.\nUse these settings to override either default settlement currency,\nperiod, or both for the transactions matched a filter.","type":"array","items":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"Filter that is based on transaction properties and is used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"currency:EUR,GBP"},"settlementCurrency":{"$ref":"#/components/schemas/CurrencyCode"},"settlementPeriod":{"$ref":"#/components/schemas/SettlementPeriod"}}}}}},"Bips":{"type":"number","description":"Basis points.\nExample: 100 bips = 1%, 1 bip = 0.01%.","format":"integer","minimum":0,"maximum":100000,"example":100},"GatewayAccountFinancialSettings":{"type":"object","description":"Financial settings.","required":["settlementSettings"],"properties":{"settlementSettings":{"$ref":"#/components/schemas/SettlementSettings"},"riskReserveSettings":{"description":"Risk reserve settings.\nUse these settings to set up funds reserves before settlement.","type":"array","items":{"type":"object","required":["filter","bips","period"],"properties":{"filter":{"description":"Filter that is based on the properties of the transaction and used to determine when to apply the settings.","minLength":1,"maxLength":255,"example":"paymentInstrument.method:payment-card","type":"string"},"bips":{"$ref":"#/components/schemas/Bips"},"period":{"description":"Instruction for calculating the reserve release time.","$ref":"#/components/schemas/SchedulingMethodDateInterval"}}}}}},"DigitalWalletOnboardingApplePayDomains":{"type":"object","description":"Apple Pay domains of the organization.","required":["domains"],"properties":{"domains":{"description":"Domains that Apple Pay has registered for the organization, sorted alphabetically.","type":"array","readOnly":true,"items":{"type":"string"}}}},"DigitalWalletOnboardingApplePay":{"type":"object","description":"Register a domain with Apple Pay and associate it with Rebilly.","required":["domain"],"properties":{"domain":{"description":"Domain to register.","type":"string"},"status":{"description":"Status of Apple Pay domain registration.","type":"string","readOnly":true,"enum":["failed","registered","already-registered"]}}},"Integration":{"type":"object","properties":{"service":{"readOnly":true,"description":"Name of the integration service.","type":"string","enum":["google-sheets","intuit-quickbooks"]},"count":{"readOnly":true,"type":"integer","minimum":0,"description":"Total number of available rule sets."},"configurations":{"readOnly":true,"type":"array","minItems":0,"description":"List of configurations.","items":{"type":"object","properties":{"labels":{"description":"Labels of the configuration.","type":"array","minItems":0,"items":{"type":"string"}},"eventType":{"$ref":"#/components/schemas/EventType"},"title":{"type":"string","description":"Title of the configuration."}}}},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","oauth2Connect"]}}}}}},"ValueList":{"type":"object","required":["description","values"],"properties":{"id":{"type":"string","description":"ID of the list.","readOnly":true,"maxLength":50,"example":"lst_0YVCXVQH84DEF93D8VBTJQ9TGK"},"version":{"description":"Version of the list.","type":"integer","readOnly":true,"minimum":1},"description":{"description":"Description of the list.","type":"string"},"values":{"description":"Values in the list.","type":"array","items":{"type":"string"}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Organization":{"type":"object","required":["name","country"],"properties":{"id":{"type":"string","description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","readOnly":true,"maxLength":50,"example":"org_0YVDM8RC7GDADADSBSMW124JA8","x-sortable":true},"name":{"description":"Name of the organization.","type":"string","maxLength":60,"x-sortable":true},"website":{"description":"Website URL of the organization.\nThis value must begin with `https://` or `http://`.","type":"string","maxLength":65,"writeOnly":true,"format":"uri","example":"https://example.com"},"address":{"description":"Street address of the organization.","type":["string","null"],"maxLength":60,"x-sortable":true},"address2":{"description":"Second line of the street address.","type":["string","null"],"maxLength":60,"x-sortable":true},"city":{"description":"City where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"region":{"description":"Region or state where the organization is located.","type":["string","null"],"maxLength":45,"x-sortable":true},"country":{"description":"Country where the organization is located, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":["string","null"],"pattern":"^[A-Z]{2}$","x-sortable":true},"postalCode":{"description":"Postal code of the organization.","type":"string","maxLength":10,"x-sortable":true},"phoneNumbers":{"$ref":"#/components/schemas/ContactPhoneNumbers"},"emails":{"$ref":"#/components/schemas/ContactEmails"},"taxDescriptor":{"description":"Tax label of the organization.\nThis information is displayed on the invoice.","type":["string","null"],"maxLength":255},"invoiceTimeZone":{"description":"Specifies the time zone to display on an invoice.\nUTC is used by default.","type":"string","maxLength":50,"example":"America/New_York"},"reportCurrency":{"description":"Currency to use for conversion in reports.\nThis value cannot be changed.","$ref":"#/components/schemas/CurrencyCode"},"questionnaire":{"type":["object","null"],"description":"Organization questionnaire.","properties":{"role":{"type":["string","null"],"description":"Role of the owner."},"monthlyTransactions":{"type":["string","null"],"description":"Amount of monthly processed transactions."},"products":{"type":["array","null"],"description":"List of products the organization is interested in.","items":{"type":"string"}},"integrationType":{"type":["string","null"],"description":"Type of integration the organization would like."},"launchTiming":{"type":["string","null"],"description":"When the organization would like to go live."}}},"settings":{"type":"object","description":"Organization settings.","properties":{"defaultTaxCalculator":{"type":"object","description":"Tax calculation settings.","required":["type"],"properties":{"type":{"type":"string","description":"Type of tax calculator.","enum":["taxjar","avalara","flat"]},"rate":{"type":["number","null"],"format":"float","description":"Rate for flat tax calculation."}}},"billing":{"description":"Global organization settings for billing.","type":["object","null"],"properties":{"pendingOrderTtl":{"description":"Length of time, in ISO-8601 durations format, before which a pending order is automatically abandoned.","type":["string","null"],"example":"P7D","default":null},"orderDelinquencyPeriod":{"description":"Length of time, in ISO-8601 durations format,\nwhich is added to the due time of the order when setting the delinquency time for all related invoices.\nWhen the delinquency time of an invoice is reached, the order is automatically canceled.\n\n> **Important:**\nIf the `delinquencyPeriod` value is `null`,\nthe order does not change state and remains active.\nYou must explicitly configure the delinquency period to enable automatic cancellation of unpaid orders.","type":["string","null"],"example":"P7D","default":null},"subtractRecurringDiscountsFromMrr":{"description":"Specifies whether recurring discounts with a specified end date or usage limit are subtracted from order MRR in metrics calculations.\nIf this value is `true`, recurring discounts are excluded from order MRR.\n\n> **Note:** Recurring discounts with no specified end date and usage limit are automatically subtracted from order MRR.","type":"boolean","default":false,"example":true},"subtractOneTimeDiscountsFromMrr":{"description":"Specifies whether one-time discounts are subtracted from order MRR in metrics calculation.\nIf this value is `true`, one-time discounts are excluded from order MRR.","type":"boolean","default":false,"example":true}}},"taxLocations":{"type":"array","description":"Additional organization addresses where a merchant may want to collect taxes using the `taxjar` tax calculator.\n\nAvailable only for US-based organizations.","items":{"type":"object","required":["country"],"properties":{"address":{"description":"Street address of the tax location.","type":["string","null"],"maxLength":60},"city":{"description":"City of the tax location.","type":["string","null"],"maxLength":45},"region":{"description":"Region or state of the tax location.","type":["string","null"],"maxLength":45},"country":{"description":"Country of the tax location, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","pattern":"^[A-Z]{2}$"},"postalCode":{"description":"Postal code of the tax location.","type":["string","null"],"maxLength":10}}}},"notifications":{"description":"Organization access-related notification settings.","type":"object","properties":{"notifyOnUserAccessChanges":{"description":"Specifies whether to send notifications when users are created or updated.","type":"boolean","default":false},"notifyOnApiKeyAccessChanges":{"description":"Specifies whether to send notifications when API keys are created or updated.","type":"boolean","default":false},"notificationEmailAddresses":{"description":"List of email addresses to send notifications to.","type":"array","items":{"type":"string","format":"email"},"default":[]}}},"security":{"type":"object","readOnly":true,"description":"Organization sign-in security settings.\nThis value is read-only on the [Create an organization](https://www.rebilly.com/catalog/all/organizations/postorganization) and [Update an organization](https://www.rebilly.com/catalog/all/organizations/patchorganization) operations.\nTo change these settings, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.\nTo retrieve how many users have multi-factor authentication (MFA) set up, use the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.","properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly app.","default":false}}},"annualComplianceScreening":{"description":"Settings for annual compliance screening of all active customers.\nWhen enabled, a compliance screening report is generated for every active customer\non the configured month and day each year.","type":"object","properties":{"enabled":{"description":"Specifies whether annual compliance screening is enabled for the organization.","type":"boolean","default":false},"monthDay":{"description":"Month and day when annual compliance screening runs, in `MM-DD` format.\nRequired when `enabled` is `true`.\nValid calendar date only. Leap day `02-29` is not allowed.","type":["string","null"],"pattern":"^(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$","example":"02-15","default":null}}},"payoutRequestAllocationOrder":{"description":"Default order for auto-allocation of payout requests.\nWhen set, this value is used when a payout request batch does not specify its own allocation order.\nThe order defines which payment instruments are attempted first during auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["payment-card","alternative-payment-methods","selected-payment-instrument"]}}},"taxNumbers":{"type":["array","null"],"description":"Tax numbers of the organization.","items":{"$ref":"#/components/schemas/TaxNumber"}},"features":{"type":"array","description":"Organization features.","readOnly":true,"items":{"type":"object","properties":{"name":{"description":"Name of the feature.","type":"string"},"description":{"description":"Description of the feature.","type":"string"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","attachments"]}}}}}},"CountriesUnrestrictedMetadata":{"type":"object","title":"Unrestricted","required":["mode"],"properties":{"mode":{"type":"string","enum":["unknown","all"]},"values":{"description":"List of supported countries.","type":"array","uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}},"CountriesSubsetMetadata":{"type":"object","title":"Subset","required":["mode","values"],"properties":{"mode":{"type":"string","enum":["subset"]},"values":{"description":"List of supported countries.","type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$"}}}},"CountriesMetadata":{"type":"object","description":"Countries metadata.","discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CountriesUnrestrictedMetadata","all":"#/components/schemas/CountriesUnrestrictedMetadata","subset":"#/components/schemas/CountriesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CountriesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CountriesSubsetMetadata"}]},"CurrenciesUnrestrictedMetadata":{"title":"Unrestricted","required":["mode"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["unknown","all"]},"values":{"description":"List of supported currencies.","type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}},"CurrenciesSubsetMetadata":{"title":"Subset","required":["mode","values"],"properties":{"mode":{"description":"Specifies how the currencies are compared.","type":"string","enum":["subset"]},"values":{"description":"List of supported currencies.","type":"array","minItems":1,"uniqueItems":true,"items":{"$ref":"#/components/schemas/CurrencyCode"}}}},"PaymentMethodMetadata":{"type":"object","additionalProperties":false,"required":["apiName","name","summary","description","countries"],"properties":{"apiName":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"name":{"description":"Name of the payment method.","type":"string","pattern":"^[\\w\\. -]+$"},"landscapeLogo":{"description":"URL for the payment method logo optimized for landscape orientation.","type":["string","null"],"format":"uri"},"portraitLogo":{"description":"URL for the payment method logo optimized for portrait orientation.","type":["string","null"],"format":"uri"},"summary":{"description":"Short description of the payment method.\nThis field supports Markdown.","type":"string"},"description":{"description":"Detailed information about the payment method.\nThis field supports Markdown.","type":"string"},"countries":{"$ref":"#/components/schemas/CountriesMetadata"},"storefrontEnabled":{"type":"boolean","default":false},"isSingleUse":{"description":"Specifies that the payment method requires the customer to review\nand confirm payment options and terms specific to the purchase every time.\nThe merchant cannot assist the customer in adding this payment method during the checkout process.\nThe customer must complete the process independently.","type":"boolean","default":false},"supportedCurrencies":{"type":"object","description":"List of currencies that are supported by the payment method.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"relevantBusinessModels":{"description":"Business models that are relevant to the payment method.","type":"array","items":{"type":"string","enum":["B2B","B2C"]}},"type":{"description":"Type of payment method.\nFor example, wallet, bank transfer, credit card.","type":["string","null"]},"recurringPayments":{"description":"Specifies whether the payment method supports recurring payments.","type":"boolean","default":false},"refunds":{"description":"Specifies whether the payment method supports refunds.","type":"boolean","default":false},"disputes":{"description":"Specifies whether the payment method supports disputes.","type":"boolean","default":false},"ux":{"description":"List of steps that describes the user experience during the payment flow.","type":"array","items":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PaymentGatewayMetadata":{"type":"object","additionalProperties":false,"required":["apiName","logo","paymentMethods","merchantCountries","currencies"],"properties":{"apiName":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"otherNames":{"description":"List of former names associated with the payment gateway.\nGateways may change their names or may also be known by other names.\nTracking this list may help customer support and developers.","type":"array","items":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"description":"Alternative or former name of the payment gateway.","type":"string"},"description":{"description":"Short description about this name.","type":"string"},"logo":{"description":"URL for the logo used with this name.","type":"string","format":"uri"}}}},"logo":{"description":"URL for the logo of the gateway.","type":"string","format":"uri"},"summary":{"description":"Short description of the payment gateway.\nThis field supports Markdown.","type":["string","null"]},"homepage":{"description":"URL of the payment gateway home page.","type":["string","null"],"format":"uri"},"externalDocs":{"description":"List of links to the documentation of the payment gateway.\nFor example, online API guides provided by gateways or a link to the documents in Google Drive.","type":"array","items":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"description":"URL of the target documentation.\nThis value must be in URL format.","type":"string","format":"uri"},"description":{"description":"Short description of the target documentation.","type":"string"}}}},"publishedPricing":{"description":"Pricing description for the payment gateway, if pricing is published.","type":["string","null"]},"setupInstructions":{"description":"Special gateway account set up instructions for merchants.\nFor example: After adding this gateway account,\nset the IPN to `//example.com/ipns/{gateway-name}/{organization-id}` by contacting your account rep.","type":["string","null"]},"paymentMethods":{"description":"Array of supported payment methods.\nFor example, `payment-card` and `bitcoin`.","type":"array","items":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"},"minLength":1},"cardBrands":{"description":"Array of supported card-brands.\nIf the payment gateway supports payment cards.","type":"array","items":{"$ref":"#/components/schemas/PaymentCardBrand"}},"merchantCountries":{"$ref":"#/components/schemas/CountriesMetadata"},"currencies":{"type":"object","description":"Currencies metadata.","required":["mode"],"discriminator":{"propertyName":"mode","mapping":{"unknown":"#/components/schemas/CurrenciesUnrestrictedMetadata","all":"#/components/schemas/CurrenciesUnrestrictedMetadata","subset":"#/components/schemas/CurrenciesSubsetMetadata"}},"oneOf":[{"$ref":"#/components/schemas/CurrenciesUnrestrictedMetadata"},{"$ref":"#/components/schemas/CurrenciesSubsetMetadata"}]},"operations":{"description":"Array of operations that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["verify","auth","capture","sale","refund","query","credit","3DS1","3DS2","checkCredentials"]}},"supported3dsServers":{"description":"Array of supported 3DS-servers.","type":"array","items":{"type":"string"}},"supportedPaymentInstrumentSetupInstructions":{"description":"Array of set up instructions that are supported by the payment gateway.","type":"array","items":{"type":"string","enum":["do-nothing","authorize","authorize-and-void","sca"],"x-enumDescriptions":{"authorize":"Creates an `authorize` transaction in the amount or currency of the request.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","authorize-and-void":"Creates an `authorize` transaction in the amount and currency of the request,\nfollowed by a `void`, if the `authorize` is approved.\nThis is used when a gateway account is configured for Strong Customer Authentication (SCA).","sca":"Uses Strong Customer Authentication (SCA) without an `authorize` transaction.\nSCA includes 3DS, and specific wallet behavior,\nsuch as setting up a billing agreement with PayPal.","do-nothing":"Does nothing except return an approved `setup` transaction.\nThis is the default behavior."}}},"reconciliationSupport":{"description":"Specifies whether transactions can be reconciled.","type":"boolean","default":false},"disputeSupport":{"description":"Specifies whether dispute data entry can be automated with an API or SFTP access.\nFor example, chargeback, retrieval, or TC-40 disputes.","type":"boolean","default":false},"offsite":{"description":"Specifies whether offsite interaction is required.\nFor example, 3DS, PayPal login, or completing something in a store.","type":"boolean","default":false},"ipn":{"type":["object","null"],"description":"Describes the Instant Payment Notification (IPN) that a payment gateway supports.\nIf this value is null, IPN is not supported.","required":["type"],"properties":{"type":{"description":"Type of supported Instant Payment Notification (IPN).\nIf this value is null, IPN is not supported.","type":"string","enum":["static","dynamic"]},"verificationMethod":{"description":"Method used to verify that the data in the IPN call can be trusted.","type":"string","enum":["query","signature"],"default":"query"}}},"recommendedWaitingApprovalTtl":{"description":"Recommended Time To Live (TTL) before abandoning the transaction.","type":"integer","default":3600,"minimum":299,"maximum":16777216},"credentials":{"type":"object","description":"List of credentials that are required to use the payment gateway.","additionalProperties":false,"properties":{"required":{"description":"List of required credentials.","type":"array","items":{"type":"string"}}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"PayoutRequestBlockReason":{"type":"string","description":"Reason for blocking the payout request.","enum":["fraud-suspected","kyc-verification-required","aml-review","account-verification","duplicate-request","insufficient-documentation","risk-review","other"]},"PayoutRequestSplitReason":{"type":"string","description":"Reason for splitting the payout request.","enum":["payment-instrument-limit","processor-limit","risk-review","compliance-review","partial-processing","operational-reconciliation","other"]},"PayoutRequestAllocation":{"type":"object","required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount","currency"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the resource.","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request associated with this allocation.","readOnly":true,"type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchId":{"description":"ID of the payout request batch that contains the payout request for this allocation.","readOnly":true,"type":["string","null"],"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument allocated to the payout request.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"paymentMethod":{"description":"Payment method of the allocation.","allOf":[{"$ref":"#/components/schemas/PaymentMethod"}],"readOnly":true},"gatewayAccountId":{"type":"string","description":"ID of the gateway account to use for processing this allocation.","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"type":"string","description":"Name of the gateway account to use for processing this allocation.","maxLength":50,"example":"TestProcessor"},"gatewayPayoutInstruction":{"description":"Payout configuration of the gateway account that processes this allocation.","readOnly":true,"type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"x-enumDescriptions":{"all":"Payout any amount from this gateway.","covered-payout":"Payout from this gateway if it previously processed a payment for the same,\nor a greater, amount.","approved-payment":"Payout any amount from this gateway if the customer has a previously\napproved transaction, in the same currency, on this gateway.","none":"Do not allow any payouts with this gateway."},"example":"covered-payout"},"amount":{"description":"Amount allocated to this payment instrument.","type":"number","format":"double","x-type":"Money"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts,\nfor the customer, gateway account, and payment instrument, in the allocation currency.\nThe calculation includes only transactions created within the last 180 days.\nThe value is `0` when there are no transactions in the last 180 days,\nthe gateway account is inactive,\nor its `readyToPayoutInstruction` is `none`.","readOnly":true,"type":"number","format":"double","x-type":"Money","example":2},"currency":{"description":"Currency of the payout request allocation.","$ref":"#/components/schemas/CurrencyCode"},"status":{"description":"Status of this payout request allocation.","type":"string","enum":["pending","queued","processing","waiting-completion","completed","failed","canceled","declined"],"x-enumDescriptions":{"pending":"Allocation was created and is waiting to be processed.","queued":"Allocation is queued for processing.","processing":"Allocation is being processed and a transaction is being created.","waiting-completion":"Allocation transaction is processing asynchronously and has not yet reached a terminal state.","completed":"Allocation was successfully processed and the transaction was approved.","failed":"Allocation was not processed because of an error.","canceled":"Allocation was canceled before processing.","declined":"Allocation was declined by the gateway."}},"transactionId":{"description":"ID of the transaction that is created when processing this allocation, if applicable.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"txn_0YVB8KPKNXCBR9EDX7JHSED75N"},"transactionResult":{"description":"Result of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["abandoned","approved","canceled","declined","unknown",null]},"transactionStatus":{"description":"Status of the transaction created for this allocation, if applicable.","readOnly":true,"type":["string","null"],"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund",null]},"createdTime":{"description":"Date and time when the allocation for the payout request was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","transaction","gatewayAccount","payoutRequest","paymentInstrument"]}}}}}},"PayoutRequestCancellation":{"description":"Reason the payout request is canceled.","type":["object","null"],"readOnly":true,"properties":{"canceledBy":{"description":"Specifies who initiated the cancellation.","type":"string","default":"customer","enum":["merchant","customer","system"]},"description":{"description":"Description of the cancellation reason in free form.","type":"string","maxLength":255}}},"PayoutRequest":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"id":{"type":"string","readOnly":true,"description":"Unique resource ID.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"description":"ID of the customer who is requesting a payout.","$ref":"#/components/schemas/CustomerId"},"paymentInstrumentId":{"type":["string","null"],"description":"ID of the requested payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"splitFromPayoutRequestId":{"description":"ID of the payout request from which this request is split,\nor `null` if this request is not created by a split operation.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that this request is merged into,\nor `null` if it is not merged into another request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"currency":{"description":"Currency of the payout.","$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the payout.","type":"number","format":"double","x-type":"Money"},"availableAmount":{"description":"Available payout request amount that has not been allocated.","readOnly":true,"type":"number","format":"double","x-type":"Money"},"description":{"description":"Description of payout request.","type":["string","null"]},"status":{"description":"Status of the request.","type":"string","readOnly":true,"enum":["pending","ready","approved","in-progress","fulfilled","canceled","split","merged"],"x-enumDescriptions":{"pending":"Request was created by the customer and is in a pending state for the [configured pending period](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/pendingperiodhours), unless it is marked as ready by a member of your organization.\nWhen automatic readiness is enabled, the payout request transitions to the `ready` state after the pending period elapses and the configured [transition time](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinesstime) is reached.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests, or this status may not be used.","ready":"Request was created by the customer and is ready for review.\nDepending on the configured [`automaticReadinessEnabled`](https://www.rebilly.com/catalog/all/websites/putwebsite#websites/putwebsite/t=request&path=settings/payoutrequest/automaticreadinessenabled) setting, this may be the initial status assigned to new payout requests.","approved":"Request was reviewed, approved, and is ready for processing.","in-progress":"Request has allocations and is being processed.","fulfilled":"Request is fully paid out.","canceled":"Request is canceled by merchant or customer.","split":"Request was split into two or more payout requests.","merged":"Request was merged into another payout request."}},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\n\nWhen blocked, the payout request cannot transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\nAllocation creation, allocation processing, and cancellation of pending allocations are also prevented.\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","readOnly":false,"example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"splitReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestSplitReason"},{"type":"null"}]},"batchId":{"description":"ID of the payout request batch that contains this request.","type":["string","null"],"readOnly":true,"maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"batchName":{"description":"Short name of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no name.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch name","example":"Weekly CAD payouts"},"batchDescription":{"description":"Description of the payout request batch that contains this request.\nThis value is `null` if the request is not in a batch or the batch has no description.","type":["string","null"],"readOnly":true,"maxLength":255,"x-label":"Batch description","example":"Batch processed on 2024-01-15"},"selectPaymentInstrumentUrl":{"readOnly":true,"type":"string","format":"uri","description":"URL for the customer to select a preferred payment instrument."},"allocations":{"type":"array","description":"List of payout request allocations for the payout request.","readOnly":true,"items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}},"selectedPaymentInstrumentRedirectUrl":{"description":"URL where the customer is redirected when a payment instrument is selected. The default value is the website URL.\nUse `{{id}}` as a placeholder for the payout request ID.","type":"string","format":"uri","maxLength":2083,"example":"https://example.com/payout-request-success"},"cancellationReason":{"$ref":"#/components/schemas/PayoutRequestCancellation"},"createdTime":{"description":"Date and time when the payout request is created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the payout request is updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","splitFrom","mergedInto","paymentInstrument"]}}}}}},"PayoutRequestTimelineMessage":{"type":"object","properties":{"id":{"type":"string","description":"ID of the message.","readOnly":true,"maxLength":50,"example":"tlm_0YVDMDE2BMC6KBB5MX76RF6T80"},"type":{"type":"string","description":"Type of timeline event.","readOnly":true,"enum":["timeline-comment-created","payout-request-created","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-allocated","payout-request-processing-started","payout-request-fulfilled","payout-request-canceled","payout-request-reversed","payout-request-blocked","payout-request-unblocked","payout-request-added-to-batch","payout-request-removed-from-batch"]},"occurredTime":{"description":"Date and time when the timeline event occurred.","$ref":"#/components/schemas/ServerTimestamp"},"triggeredBy":{"type":"string","description":"Who or what triggered this event.","readOnly":true,"enum":["rebilly","app","direct-api"]},"message":{"type":"string","description":"Human-readable message describing the timeline event."},"extraData":{"$ref":"#/components/schemas/TimelineExtraData"}},"required":["id","type","occurredTime","triggeredBy","message","extraData"]},"BadRequest":{"allOf":[{"title":"Bad request"},{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code.","minimum":400,"maximum":400},"invalidFields":{"$ref":"#/components/schemas/InvalidFields"}}},{"$ref":"#/components/schemas/BaseProblem"}]},"PayoutRequestBatch":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"description":"ID of the batch.","maxLength":50,"example":"prb_0YVDMDE2BMC6KBB5MX76RF6T80"},"userId":{"type":"string","readOnly":true,"description":"ID of the user who created the batch.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"user":{"description":"Creator of the batch.","readOnly":true,"type":"object","required":["id","name"],"properties":{"id":{"description":"User ID of the creator.","type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"name":{"description":"First and last name of the creator.","type":"string","example":"John Doe"}}},"totalCount":{"description":"Total number of payout requests in the batch.","type":"integer","readOnly":true,"minimum":0,"example":10},"customerCount":{"description":"Number of unique customers in the batch.","type":"integer","readOnly":true,"minimum":0,"example":3},"totalAmountByCurrency":{"description":"Total payout amount grouped by currency in the batch.","type":"array","readOnly":true,"items":{"type":"object","additionalProperties":false,"required":["currency","amount"],"properties":{"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"type":"number"}}}},"name":{"description":"Name that is used to identify the batch.\nThis value is `null` if the batch has no name.","type":["string","null"],"maxLength":255,"example":"Weekly CAD payouts"},"description":{"description":"Optional description of the batch.","type":["string","null"],"maxLength":255,"example":"Batch processed on 2024-01-15"},"allocationOrder":{"description":"Order for auto-allocation of payout requests in this batch.\nWhen set, this field overrides the organization-level allocation order during batch auto-allocation.\nMust contain `selected-payment-instrument` exactly once.\nValid values: `payment-card` (payment cards), `alternative-payment-methods` (catch-all for alternative payment methods), `selected-payment-instrument` (customer-requested instrument), or any payment method API name (for example, `paypal`, `Interac-eTransfer`).","type":["array","null"],"items":{"type":"string"},"minItems":2,"maxItems":25,"uniqueItems":true,"example":["paypal","Interac-eTransfer","payment-card","alternative-payment-methods","selected-payment-instrument"]},"createdTime":{"description":"Date and time when the batch was created.","$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"description":"Date and time when the batch was last updated.","$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","payoutRequests"]}}}}}},"OrderPreview":{"type":"object","required":["websiteId","items"],"properties":{"websiteId":{"writeOnly":true,"allOf":[{"$ref":"#/components/schemas/WebsiteId"}]},"items":{"description":"Items details.","type":"array","writeOnly":true,"minItems":1,"items":{"type":"object","required":["quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.\nEither this field or the `plan` object must be provided.\nUse `plan.id` instead.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X","deprecated":true},"plan":{"description":"Details of the plan.\nEither this object or the deprecated `planId` field must be provided.","oneOf":[{"$ref":"#/components/schemas/OriginalPlan"},{"$ref":"#/components/schemas/FlexiblePlan"}]},"quantity":{"description":"Number of product units in the specified plan.","type":"integer","minimum":0,"maximum":1000000000}},"oneOf":[{"required":["plan"],"properties":{"planId":{"not":{}}}},{"required":["planId"],"properties":{"plan":{"not":{}}}},{"required":["plan","planId"]}]}},"billingAddress":{"description":"Billing address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"deliveryAddress":{"description":"Delivery address details.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"couponIds":{"type":"array","writeOnly":true,"description":"List of coupons that are applied to the order.","items":{"type":"string"}},"currency":{"readOnly":true,"$ref":"#/components/schemas/CurrencyCode"},"lineItems":{"type":"array","description":"List of purchase items.","readOnly":true,"items":{"type":"object","properties":{"type":{"description":"Type of transaction.","type":"string","enum":["debit","credit"]},"description":{"description":"Description of the purchase item.","type":"string"},"unitPrice":{"description":"Unit price of the purchase item.","type":"number","format":"double","example":49.95},"quantity":{"description":"Total quantity of the purchase item.","type":"number","format":"integer"},"price":{"description":"Total cost of the purchase item.","type":"number","format":"double"},"planId":{"type":"string","description":"ID of the related plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"productId":{"type":"string","description":"ID of the related product.","maxLength":50,"example":"prod_0YV7DES3WPC5J8JD8QTVNZBZNZ"}}}},"shippingRates":{"type":"array","description":"Available shipping rates.","readOnly":true,"items":{"$ref":"#/components/schemas/ShippingOption"}},"taxes":{"type":"array","description":"Taxes applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"amount":{"description":"Amount of tax that is due.","type":"number","format":"double"},"description":{"type":"string","description":"Description of the tax."}}}},"discounts":{"type":"array","description":"Discounts applied to the purchase.","readOnly":true,"items":{"type":"object","properties":{"couponId":{"type":"string","description":"ID of a coupon that is associated with the purchase.","maxLength":50,"example":"cpn_0YVCNKF81GD778N4YNVGDJK558"},"amount":{"description":"Total amount of discount from the coupon.","type":"number","format":"double"},"description":{"description":"Description of the discount.","type":"string"}}}},"subtotalAmount":{"description":"Subtotal amount of the purchase.","type":"number","format":"double","readOnly":true},"taxAmount":{"description":"Tax amount of the purchase.","type":"number","format":"double","readOnly":true},"shippingAmount":{"description":"Shipping amount of the purchase.","type":"number","format":"double","readOnly":true},"discountsAmount":{"description":"Total discount amount of the purchase.","type":"number","format":"double","readOnly":true},"total":{"description":"Total amount of the purchase.","type":"number","format":"double","readOnly":true},"initialAmounts":{"type":"object","description":"Total amounts of the initial invoice.\nThis displays the amount the customer pays initially.","readOnly":true,"properties":{"amount":{"description":"Total amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the initial invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the initial invoice.","type":"number","x-type":"Money","format":"double"}}},"recurringAmounts":{"type":["object","null"],"description":"Total amounts of the recurring invoice.\nThis includes recurring items only.\nIf the order does not have recurring items, the value of this field is `null`.","readOnly":true,"properties":{"amount":{"description":"Total amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"subtotalAmount":{"description":"Subtotal amount of the recurring invoice.","type":"number","x-type":"Money","format":"double"},"discountAmount":{"description":"Discount amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"shippingAmount":{"description":"Shipping amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"},"taxAmount":{"description":"Tax amount applied to the recurring invoice.","type":"number","x-type":"Money","format":"double"}}},"shipping":{"writeOnly":true,"$ref":"#/components/schemas/Shipping"}}},"GlobalEventType":{"type":"string","description":"Type of event.","enum":["aml-list-possibly-matched","application-instance-disabled","application-instance-enabled","autodeposit-lookup-performed","balance-transaction-settled","coupon-application-removed","coupon-applied","coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified","coupon-redeemed","coupon-redemption-canceled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-tax-number-validated","customer-updated","data-export-completed","data-export-failed","dispute-created","dispute-modified","experian-check-performed","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","hard-usage-limit-reached","invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided","kyc-document-accepted","kyc-document-archived","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled","lead-source-changed","offsite-payment-completed","order-abandon-reminder","order-abandoned","order-completed","order-delinquency-reached","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-1-day","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expired","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","payout-request-canceled","payout-request-changed","payout-request-created","payout-request-fulfilled","payout-request-modified","quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated","ready-to-pay-requested","renewal-invoice-issued","renewal-invoice-payment-canceled","renewal-invoice-payment-declined","risk-score-changed","soft-usage-limit-reached","subscription-activated","subscription-canceled","subscription-churned","subscription-created","subscription-downgraded","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-quantity-filled-limit-reached","subscription-reactivated","subscription-renewal-reminder","subscription-renewal-reminder-1-day","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewed","subscription-resumed","subscription-trial-converted","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-partially-refunded","transaction-refunded","transaction-timeout-resolved","transaction-voided","trial-usage-limit-reached","waiting-gateway-transaction-completed"]},"GlobalWebhook":{"type":"object","required":["method","url","credentialHash"],"properties":{"id":{"type":"string","description":"ID of the webhook.","readOnly":true,"maxLength":50,"example":"hook_0YVBG8S0K0DG59J6S3RMN9K452"},"eventsFilter":{"description":"Event types that trigger the webhook.\nIf empty, all event types trigger the webhook.","type":"array","default":[],"items":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]}},"status":{"x-basic":true,"type":"string","default":"active","enum":["active","inactive"]},"method":{"type":"string","x-basic":true,"enum":["GET","POST","PUT","PATCH","DELETE"]},"url":{"description":"URL that receives requests when a specified event occurs.","type":"string","format":"uri"},"headers":{"description":"Headers to include in the webhook request.","type":"array","items":{"type":"object","description":"Header to include in the webhook request.","properties":{"name":{"description":"Name of the header.","type":"string","pattern":"^[!#$%&'*+.^_`|~0-9A-Za-z-]+$","example":"Content-Type"},"status":{"description":"Status of the header.","type":"string","default":"active","enum":["active","inactive"]},"value":{"description":"Value of the header.\nTemplate placeholders are permitted.\nIf the value renders as an empty string, the header is not sent.","type":"string","example":"value1"}},"required":["name","value"]}},"credentialHash":{"type":"string","description":"Credential hash for authenticating requests to the URL."},"body":{"description":"Webhook request body.\nIf this value is `null`,\nthe default payload for the specified event is used.\nTemplate placeholders are permitted.\n\nInvalid placeholders render as empty strings.\nFor example, `Hello {{invalid.placeholder}}!` is rendered as `Hello !`.\n\nFor more information,\nsee [Placeholders](https://www.rebilly.com/docs/automations/email-notifications/#placeholders).","type":["string","null"]},"filter":{"description":"Filter that determines whether to send the webhook.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":["string","null"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"x-label":"Last update time","$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Profile":{"type":"object","properties":{"id":{"description":"ID of the user.","readOnly":true,"$ref":"#/components/schemas/ResourceId"},"email":{"description":"Email address of the user.","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":"User's business phone number.","readOnly":true,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","readOnly":true,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","type":"string","readOnly":true},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"status":{"description":"Status of the user account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","readOnly":true,"type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"hasPermissionsEmulation":{"type":"boolean","description":"Specifies if the current user session has permissions emulation enabled.","readOnly":true},"mfaRequiredByOrganization":{"type":"boolean","description":"Specifies if the user is in an organization in the current environment that requires multi-factor authentication (MFA).\nDeactivated organizations are not included.\nThe requirement is enforced on each request to an organization that requires MFA, regardless of this value.\nThis value is `false` for API key and service account sessions.","readOnly":true,"default":false},"displayName":{"type":"string","description":"User's full display name.","readOnly":true},"hash":{"type":"string","description":"Unique hash value that represents the user.","readOnly":true},"requiresCardOnFile":{"type":"boolean","description":"Specifies whether the current organization must have a payment card on file before it can transact in the live environment.","readOnly":true,"default":false},"hasCardOnFile":{"type":"boolean","description":"Specifies whether the current organization has an active payment card on file.","readOnly":true,"default":false},"billingManagementToken":{"type":["string","null"],"format":"password","description":"Session token used to manage the payment method on file for a Rebilly subscription.\nThis value is returned only to organization owners.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true},"pastDueInvoice":{"type":["object","null"],"description":"Details of the oldest past-due invoice for the Rebilly subscription associated with the current organization.\nThis value is returned to all organization members to support consistent enforcement of the billing gate.\nThe `token` is returned only to organization owners.","readOnly":true,"required":["invoiceId","websiteId","token"],"properties":{"invoiceId":{"type":"string","description":"ID of the past-due invoice.","maxLength":50,"readOnly":true},"websiteId":{"type":"string","description":"ID of the website for the invoice.","maxLength":50,"readOnly":true},"token":{"type":["string","null"],"format":"password","description":"JWT that is used to authorize payment of the invoice through the Rebilly Instruments JavaScript library.\nThis value is `null` for non-owners, who cannot pay the invoice.\n\n{% admonition type=\"warning\" %}\nTreat as a secret.\nDo not log, do not expose in URLs, do not store in shared client storage.\n{% /admonition %}","readOnly":true}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"Role":{"type":"object","required":["name","acl"],"properties":{"id":{"type":"string","readOnly":true,"description":"ID of the role.","maxLength":50,"example":"role_0YVDN2J11HDMX9N8X7DCB4CMX2"},"name":{"type":"string","description":"Name of the user role.","minLength":1,"maxLength":50},"description":{"type":["string","null"],"description":"Description of the role.","maxLength":65535},"acl":{"$ref":"#/components/schemas/Acl"},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"seniorIds":{"type":"array","description":"List of role IDs where this role is used.\nFor example, a role called `user` may be used in the `admin` and `manager` roles.","readOnly":true,"items":{"type":"string"}},"juniorIds":{"type":"array","description":"List of role IDs that are included in this role.\nFor example, a role called `admin` may include the `user` and `manager` roles.","items":{"type":"string"}},"usersCount":{"type":"integer","readOnly":true,"description":"Number of users assigned to this role."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","seniorRoles","juniorRoles"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"juniors":{"type":"array"}}}}},"SecuritySettings":{"type":"object","required":["requireMfa"],"properties":{"requireMfa":{"type":"boolean","description":"Specifies if users must pass multi-factor authentication (MFA) to use this organization in the Rebilly UI.","default":false},"mfaAdoption":{"type":["object","null"],"readOnly":true,"description":"Number of users who have set up multi-factor authentication (MFA), excluding Rebilly staff.\nPending invitations are counted as users without MFA.\nThis value is `null` when this information is temporarily unavailable.","required":["enrolled","total","pending"],"properties":{"enrolled":{"type":"integer","description":"Number of active users who have multi-factor authentication (MFA) set up."},"total":{"type":"integer","description":"Number of active users and pending invitations."},"pending":{"type":"integer","description":"Number of pending invitations included in `total`.\nInvited users must set up multi-factor authentication (MFA) after they accept the invitation."}}},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"SendThroughAttribution":{"type":"object","description":"Email notification sent through attribution.","readOnly":true,"properties":{"eventType":{"$ref":"#/components/schemas/EventType"},"actionId":{"type":"string","format":"uuid","description":"Action ID of the email notification."},"versionId":{"type":"string","format":"uuid","description":"Version ID of the email notification."},"sent":{"type":"integer","minimum":0,"description":"Number of email notifications that have been sent."},"goal":{"type":"integer","minimum":0,"description":"Target number of email notifications to send."}}},"Status":{"type":"object","properties":{"status":{"description":"Status of the Rebilly API.\nIf the API is operational, this value is `ok`.","type":"string","readOnly":true,"enum":["ok"]},"time":{"description":"Current date and time.","$ref":"#/components/schemas/ServerTimestamp"},"release":{"description":"Current release version of the API.","type":"string"}}},"ApiTracking":{"type":"object","description":"API request tracking.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","description":"Response code of the HTTP request."},"url":{"type":"string","x-basic":true,"description":"URL of the HTTP request."},"route":{"type":"string","description":"API request route.","example":"/customers/{param}"},"method":{"type":"string","description":"HTTP method of the API request.","enum":["HEAD","GET","POST","PUT","DELETE","PATCH"],"x-basic":true},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"user":{"type":"object","description":"User who made the request.","readOnly":true,"properties":{"userId":{"type":"string","description":"ID of the user.","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"apiKeyId":{"type":"string","description":"ID of the API key.","maxLength":50,"example":"api_key_0YV7JQMY6ED2FBE58BMFHBWBZH"},"email":{"description":"Email address of the user.","type":"string","format":"email"},"firstName":{"description":"First name of the user.","type":"string"},"lastName":{"description":"Last name of the user.","type":"string"},"ipAddress":{"type":"string","deprecated":true,"description":"Client IP address.","format":"ipv4"},"userAgent":{"description":"Software that is acting on behalf of the user.","type":"string"},"fingerprint":{"description":"User's device fingerprint hash.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","type":"string"},"isSupport":{"description":"Specifies if the API request is completed by a Rebilly Support Team member.","type":"boolean"}}},"authenticationMethod":{"description":"Authentication method of the API request.\nThis value is `null` if the request is unauthenticated.","type":["string","null"],"readOnly":true,"enum":["secret-api-key","signature","jwt-user","jwt-customer","publishable-key","jwt-guest","jwt-application","jwt-service-account",null],"x-enumDescriptions":{"secret-api-key":"Secret API key.","signature":"Request signed with a secret API key in the `REB-AUTH` header.","jwt-user":"JSON Web Token (JWT) of a user.","jwt-customer":"JWT of a customer.","publishable-key":"Publishable API key.","jwt-guest":"JWT of a guest session.","jwt-application":"JWT of an application instance.","jwt-service-account":"JWT of a service account.","null":"Unauthenticated request."}},"ipAddress":{"type":"string","x-basic":true,"description":"Client IP address."},"relatedResourceIds":{"type":"array","description":"IDs of related resources.","readOnly":true,"items":{"type":"string"},"example":["in_0YVF9605RKC62BP14NE2R7V2XT","cus_0YV7DDSDD1C8DA64KHH2W33CPF"]},"duration":{"type":"integer","x-sortable":true,"x-basic":true,"description":"Request duration in milliseconds."},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"_links":{"$ref":"#/components/schemas/SelfLink"},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"organization":{"type":"object"}}}}},"TaxTracking":{"type":"object","description":"Tax service tracking logs.","readOnly":true,"properties":{"id":{"$ref":"#/components/schemas/ResourceId"},"status":{"type":"integer","x-sortable":true,"description":"Response code of the HTTP request."},"duration":{"type":"integer","x-sortable":true,"description":"Duration of the HTTP request in milliseconds."},"initiatedTime":{"description":"Date and time the HTTP request is initiated.","x-sortable":true,"$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","x-sortable":true,"description":"URL of the tax service endpoint."},"method":{"type":"string","x-sortable":true,"description":"Method of the HTTP request.","example":"POST"},"request":{"type":"string","description":"Request body of the HTTP request."},"response":{"type":"string","description":"Response body of the HTTP request."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","x-sortable":true,"description":"ID of the resource associated with the tax service request."},"organizationId":{"x-sortable":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"taxService":{"type":"string","x-sortable":true,"description":"Name of the tax service used for the request.","enum":["taxjar","avalara"]},"taxServiceCredentialSource":{"type":"string","x-sortable":true,"description":"Source of the credentials that are used to send or retrieve data.","enum":["default","merchant"]},"customerId":{"type":"string","description":"ID of the customer associated with the tax service request."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"CreatedTimeNoSort":{"type":"string","description":"Date and time when the resource is created.\nThis value is set automatically when the resource is created.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Creation Time"},"UpdatedTimeNoSort":{"type":"string","description":"Date and time when the resource is updated.\nThis value is set automatically when the resource is updated.","format":"date-time","readOnly":true,"x-sortable":false,"x-label":"Last Update Time"},"WebhookTracking":{"type":"object","description":"Webhook tracking log.\nThis log contains information about a webhook request and its response.","readOnly":true,"properties":{"id":{"type":"string","description":"ID of the webhook tracking log.","maxLength":50,"example":"hook_log_01HXC7HJ1V2FNJD1R396WCG2HB"},"status":{"type":"integer","description":"Response code of the webhook request."},"duration":{"type":"integer","description":"Duration of the webhook request in milliseconds."},"initiatedTime":{"description":"Date and time when the webhook is initiated.","$ref":"#/components/schemas/ServerTimestamp"},"url":{"type":"string","description":"URL that receives the webhook."},"method":{"type":"string","description":"HTTP method for sending the webhook.","example":"POST"},"request":{"type":"string","description":"Payload of the webhook request."},"response":{"type":"string","description":"Response body from the webhook URL."},"requestHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"responseHeaders":{"$ref":"#/components/schemas/HttpHeaders"},"entityId":{"type":"string","description":"ID of the main entity related to the event type."},"organizationId":{"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"eventType":{"anyOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"type":"string","description":"Additional event type that is available to your organization."}]},"source":{"type":"string","description":"Source that triggered the webhook.","enum":["webhooks","rules"]},"attempt":{"type":"integer","description":"Number of attempts to send the webhook."},"sentTime":{"description":"Date and time when the webhook is sent.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTimeNoSort"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTimeNoSort"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"User":{"type":"object","required":["email","firstName","lastName"],"properties":{"id":{"type":"string","description":"ID of the user.","readOnly":true,"maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"email":{"description":"Email address of the user.","type":"string","format":"email","maxLength":80},"firstName":{"description":"User's first name.","type":"string","minLength":1,"maxLength":45},"lastName":{"description":"User's last name.","type":"string","minLength":1,"maxLength":45},"businessPhone":{"description":"User's business phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"mobilePhone":{"description":"User's mobile phone number.","minLength":1,"maxLength":20,"type":["string","null"]},"permissions":{"description":"Permissions that the user has within organizations.\nUse the wildcard character `*` for full access.","$ref":"#/components/schemas/AclPermissions"},"computedPermissions":{"description":"All user permissions and roles.\nUse these permissions to emulate the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AclPermissions"}]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"loginTime":{"description":"Date and time when the user last logged in.","type":["string","null"],"format":"date-time","readOnly":true},"reportingCurrency":{"description":"User's currency code in ISO 4217 format.\nThis value is used for reports.","readOnly":true,"type":"string"},"availableCurrencies":{"type":"array","description":"Array of reporting currencies that are enabled for the merchant.","readOnly":true,"items":{"type":"string"}},"status":{"description":"Status of the user's account.","type":"string","enum":["active","inactive","pending-confirmation"],"readOnly":true},"country":{"description":"User's country of residence in ISO 3166 alpha-2 country code.\nFor examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).","type":"string"},"preferences":{"description":"User preferences, such as: timezone, language, and more.\nThis is an object with custom properties.","type":["object","null"]},"roleIds":{"type":"array","description":"Role IDs associated with the user.\nRole IDs specify the roles that the user performs within the organization.\nFor example, the user may be an organization admin.","items":{"type":"string"}},"allowedIps":{"$ref":"#/components/schemas/AllowedIps"},"mfaEnabled":{"type":["boolean","null"],"readOnly":true,"description":"Specifies if the user has multi-factor authentication (MFA) set up.\nThis value is present only in responses from the [Retrieve a list of users](https://www.rebilly.com/catalog/all/users/getusercollection) operation\nfor an organization that has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings),\nand is omitted for Rebilly staff.\nThis value is `null` when this information is temporarily unavailable."},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"DashboardTile":{"type":"object","required":["metric"],"properties":{"metric":{"type":"string","description":"Metric displayed in the tile.\nPublicly supported values are defined in `DashboardMetric`.\nAdditional values are accepted."},"title":{"type":["string","null"],"description":"Custom tile title.","minLength":2,"maxLength":36},"description":{"type":["string","null"],"description":"Custom tile description.","minLength":2,"maxLength":48},"dateRange":{"type":["string","null"],"description":"Date range of the tile, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nWhen omitted, the dashboard `dateRange` is used.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`."},"columnsWidth":{"type":"integer","description":"Number of dashboard columns that the tile occupies.","minimum":1,"maximum":2,"default":1},"periodStart":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period starts.\nThe value is resolved from the tile `dateRange`.\nThis value is `null` when the tile does not define its own `dateRange`."},"periodEnd":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"Date and time when the tile period ends.\nThe value is resolved from the tile `dateRange`. \nThis value is `null` when the tile does not define its own `dateRange`."}}},"DashboardTab":{"type":"object","required":["title","tiles"],"properties":{"title":{"type":"string","description":"Title of the dashboard tab.","minLength":2,"maxLength":12,"example":"KYC"},"tiles":{"type":"array","description":"List of tiles displayed on the dashboard tab.","maxItems":20,"items":{"$ref":"#/components/schemas/DashboardTile"}},"preset":{"type":["string","null"],"description":"Specifies which preset the tab is associated with.\nThe preset is independent of the tiles configured on the tab.","enum":["Payments","Billing","KYC"]}}},"ProfileDashboard":{"type":"object","required":["tabs"],"properties":{"dateRange":{"type":"string","description":"Date range of the dashboard, in ISO-8601 interval format, extended with `NOW` and relative anchor tokens for relative dates.\nThis range applies to every tile that does not define its own `dateRange`.\nSupported formats:\n\n- Start and end: `2024-01-01T00:00:00Z/2024-02-01T00:00:00Z`.\n- Start and duration `2024-01-01T00:00:00Z/P1M`.\n- Duration and end: `P1M/2024-02-01T00:00:00Z`.\n- Now and duration: `NOW-P1M/NOW`. This format represents the last month.\n- Month before last month: `NOW-P2M/NOW-P1M`.\n- Anchor tokens: `NOW_D`, `NOW_W`, `NOW_M` and `NOW_Y` resolve to the start of the current day, week, month or year when used as the start of the range, and to the end of that period when used as the end of the range.\n  Combine an anchor with a signed duration, for example `NOW_M-P1M`, to shift the period after snapping to the boundary.\n- Today: `NOW_D/NOW_D`.\n- Yesterday: `NOW_D-P1D/NOW_D-P1D`.\n- This week: `NOW_W/NOW_D`.\n- Last week: `NOW_W-P1W/NOW_W-P1W`.\n- Last month: `NOW_M-P1M/NOW_M-P1M`.","default":"NOW-P1M/NOW"},"periodStart":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period starts.\nThe value is resolved from `dateRange`."},"periodEnd":{"type":"string","format":"date-time","readOnly":true,"description":"Date and time when the dashboard period ends.\nThe value is resolved from `dateRange`."},"tabs":{"type":"array","description":"List of dashboard tabs.","maxItems":10,"items":{"$ref":"#/components/schemas/DashboardTab"}}}},"DashboardMetric":{"type":"string","description":"Type of dashboard metric.","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","monthlyRecurringRevenue","annualRecurringRevenue","averageRevenuePerCustomer","customerLifetimeValue","addressProofAcceptanceRate","identityProofAcceptanceRate","fundsProofAcceptanceRate","purchaseProofAcceptanceRate","creditFileProofAcceptanceRate","kycAcceptanceRate","kycReviewTime","kycRejectionRate","kycAccuracyRate","addressProofAccuracyRate","identityProofAccuracyRate","creditFileProofAccuracyRate","kycRequestCount","kycRequestAbandonmentRate","kycRequestAttemptedRate","kycRequestFailureRate","kycRequestFulfillmentRate","kycRequestExpirationRate"]},"DashboardTileReport":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"value":{"type":["number","null"],"format":"double","description":"Tile value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Tile value for the previous date range.\nThis value is relative to the specified date range."},"timeseries":{"description":"Time series of tile values across the specified date range.","type":"array","maxItems":100,"items":{"type":"object","description":"Chart data point.","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of the entry."},"value":{"type":["number","null"],"description":"Value of the entry."}}}}}},"DataExportArguments":{"type":"object","description":"Export request arguments used to filter and sort the result set.\nFor more information, see [Arguments](/docs/dev-docs/export-configuration/#arguments).","properties":{"filter":{"description":"Criteria for filtering collection items.\nThis field requires a special format.\nUse `,` to specify multiple allowed values.\nUse `;` to specify multiple fields.\n\nFor more information, see [Search filters](https://www.rebilly.com/docs/dev-docs/search-filters).","type":"string"},"sort":{"type":"string","description":"Sorts and orders the collection of items.\nTo sort in descending order, prefix with `-`."},"q":{"type":"string","description":"Use this field to perform a partial search of text fields."}}},"DataExportRecurring":{"description":"Recurring export schedule.","type":"object","required":["instruction"],"properties":{"instruction":{"type":"string","description":"Schedule instruction in [Recurrence Rule RFC 5545](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) format."},"start":{"type":"string","format":"date-time","description":"Date and time when the first scheduled recurring export occurs.\nThe default value is now."}}},"DataExportFileId":{"type":["string","null"],"description":"ID of the data export file.\nIf the export contains more than 1,000,000 records,\nthe file is a ZIP archive.\nThe archive contains numbered part files,\nsuch as `example-part1.csv` and `example-part2.csv`,\neach with a maximum of 1,000,000 records.\nEach part file can be processed independently:\n\n- `csv` and `detailed-csv` part files repeat the header row.\n- `json` and `json-api` part files contain a complete array.\n- `xml` part files contain their own root element.\n\n`pdf` exports are always a ZIP archive that contains one PDF per record,\nand are never split into part files.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"DataExportFailureReason":{"description":"Reason the export failed, if the export status is `failed`.","readOnly":true,"type":["string","null"],"enum":["record-limit-exceeded","max-retries-reached",null],"x-enumDescriptions":{"record-limit-exceeded":"Export exceeded the maximum number of records allowed for a single export.","max-retries-reached":"Export failed after the maximum number of retry attempts."}},"DataExportDateRange":{"type":"object","description":"Date range of the data export.\nIf this value is not set, all data is included.\nFor more information, see [Date ranges](/docs/dev-docs/export-configuration/#date-ranges).","properties":{"start":{"type":"string","description":"Start date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"yesterday"},"end":{"type":"string","description":"End date of the data export.\nThis field accepts any argument in [datetime format](http://php.net/manual/en/datetime.formats.php).","example":"today"},"field":{"type":"string","description":"Field to which the date range is applied."}},"required":["start","end"]},"CustomersDataExport":{"type":"object","description":"Customer resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["customers"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"SubscriptionsDataExport":{"type":"object","description":"Order resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["subscriptions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"TransactionsDataExport":{"type":"object","description":"Transaction resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["transactions"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"processedTime","example":"processedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"InvoicesDataExport":{"type":"object","description":"Invoice resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoices"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","pdf","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"InvoiceItemsDataExport":{"type":"object","description":"Invoice item resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["invoiceItems"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"issuedTime","example":"issuedTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"AmlChecksDataExport":{"type":"object","description":"AML checks resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["amlChecks"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml","detailed-csv"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"DisputesDataExport":{"type":"object","description":"Dispute resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["disputes"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"JournalRecordsDataExport":{"type":"object","description":"Journal record resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["journalRecords"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"PayoutRequestsDataExport":{"type":"object","description":"Payout requests resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequests"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"PayoutRequestAllocationsDataExport":{"type":"object","description":"Payout request allocations resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["payoutRequestAllocations"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json","json-api","xml"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"UsersDataExport":{"type":"object","description":"Users resource to export.","required":["name","format","resource"],"properties":{"id":{"type":"string","description":"ID of the export.","readOnly":true,"maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"name":{"description":"Name of the export.","type":"string","maxLength":50},"resource":{"description":"Type of resource to export.","type":"string","enum":["users"]},"format":{"description":"Output format of the export.","type":"string","enum":["csv","json"]},"arguments":{"$ref":"#/components/schemas/DataExportArguments"},"emailNotification":{"description":"List of email addresses to notify when an export is completed.","type":"array","items":{"type":"string","format":"email"}},"fields":{"description":"List of fields to include in the export.\nFor more information, see [Fields](/docs/dev-docs/export-configuration/#fields).","type":"array","items":{"type":"string"}},"recurring":{"$ref":"#/components/schemas/DataExportRecurring"},"userId":{"description":"ID of the user who requested the data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"$ref":"#/components/schemas/DataExportFileId"},"recordCount":{"description":"Total number of records in the export, excluding the header row.","readOnly":true,"type":"integer"},"scheduledTime":{"description":"Date and time when the data export is scheduled to generate a file.","$ref":"#/components/schemas/ServerTimestamp"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"status":{"description":"Status of the export request.","readOnly":true,"type":"string","enum":["pending","queued","processing","completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"dateRange":{"allOf":[{"$ref":"#/components/schemas/DataExportDateRange"},{"type":"object","properties":{"field":{"x-sortable":true,"type":"string","default":"createdTime","example":"createdTime"}}}]},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","download","signedLink"]}}}},"_embedded":{"type":"object","description":"Embedded objects that are requested by the `expand` query parameter.","readOnly":true,"properties":{"file":{"type":"object"},"user":{"type":"object"}}}}},"DataExport":{"type":"object","discriminator":{"propertyName":"resource","mapping":{"customers":"#/components/schemas/CustomersDataExport","subscriptions":"#/components/schemas/SubscriptionsDataExport","transactions":"#/components/schemas/TransactionsDataExport","invoices":"#/components/schemas/InvoicesDataExport","invoiceItems":"#/components/schemas/InvoiceItemsDataExport","amlChecks":"#/components/schemas/AmlChecksDataExport","disputes":"#/components/schemas/DisputesDataExport","journalRecords":"#/components/schemas/JournalRecordsDataExport","payoutRequests":"#/components/schemas/PayoutRequestsDataExport","payoutRequestAllocations":"#/components/schemas/PayoutRequestAllocationsDataExport","users":"#/components/schemas/UsersDataExport"}},"oneOf":[{"$ref":"#/components/schemas/CustomersDataExport"},{"$ref":"#/components/schemas/SubscriptionsDataExport"},{"$ref":"#/components/schemas/TransactionsDataExport"},{"$ref":"#/components/schemas/InvoicesDataExport"},{"$ref":"#/components/schemas/InvoiceItemsDataExport"},{"$ref":"#/components/schemas/AmlChecksDataExport"},{"$ref":"#/components/schemas/DisputesDataExport"},{"$ref":"#/components/schemas/JournalRecordsDataExport"},{"$ref":"#/components/schemas/PayoutRequestsDataExport"},{"$ref":"#/components/schemas/PayoutRequestAllocationsDataExport"},{"$ref":"#/components/schemas/UsersDataExport"}]},"DataExportLimitExceeded":{"allOf":[{"title":"Data export limit exceeded"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","description":"Machine-readable error code for this problem type, which consumers use to handle the failure programmatically.","enum":["data-export-limit-exceeded"]},"status":{"type":"integer","description":"HTTP status code.","minimum":422,"maximum":422}}},{"$ref":"#/components/schemas/DetailedProblem"},{"type":"object","required":["matchedRecords","maxRecords"],"properties":{"matchedRecords":{"type":"integer","description":"Number of records that match the export request.","example":12500000},"maxRecords":{"type":"integer","description":"Maximum number of records for a single export.","example":10000000}}}]},"OrganizationExport":{"type":"object","properties":{"id":{"readOnly":true,"type":"string","description":"Unique resource ID.","maxLength":50,"example":"org_exp_01HXC7MKK4GCS6WRRXY4X9CRMK"},"userId":{"description":"ID of the user who requested the organization data export.","readOnly":true,"type":"string","maxLength":50,"example":"usr_0YVCEENYJ3D7Q9EN6BN16HA0G4"},"fileId":{"type":["string","null"],"description":"ID of the linked file object.","readOnly":true,"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"status":{"description":"Status of organization data export request.","readOnly":true,"type":"string","enum":["pending","processing","completed","queued","failed","expired"]},"resources":{"description":"Organization data export resources array.","readOnly":true,"type":"array","items":{"type":"object","properties":{"type":{"description":"Exported resource.","readOnly":true,"type":"string","enum":["customers","users","payment-instruments","invoices","orders","transactions","disputes","gateway-accounts","blocklists","lists","webhooks","products","websites","plans","credit-memos","files","email-notifications"],"x-enumDescriptions":{"customers":"All customers of the organization.","users":"All users of the organization.","payment-instruments":"All payment instruments of the organization.","invoices":"All invoices of the organization.","orders":"All orders of the organization.","transactions":"All transactions of the organization.","disputes":"All disputes of the organization.","gateway-accounts":"All gateway accounts of the organization.","blocklists":"All blocklists of the organization.","lists":"All lists of the organization.","webhooks":"All webhooks of the organization.","products":"All products of the organization.","websites":"All websites of the organization.","plans":"All plans of the organization.","credit-memos":"All credit-memos of the organization.","files":"All files of the organization.","email-notifications":"All email-notifications of the organization."}},"recordCount":{"description":"Number of exported resources.","readOnly":true,"type":"integer"}}}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"retentionTime":{"description":"Date and time when retention ends.\nAfter this date, files are removed.","readOnly":true,"type":["string","null"],"format":"date-time"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","user","signedLink"]}}}}}},"HistogramData":{"title":"Histogram data","type":"object","properties":{"data":{"description":"Histogram data.","type":"array","items":{"type":"object","readOnly":true,"properties":{"date":{"type":"string","description":"Date and time of data entry."},"value":{"type":"number","description":"Data entry value."}}}}}},"ApiLogSummary":{"type":"object","properties":{"data":{"description":"API log summary data.","type":"array","items":{"type":"object","description":"Number of requests for each method.","readOnly":true,"properties":{"route":{"type":"string","description":"Route string pattern."},"total":{"type":"integer","description":"Total number of requests."},"get":{"type":"integer","description":"Total number of `GET` requests."},"post":{"type":"integer","description":"Total number of `POST` requests."},"put":{"type":"integer","description":"Total number of `PUT` requests."},"patch":{"type":"integer","description":"Total number of `PATCH` requests."},"delete":{"type":"integer","description":"Total number of `DELETE` requests."},"head":{"type":"integer","description":"Total number of `HEAD` requests."},"options":{"type":"integer","description":"Total number of `OPTIONS` requests."}}}}}},"ReportAmlChecks":{"type":"object","properties":{"total":{"description":"Total number of checks.","type":"integer"},"propagated":{"description":"Total number of propagated checks.","type":"integer"},"resulted":{"description":"Total number of resulted checks.","type":"integer"},"pending":{"description":"Total number of pending checks.","type":"integer"}}},"ReportAmlChecksInheritedSummary":{"type":"object","description":"Summary of inherited AML checks, grouped by provenance reason.","properties":{"totalInherited":{"description":"Number of AML checks in the period that have inherited status.","type":"integer"},"categories":{"description":"Categories of inherited checks, grouped by provenance reason.","type":"array","items":{"type":"object","properties":{"reason":{"description":"Provenance reason code for the inherited status.","type":"string"},"count":{"description":"Number of inherited checks for this reason code.","type":"integer"},"percentage":{"description":"Percentage of inherited checks for this reason code, calculated as a proportion of `totalInherited`.","type":"number","format":"float"}},"required":["reason","count","percentage"]}}},"required":["totalInherited","categories"]},"ReportAmlAuditReport":{"type":"object","description":"AML audit report for a person.","properties":{"personId":{"type":"string","description":"ID of the person associated with the report.","maxLength":50},"status":{"type":["string","null"],"description":"Person-level AML screening status for the selected period.","enum":["clear","confirmed-match","pending-review"]},"linkedCustomers":{"type":"array","description":"Customers linked to the person.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustomerId"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"}},"required":["id","websiteId"]}},"summary":{"type":"object","description":"Screening summary metrics for the selected period.","properties":{"totalChecks":{"type":"integer","description":"Total number of AML checks in the selected period."},"hitCount":{"type":"integer","description":"Number of AML hits across all checks in the selected period."},"lastCheckTime":{"type":["string","null"],"format":"date-time","description":"Date and time of the most recent AML check in the selected period."}},"required":["totalChecks","hitCount","lastCheckTime"]},"screeningHistory":{"type":"array","description":"AML screening history for the selected period.","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the AML check.","maxLength":50,"example":"aml_chk_0YV8XJT2ZWDR398Q8NFEM7DEPM"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"source":{"type":"string","description":"Source of the AML check.","enum":["sign-up","recurring","purchase"]},"hitSources":{"type":["string","null"],"description":"Comma-separated list of AML Hit sources for the AML check.\n\nThe value is `null` if the AML Check did not find any hits."},"result":{"type":"string","description":"Screening result for the AML check.","enum":["clear","confirmed-match","pending-review"]},"reviewer":{"type":["string","null"],"description":"Name of the reviewer, `bot` for checks that run automatically, or `null` when the check hasn't been reviewed yet."}},"required":["id","createdTime","updatedTime","customerId","source","hitSources","result","reviewer"]}},"transactions":{"type":"array","description":"Transactions for customers linked to the person in the selected period.","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"amount":{"type":"number","description":"Transaction amount converted to the report currency of the organization."},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"type":{"description":"Type of transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["3ds-authentication","authorize","capture","credit","refund","sale","setup","void"]},"status":{"description":"Status of the transaction.","type":"string","readOnly":true,"enum":["completed","conn-error","disputed","never-sent","offsite","partially-refunded","pending","refunded","sending","timeout","voided","waiting-approval","waiting-capture","waiting-gateway","waiting-refund"]},"result":{"description":"Result of the transaction.","type":"string","x-basic":true,"readOnly":true,"enum":["approved","canceled","declined","unknown"]}},"required":["id","customerId","createdTime","updatedTime","amount","currency","type","status","result"]}},"periodStart":{"type":"string","format":"date-time","description":"Start date time of the report period."},"periodEnd":{"type":"string","format":"date-time","description":"End date time of the report period."},"truncated":{"type":"boolean","description":"Indicates whether any list within the report is truncated due to too many results."}},"required":["personId","status","linkedCustomers","summary","screeningHistory","transactions","periodStart","periodEnd","truncated"]},"CumulativeSubscriptions":{"type":"object","properties":{"data":{"description":"Cumulative subscription data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format for monthly aggregation, or `YYYY-MM-DD` for 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":"Total number of cumulative subscriptions.\n\nThis field is calculated based on: the number of cumulative subscriptions from the previous aggregation period + `newCount` - `canceledCount`."}}}}}},"DashboardResponse":{"type":"array","items":{"type":"object","properties":{"metric":{"$ref":"#/components/schemas/DashboardMetric"},"humanName":{"type":"string","description":"Display name of the metric."},"increaseIsGood":{"type":"boolean","description":"Specifies whether a higher value is a positive result for the merchant."},"segments":{"type":"array","description":"Segment data.","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the segment."},"value":{"type":["number","null"],"format":"double","description":"Segment value for the specified date range."},"previousValue":{"type":["number","null"],"format":"double","description":"Segment value for the previous date range.\nThis value is relative to the specified date range."},"humanValue":{"type":["string","null"],"description":"Human readable segment value.\nThis field is formatted with a currency sign."},"changeRatio":{"type":["number","null"],"format":"double","description":"Ratio of the current value for each previous value.\nA null value represents infinity."},"humanChangeRatio":{"type":["string","null"],"description":"Human readable change ratio.\nThis field is formatted percentage sign.\nA null value represents infinity."},"timeseries":{"description":"Time series.","type":"array","items":{"type":"object","description":"Chart data.","readOnly":true,"properties":{"date":{"type":"string","description":"Entry date-time."},"value":{"type":["number","null"],"description":"Entry value."}}}}}}}}}},"DccMarkup":{"type":"object","properties":{"data":{"description":"Aggregation 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.\nDate values are displayed as follows:\n\n  - Day: `YYYY-MM-DD`.\n  - 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 are not selected nor rejected."},"unknownSum":{"type":"number","format":"double","description":"Amount of offers in the aggregation which are not selected nor rejected."}}}}}},"ReportDeclinedTransactions":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"message":{"description":"Description or message related to the declined transactions report.","type":"string","example":"error"},"count":{"description":"Number of declined transactions.","type":"integer","example":500},"percentage":{"description":"Percentage of declined transactions.","type":"number","format":"double","example":25}}}}}},"ReportDeferredRevenue":{"type":"object","properties":{"asOfDate":{"type":"string","format":"date","description":"Date up to which revenue is recognized for the report.","example":"2024-03-31"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"booked":{"type":"number","description":"Total booked amount as of the report date.","example":127850},"recognized":{"type":"number","description":"Total recognized amount as of the report date.","example":89495},"liability":{"type":"number","description":"Total liability amount as of the report date.","example":38355},"months":{"type":"array","description":"Monthly breakdown data.","items":{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2024-03"},"bookedAsOfMonth":{"type":"number","description":"Cumulative booked amount as of the month.","example":127850},"bookedInMonth":{"type":"number","description":"Amount booked in the specific month.","example":24750},"recognizeAsOfMonth":{"type":"number","description":"Cumulative recognized amount as of the month.","example":89495},"recognizeInMonth":{"type":"number","description":"Amount recognized in the specific month.","example":18650},"liabilityAsOfMonth":{"type":"number","description":"Liability amount as of the specific month.","example":38355}}}}}},"ReportDisputes":{"type":"object","properties":{"data":{"type":"array","description":"Disputes data.","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"countVisa":{"description":"Total number of disputed Visa transactions.","type":"integer"},"ratioCountVisa":{"description":"Ratio of the total number of disputed Visa transactions versus the total number of settled Visa transactions.","type":"number","format":"double"},"ratioAmountVisa":{"description":"Ratio of disputed Visa transaction amounts versus settled Visa transaction amounts.","type":"number","format":"double"},"countMastercard":{"description":"Total number of disputed Mastercard transactions.","type":"integer"},"ratioCountMastercard":{"description":"Ratio of the total number of disputed Mastercard transactions versus the total number of settled Mastercard transactions.","type":"number","format":"double"},"ratioAmountMastercard":{"description":"Ratio of disputed Mastercard transaction amounts versus settled Mastercard transaction amounts.","type":"number","format":"double"}}}}}},"ReportEventsTriggeredSummary":{"type":"object","properties":{"data":{"type":"array","description":"Event data.","items":{"type":"object","properties":{"eventName":{"description":"Name of the system event.","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":"Total number of times this event is triggered.","type":"integer"}}}}}},"ReportRulesMatchedSummary":{"type":"object","properties":{"data":{"description":"Matched rule data.","type":"array","items":{"type":"object","properties":{"rule":{"description":"Name of the matched rule.","type":"string"},"count":{"description":"Total number of times this rule is matched.","type":"integer"},"approvalRate":{"description":"Rate of transaction approval by rule.","type":"number","format":"double"}}}}}},"FutureRenewals":{"type":"object","properties":{"data":{"description":"Future renewals data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM` format."},"sum":{"type":"number","format":"double","description":"Total amount of future renewals in the user's reporting currency."},"plansCount":{"type":"array","description":"Plan within the aggregation.","items":{"type":"object","readOnly":true,"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"count":{"type":"integer","description":"Total number of future renewals of a plan."}}}}}}}}},"ReportJournal":{"type":"object","properties":{"aggregationField":{"type":"string","description":"Report data grouped by aggregation field.","enum":["product.accountingCode","product.id","plan.id"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"bookedFrom":{"type":["string","null"],"description":"Year and month when revenue is booked.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"bookedTo":{"type":["string","null"],"description":"Year and month when revenue is booked until.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"recognizedAt":{"type":"string","description":"Year and month when revenue is recognized.","pattern":"^\\d{4}-\\d{2}$","example":"2022-01"},"data":{"description":"Revenue data.","type":"array","items":{"type":"object","properties":{"aggregationValue":{"description":"Aggregation field value.","type":"string"},"bookedMonth":{"description":"Month when revenue is booked.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"bookedAmount":{"description":"Revenue amount which is booked for recognition.","type":"number","format":"double","example":25},"recognizedAmount":{"description":"Amount of recognized revenue.","type":"number","format":"double","example":20},"remainingAmount":{"description":"Remaining revenue amount to be recognized.","type":"number","format":"double","example":5}}}}}},"JournalSummaryReport":{"type":"object","properties":{"aggregationField":{"description":"Journal account by which the report amounts are aggregated.","type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]},"amountField":{"description":"Journal record amount field which is used to calculate the report amounts.","type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"periodStart":{"description":"Year and month from which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"periodEnd":{"description":"Year and month up to which the report is generated.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-09"},"journalAccountIds":{"description":"Comma-separated list of journal account IDs which are provided to filter the report.\nA `null` value means that no value is provided and all journal accounts are included.","type":["string","null"],"example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"},"data":{"description":"Journal summary report data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Journal period month and year.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2025-06"},"totalAmount":{"description":"Total summary of journal records amount for the period.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"breakdown":{"description":"Breakdown of journal records by journal account.","type":"array","items":{"type":"object","properties":{"journalAccountId":{"description":"ID of the journal account.","type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J"},"recognizedAmount":{"description":"Amount of revenue recognized for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.recognizedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"},"estimatedAmount":{"description":"Amount of revenue estimated for the journal account in the period.\nThis field is present only if the `amountField` value is `journalRecord.estimatedAmount`.","type":["number","null"],"format":"double","x-type":"Money","x-currency-field":"currency"}}}}}}}}},"ReportKycRejections":{"type":"object","properties":{"data":{"description":"Rejection data.","type":"array","items":{"type":"object","properties":{"documentType":{"$ref":"#/components/schemas/KycDocumentTypes"},"rejectionReasons":{"type":"array","description":"Rejection reasons.","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRejectionReasonTypes"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Total number of related KYC documents."}}}}}}}}},"KycDocumentRequestStatuses":{"description":"Reason the document is rejected.","type":"string","enum":["abandoned","expired","failed","fulfilled","pending-review"]},"ReportKycRequests":{"type":"object","properties":{"data":{"description":"Request data.","type":"array","items":{"type":"object","properties":{"rejectionReason":{"$ref":"#/components/schemas/KycDocumentRequestStatuses"},"count":{"type":"integer","format":"integer","minimum":0,"description":"Number of related KYC requests."}}}}}},"ReportMonthlyRecurringRevenue":{"type":"object","properties":{"data":{"description":"Monthly Recurring Revenue (MRR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Monthly Recurring Revenue (MRR) amount.","type":"number","format":"double","example":245},"breakdown":{"description":"MRR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total MRR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew MRR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new MRR amount of $40.","type":"number","format":"double","example":40},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation MRR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation MRR amount of $25.","type":"number","format":"double","example":25},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned MRR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned MRR amount of $80.","type":"number","format":"double","example":80},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller MRR.\nContraction MRR is the amount before the change minus the amount and after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction MRR amount of $20.","type":"number","format":"double","example":20},"expansion":{"description":"Occurs when existing customers change items which result in a bigger MRR.\nExpansion MRR is the amount after the change minus the amount and before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion MRR amount of $60.","type":"number","format":"double","example":60}}}}}}}},"ReportAnnualRecurringRevenue":{"type":"object","properties":{"data":{"description":"Annual Recurring Revenue (ARR) data.","type":"array","items":{"type":"object","properties":{"period":{"description":"Revenue month.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-06"},"total":{"description":"Total Annual Recurring Revenue (ARR) amount.","type":"number","format":"double","example":300},"breakdown":{"description":"ARR categories are described below.","type":"object","properties":{"change":{"description":"Difference in total ARR between the current and previous period.","type":"number","format":"double","example":500},"new":{"description":"Occurs when new customers sign up.\nNew ARR is the amount of the new customer's subscription.\n\nExample: A new customer signs up to a $40 per month plan.\nThis is a new ARR amount of $480 ($40 multiplied by 12 months).","type":"number","format":"double","example":480},"reactivation":{"description":"Occurs when a customer stops being a customer for a period but later signs up again.\nReactivation ARR is the amount of the customer's new subscription.\n\nExample: A customer cancels their subscription, but signs up again and purchases a $25 per month plan.\nThis is a reactivation ARR amount of $300 ($25 multiplied by 12 months).","type":"number","format":"double","example":300},"churned":{"description":"Occurs when a subscription is churned.\nChurn occurs when the paid service period on a subscription order expires.\nChurned ARR is the amount that is lost as a result of the churned subscription.\n\nExample: When a subscription is churned, the value of a subscription goes from $80 per month to $0 per month.\nThis is a churned ARR amount of $960 ($80 multiplied by 12 months).","type":"number","format":"double","example":960},"contraction":{"description":"Occurs when an existing customer changes items which result in a smaller ARR.\nContraction ARR is the amount before the change minus the amount after the change.\n\nExample: A customer downgrades from a plan that is $100 per month to plan that is $80 per month.\nThis is a contraction ARR amount of $240 ($20 multiplied by 12 months).","type":"number","format":"double","example":240},"expansion":{"description":"Occurs when existing customers change items which result in a bigger ARR.\nExpansion ARR is the amount after the change minus the amount before the change.\n\nExample: A customer upgrades from a plan that is $40 per month to a plan that is $100 per month.\nThis is an expansion ARR amount of $720 ($60 multiplied by 12 months).","type":"number","format":"double","example":720}}}}}}}},"RenewalSales":{"type":"object","properties":{"data":{"description":"Renewal sales data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Date in `YYYY-MM` format."},"newSales":{"type":"number","format":"double","description":"Total amount of new sales."},"newRefunds":{"type":"number","format":"double","description":"Total amount of new refunds."},"renewalSales":{"type":"number","format":"double","description":"Total amount of renewal sales."},"renewalRefunds":{"type":"number","format":"double","description":"Total amount of renewal refunds."}}}}}},"ReportRetentionPercentage":{"type":"object","properties":{"data":{"description":"Retention 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.\n\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`;\n- Month: `YYYY-MM`;\n- Quarter: `YYYY-MM`/`YYYY-MM`;\n- Year: `YYYY`."},"subscriptionsCount":{"type":"integer","description":"Number of subscriptions created within the aggregation."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\nPeriods are numbered as follows:\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionRatio":{"type":"number","format":"double","description":"Ratio percentage of active, non-canceled subscriptions in the retention period versus all subscriptions created in the aggregation period."},"canceledSubscriptionsCount":{"type":"integer","description":"Number of canceled subscriptions within the specified retention period."}}}}}}}}},"ReportRetentionValue":{"type":"object","properties":{"data":{"description":"Retention value 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.\nDate values are displayed as follows:\n\n- Day: `YYYY-MM-DD`.\n- Month: `YYYY-MM`.\n- Quarter: `YYYY-MM`/`YYYY-MM`.\n- Year: `YYYY`."},"customersCount":{"type":"integer","description":"Number of customers within the aggregation who make their first payment."},"periods":{"description":"Periods of the specified aggregation.","type":"array","items":{"type":"object","properties":{"period":{"type":"integer","description":"Retention period number.\nThis value is measured from the beginning boundary of the aggregation.\n  - `0`: First period.\n  - `1`: Second period.\n  - `2`: Third period, and so on."},"retentionAverage":{"type":"number","format":"double","description":"Summary amount of all transactions for all periods up to the current period divided by the aggregation customer number."},"transactionsCount":{"type":"integer","description":"Number of transactions that occurred within the retention period.\nFor example, in 3 rebills."},"transactionsValue":{"type":"number","format":"double","description":"Total value of transactions.\nThis value is calculated based on: `income transactions` minus `loss transactions`."}}}}}}}}},"ReportRevenueWaterfall":{"type":"array","items":{"type":"object","properties":{"issuedMonth":{"description":"Month when the revenue invoice is issued.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-02"},"booked":{"description":"Month when the revenue amount is booked.","type":"number","format":"double","example":25},"recognized":{"description":"Amount of recognized revenue amount up to, and including, the `recognizedTo` month.","type":"number","format":"double","example":20},"remaining":{"description":"Amount of revenue that remains to be recognized after the `recognizedTo` month.","type":"number","format":"double","example":5},"waterfall":{"type":"array","description":"Recognized revenue waterfall for each month.","items":{"type":"object","properties":{"recognizedMonth":{"description":"Month when revenue is recognized.","type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2022-04"},"amount":{"description":"Amount of revenue recognized at the `recognizedMonth`.","type":"number","format":"double"}}},"example":[{"recognizedMonth":"2022-02","amount":4.4},{"recognizedMonth":"2022-03","amount":8.33},{"recognizedMonth":"2022-04","amount":7.27}]}}}},"SubscriptionCancellationReport":{"type":"object","properties":{"data":{"description":"Subscription cancellation data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"aggregationValue":{"type":"string","description":"Aggregation value."},"count":{"type":"integer","description":"Total number 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":{"description":"Subscription renewal data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"planId":{"type":"string","description":"Plan ID for which subscriptions are counted.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"allRenewalCount":{"type":"integer","description":"Total number of renewed subscriptions."},"allDunningCount":{"type":"integer","description":"Total number of dunned subscriptions.\nDunning is the process of retrying unsuccessful payment transactions."},"abandonedCount":{"type":"integer","description":"Total number of abandoned subscriptions."},"paidRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal rate,\ndivide the value of this field by the `allRenewalCount` value."},"paidDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning success rate,\ndivide the value of this field by the `allDunningCount` value."},"refundedRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal refund rate,\ndivide the value of this field by the `allRenewalCount` value."},"refundedDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning refund rate,\ndivide the value of this field by the `allDunningCount` value."},"chargebackRenewalCount":{"type":"integer","description":"Total number of paid renewed subscriptions.\nTo determine the renewal chargeback rate,\ndivide the value of this field by the `allRenewalCount` value."},"chargebackDunningCount":{"type":"integer","description":"Total number of paid dunned subscriptions.\nTo determine the dunning chargeback rate,\ndivide the value of this field by the `allDunningCount` value."}}}}}},"ReportTax":{"type":"object","properties":{"data":{"description":"Tax data.","type":"array","items":{"type":"object","properties":{"country":{"description":"Country to which the tax is owed, in [ISO Alpha-2 code format](https://www.iso.org/obp/ui/#search/code/).","type":"string","example":"US"},"state":{"description":"Postal abbreviated state name for the state to which the tax is owed.","type":"string","example":"TX"},"county":{"description":"Name of county to which the tax is owed.","type":"string","example":"TRAVIS"},"city":{"description":"Name of city to which the tax is owed.","type":"string","example":"AUSTIN"},"stateRate":{"description":"Percentage rate of state tax.","type":"number","format":"double"},"stateAmount":{"description":"Amount of state tax.","type":"number","format":"double"},"countyRate":{"description":"Percentage rate of county tax.","type":"number","format":"double"},"countyAmount":{"description":"Amount of county tax.","type":"number","format":"double"},"cityRate":{"description":"Percentage rate of city tax.","type":"number","format":"double"},"cityAmount":{"description":"Amount of city tax.","type":"number","format":"double"},"specialDistrictRate":{"description":"Percentage rate of special district tax.","type":"number","format":"double"},"specialDistrictAmount":{"description":"Amount of special district tax.","type":"number","format":"double"},"taxableSalesAmount":{"description":"Amount of taxable sales.","type":"number","format":"double"},"nontaxableSalesAmount":{"description":"Amount of nontaxable sales.","type":"number","format":"double"}}}}}},"TimeSeriesTransaction":{"type":"object","properties":{"data":{"description":"Time series data.","type":"array","items":{"type":"object","description":"Contains an aggregation.","readOnly":true,"properties":{"date":{"type":"string","description":"Date in `YYYY-MM-DD` format."},"total":{"type":"number","format":"double","description":"Aggregated value for all transactions for the day, in the unit specified by the `type` parameter:\n  - `count`: Total number of transactions.\n  - `amount`: Total amount of approved transactions in the merchant reporting currency.\n  - `approval-rate`: Ratio of approved transactions to all transactions.\n  - `incomplete-rate`: Ratio of incomplete transactions to all transactions.\n\nThis value does not depend on the `subaggregate` parameter and is not the sum of the values in `subaggregates`.\nEach transaction is included once, even if the `subaggregate` field contains multiple values for the transaction.\nTransactions with no value for the `subaggregate` field are also included."},"subaggregates":{"type":"array","description":"Breakdown by the `subaggregate` field for the day.\nEach element contains one `subaggregate` value and its aggregated value.\nEach `subaggregate` value found in the report has an element,\nin the same order for each day.","items":{"type":"object","properties":{"subaggregate":{"type":"string","description":"One value of the `subaggregate` field, such as a website ID, a currency code, or a lead source."},"value":{"type":"number","format":"double","description":"Aggregated value for transactions that have this `subaggregate` value,\nin the same unit as `total`.\nThis value is `0` if no transactions have this `subaggregate` value."}}}}}}}}},"ReportDisputeDelays":{"type":"object","properties":{"data":{"description":"Dispute delay data.","type":"array","items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.\nThis value is defined in the `aggregationField` parameter by using a query.\nFor example, this value could be: website or country.","type":"string"},"25th":{"description":"Delay between dispute and transaction time at the 25th percentile.","type":"integer"},"50th":{"description":"Delay between dispute and transaction time at the 50th percentile.","type":"integer"},"75th":{"description":"Delay between dispute and transaction time at the 75th percentile.","type":"integer"}}}}}},"ReportTransactions":{"type":"object","properties":{"data":{"description":"Transaction data.","type":"array","readOnly":true,"items":{"type":"object","properties":{"aggregationFieldValue":{"description":"Aggregation field value.","type":"string"},"authApprovedThroughput":{"description":"Percentage of approved authentication transactions.","type":"number","format":"double"},"approvedThroughput":{"description":"Percentage of approved sale transactions.","type":"number","format":"double"},"authApprovalCount":{"description":"Total number of approved authentication transactions.","type":"integer"},"disputesRate":{"description":"Percentage of disputed sale and capture transactions.","type":"number","format":"double"},"disputesCount":{"description":"Total number of disputed sale and capture transactions.","type":"integer"},"salesCount":{"description":"Total number of sales.","type":"integer"},"salesValue":{"description":"Total sales value.","type":"number","format":"double"},"salesAverage":{"description":"Average sales value.","type":"number","format":"double"},"refundsCount":{"description":"Total number of refunds.","type":"integer"},"refundsValue":{"description":"Total value of refunds.","type":"number","format":"double"},"amount":{"description":"Amount of revenue.\nThis value is the result of `salesValue` minus `refundsValue`.","type":"number","format":"double"},"count":{"description":"Total number of transactions.","type":"number","format":"double"},"unapprovedCount":{"description":"Total number of unapproved transactions.","type":"number","format":"double"}}}}}},"RiskScoreBoolean":{"type":["object","null"],"required":["value"],"properties":{"value":{"type":"integer","description":"Value added to the risk score of the transaction."}}},"RiskScoreBracket":{"type":["object","null"],"required":["brackets"],"properties":{"brackets":{"description":"Risk factor values range with corresponding risk score increment value.\nThe first matched bracket is applied.","type":"array","minItems":1,"items":{"type":"object","required":["value"],"properties":{"start":{"description":"Minimal risk factor value when condition is applied.","type":["integer","null"],"minimum":0},"end":{"description":"Maximal risk factor value when condition is applied.","type":["integer","null"],"minimum":1},"value":{"type":"integer","description":"Value added to the risk score of the transaction."}},"oneOf":[{"required":["start"],"properties":{"end":{"not":{}}}},{"required":["end"],"properties":{"start":{"not":{}}}},{"required":["start","end"]}]}}}},"RiskScoreRules":{"type":"object","description":"Risk score rules.","required":["isProxy","isVpn","isTor","isHosting","hasMismatchedBillingAddressCountry","hasMismatchedBankCountry","hasMismatchedTimeZone","hasMismatchedHolderName","hasFakeName","isHighRiskCountry","paymentInstrumentVelocity","declinedPaymentInstrumentVelocity","deviceVelocity","ipVelocity","emailVelocity","billingAddressVelocity","isRebill","isRetry","customerLifetimeValue","browserAdBlockEnabled","paymentInstrumentApprovedTransactionCount","customerVelocity"],"properties":{"isProxy":{"description":"Specifies whether the customer's IP address is related to a proxy.","$ref":"#/components/schemas/RiskScoreBoolean"},"isVpn":{"description":"Specifies whether the customer's IP address is related to a VPN.","$ref":"#/components/schemas/RiskScoreBoolean"},"isTor":{"description":"Specifies whether the customer's IP address is related to TOR.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHosting":{"description":"Specifies whether the customer's IP address is related to hosting.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBillingAddressCountry":{"description":"Specifies whether the customer's billing address country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedBankCountry":{"description":"Specifies whether the customer's bank country and geo-IP address are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedTimeZone":{"description":"Specifies whether the customer's browser time zone and the IP address associated time zone are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasMismatchedHolderName":{"description":"Specifies whether the customer's billing address name and primary address name are not the same.","$ref":"#/components/schemas/RiskScoreBoolean"},"hasFakeName":{"description":"Specifies whether the holder name seems fake.","$ref":"#/components/schemas/RiskScoreBoolean"},"isHighRiskCountry":{"description":"Specifies whether the geo-IP country, or the customer's billing country, is considered a high risk country.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentVelocity":{"description":"Number of transactions for this payment instrument, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"declinedPaymentInstrumentVelocity":{"description":"Number of declined transactions for this payment instrument fingerprint in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"deviceVelocity":{"description":"Number of transactions for this device, based on fingerprint, in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"ipVelocity":{"description":"Number of transactions for this IP address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"emailVelocity":{"description":"Number of transactions for this email address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"billingAddressVelocity":{"description":"Number of transactions for this billing address in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"},"isRebill":{"description":"Specifies whether the transaction is one of a number of recurring payments in a subscription, excluding trials or setup fees.","$ref":"#/components/schemas/RiskScoreBoolean"},"isRetry":{"description":"Specifies whether the transaction is a retry.","$ref":"#/components/schemas/RiskScoreBoolean"},"customerLifetimeValue":{"description":"Total revenue from the customer, in USD.","$ref":"#/components/schemas/RiskScoreBracket"},"browserAdBlockEnabled":{"description":"Specifies whether an ad blocker was detected.","$ref":"#/components/schemas/RiskScoreBoolean"},"paymentInstrumentApprovedTransactionCount":{"description":"Number of approved transactions for this payment instrument.","$ref":"#/components/schemas/RiskScoreBracket"},"customerVelocity":{"description":"Number of transactions for this customer in the last 24 hours.","$ref":"#/components/schemas/RiskScoreBracket"}}},"RiskScoreBlocklistPermanentRule":{"type":"object","description":"Rule that permanently blocklists items when TTL is equal to `0`.","required":["riskScoreThreshold"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1}}},"RiskScoreBlocklistPermanentRules":{"type":["object","null"],"description":"Items permanently blocklisted when TTL is equal to `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"},"paymentCard":{"description":"Payment card number being charged.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRule"}}},"RiskScoreBlocklistTemporaryRule":{"type":"object","description":"Items temporarily blocklisted when TTL is greater than `0`.","required":["riskScoreThreshold","ttl"],"properties":{"riskScoreThreshold":{"type":"integer","description":"Pass and fail threshold for the blocklist.","minimum":1},"ttl":{"type":"integer","description":"Amount of seconds a blocklist exists before it expires.\nThis value must be greater than 0.","minimum":1}}},"RiskScoreBlocklistTemporaryRules":{"type":["object","null"],"description":"Items temporarily blocklisted when TTL is greater than `0`.","properties":{"address":{"description":"House number and ZIP code of the customer's address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bankAccount":{"description":"Bank account for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"bin":{"description":"Bank Identification Number (BIN) of the payment card for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"country":{"description":"Country where the customer is making the purchase, and country of the payment card billing address.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"customerId":{"description":"Rebilly `customerId` of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"email":{"description":"Email address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"emailDomain":{"description":"Email address domain of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"fingerprint":{"description":"Fingerprint of the user's device.\nA device fingerprint is a unique token that is used to identify the user.\nThe device fingerprint is generated based on device attributes,\nsuch as: hardware, software, IP address, language, browser, and more.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"ipAddress":{"description":"IP address of the customer making the purchase.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"},"paymentCard":{"description":"Payment card number for the charge.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRule"}}},"RiskScoreBlocklist":{"type":"object","description":"Risk score blocklist configuration.","properties":{"permanentlyBlockList":{"description":"Items permanently blocklisted when TTL is equal to `0`.","$ref":"#/components/schemas/RiskScoreBlocklistPermanentRules"},"temporaryBlockList":{"description":"Items temporarily blocklisted when TTL is greater than `0`.","$ref":"#/components/schemas/RiskScoreBlocklistTemporaryRules"}}},"Allowlist":{"type":"object","description":"Risk score allowlist record.","required":["type","value"],"properties":{"id":{"type":"string","description":"ID of the allowlist record.","readOnly":true,"maxLength":50,"example":"rsal_01HXBY67D5CNWM2YK79PFZR4C2"},"type":{"type":"string","description":"Type of data to exclude from risk score checks.\nData types that are added to this field are excluded from risk score checks and are not added to blocklists.","enum":["address","bank-account","bin","country","customer-id","email","email-domain","fingerprint","ip-address","payment-card"]},"value":{"type":"string","description":"Value of the allowlist record."},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"TagUntagRule":{"type":"object","description":"Tag or untag rule.","required":["name","eventType","addTags","removeTags"],"properties":{"id":{"type":"string","description":"ID of the rule.","readOnly":true,"maxLength":50,"example":"tag_rule_0YVCEE5APAD7V84MK3P9CCJVYY"},"name":{"description":"Name of the rule.","type":"string"},"eventType":{"allOf":[{"$ref":"#/components/schemas/GlobalEventType"},{"not":{"enum":["application-instance-disabled","application-instance-enabled","balance-transaction-settled","credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided","customer-redirected-offsite","customer-returned","dispute-created","dispute-modified","gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-limit-reached","gateway-account-onboarding-completed","gateway-account-onboarding-failed","gateway-account-requested","invoice-created","invoice-modified","invoice-past-due-reminder","invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days","invoice-tax-calculation-failed","offsite-payment-completed","order-abandon-reminder","order-change-applied","order-change-canceled","order-change-created","organization-tax-number-validated","payment-card-created","payment-card-expiration-reminder","payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day","payment-instrument-modified","payout-request-batch-created","payout-request-batch-deleted","payout-request-batch-modified","renewal-invoice-payment-canceled","risk-score-changed","subscription-items-changed","subscription-modified","subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-renewal-reminder","subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","transaction-process-requested","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","data-export-completed","data-export-failed","hard-usage-limit-reached","soft-usage-limit-reached","subscription-quantity-filled-limit-reached"]}}]},"filter":{"description":"Filter that determines whether to tag or untag.\nThis field requires a special format.\nUse `,` for multiple allowed values.\nUse `;` for multiple fields.\n\nFor more information,\nsee [Using filters](https://api-reference.rebilly.com/#section/Using-filter-with-collections).","type":["string","null"]},"addTags":{"description":"List of tags to add to the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"removeTags":{"description":"List of tags to remove for the customer.","type":"array","minItems":0,"maxItems":1000,"items":{"type":"string"}},"status":{"description":"Status of the rule.","type":"string","default":"active","enum":["active","inactive"]},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related resource links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self"]}}}}}},"Application":{"type":"object","description":"Application object.","required":["name","logoId","authorName","tagline","description","permissions"],"properties":{"id":{"type":"string","description":"Unique identifier of the application.","readOnly":true,"maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"name":{"description":"Name that is displayed for the application in the App Store.","type":"string"},"logoId":{"type":"string","description":"Unique identifier of the file that contains the application logo.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"authorName":{"description":"Name of the person or organization that created the application.","type":"string"},"authorLogoId":{"type":["string","null"],"description":"Unique identifier of the file that contains the logo of the author.","maxLength":50,"example":"4f6cf35x-2c4y-483z-a0a9-158621f77a21"},"tagline":{"description":"Short descriptive tagline that is displayed for the application in the App Store.","type":"string"},"description":{"description":"Detailed description of the application.\nThis field accepts markdown and simple text.","type":"string"},"status":{"description":"Current status of the application in the App Store.","readOnly":true,"type":"string","enum":["pending-approval","available","disabled"]},"permissions":{"description":"List of permissions that are available to the application.\nTo add permissions, contact [Rebilly Support](mailto:support@rebilly.com).","type":"array","items":{"type":"string","format":"operationId","enum":["DeleteApplicationInstance","GetApplicationInstanceConfiguration","GetCustomer","GetCustomerCollection","GetInvoice","GetInvoiceCollection","GetPlan","GetPlanCollection","GetProduct","GetProductCollection","GetSubscription","GetSubscriptionCollection","GetTransaction","GetTransactionCollection","GetWebhook","GetWebsite","GetWebsiteCollection","PostCoupon","PostCouponRedemption","PostGatewayAccountDowntimeSchedule","PostPayout","PostServiceCredential","PostWebhook","PostWebhookCredentialHash","PutApplicationInstanceConfiguration","PutCoupon"]},"example":["GetInvoice","GetInvoiceCollection","GetCustomer","GetCustomerCollection"]},"configurationUrl":{"description":"URL for configuring the application during installation.","type":["string","null"],"format":"uri"},"configuredBy":{"type":"string","description":"Specifies who can configure the application.","readOnly":true,"enum":["user","application"]},"properties":{"description":"Defines settings that users complete when they install the application.\nThis field accepts [JSON-schema](https://json-schema.org/) drafts 4, 6, and 7.","type":"object","example":{"type":"object","properties":{"email":{"type":"string"},"max":{"type":"integer","minimum":0,"exclusiveMaximum":100}},"required":["email"]}},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","applicationInstance","logoUrl","authorLogoUrl"]}}}}}},"ApplicationInstance":{"type":"object","description":"Application instance object.","properties":{"status":{"description":"Current status of the application instance.","readOnly":true,"type":"string","enum":["enabling","enabled","disabling","disabled"]},"isConfigured":{"description":"Specifies if the configuration of the application instance is complete.\nSome applications require additional configuration after installation before they can be used.\nConfiguration is completed using the Upsert an application instance configuration operation.","type":"boolean","readOnly":true},"settings":{"description":"Configuration settings submitted during installation.","type":"object","additionalProperties":{"type":"string","description":"Additional properties added by the user when the application is installed."},"example":{"color":"red","limit":"5"},"deprecated":true,"readOnly":true},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"$ref":"#/components/schemas/SelfLink"}}},"OwnerApplicationInstance":{"allOf":[{"$ref":"#/components/schemas/ApplicationInstance"},{"type":"object","properties":{"organizationId":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/OrganizationId"}]},"token":{"description":"Session token used to authenticate an organization.","type":"string","readOnly":true}}}]},"PayoutRequestChange":{"description":"Details specific to the payout request or allocation change that triggered the webhook.","type":"object","additionalProperties":false,"properties":{"previousStatus":{"description":"Resource status before the change.","type":"string"},"status":{"description":"Resource status after the change.","type":"string"},"blockReason":{"description":"Reason for blocking the payout request.","type":"string"},"blockDescription":{"description":"Additional information about the block.","type":["string","null"]},"splitReason":{"description":"Reason for splitting the payout request.","type":"string"},"splitDescription":{"description":"Additional information about the split.","type":["string","null"]},"canceledBy":{"description":"Party that canceled the payout request.","type":"string"},"description":{"description":"Additional information about the cancellation.","type":"string"},"amount":{"description":"Amount of the change in the resource currency.","type":"number","format":"double","x-type":"Money"},"remainingAllocationAmount":{"description":"Payout request amount that remains available for allocation.","type":"number","format":"double","x-type":"Money"},"totalFulfilled":{"description":"Total fulfilled amount in the payout request currency.","type":"number","format":"double","x-type":"Money"},"paymentInstrumentId":{"description":"ID of the payment instrument.","type":"string","maxLength":50},"allocationId":{"description":"ID of the payout request allocation.","type":"string","maxLength":50},"transactionId":{"description":"ID of the transaction, or `null` when no transaction is available.","type":["string","null"],"maxLength":50},"mergedIntoPayoutRequestId":{"description":"ID of the payout request that received the merged amount.","type":"string","maxLength":50},"replayTransferId":{"description":"ID of the transfer that reserves the payout funds.\nThis value is `null` if no transfer exists.","type":["string","null"],"maxLength":50},"isAutoAllocation":{"description":"Specifies whether the allocation is created automatically.","type":"boolean"},"replacedByRemainder":{"description":"Specifies whether a replacement payout request contains the remaining amount.","type":"boolean"}}},"PayoutRequestChangedRequest":{"title":"Payout request change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request change that triggered the webhook.","type":"string","enum":["payout-request-created","payout-request-modified","payout-request-blocked","payout-request-unblocked","payout-request-ready","payout-request-returned-to-pending","payout-request-approved","payout-request-approval-undone","payout-request-processing-started","payout-request-fulfilled","payout-request-payment-instrument-selected","payout-request-allocated","payout-request-split","payout-request-merged","payout-request-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["payoutRequest","customer"],"properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related payout request.","type":"string"},"rel":{"type":"string","const":"payoutRequest"}}}}}},"PayoutRequestChangedAllocation":{"title":"Payout request allocation change","type":"object","additionalProperties":false,"required":["eventType","changeType","change","allocationId","payoutRequestId","customerId","occurredTime","_embedded","_links"],"properties":{"eventType":{"description":"Webhook event type.","type":"string","const":"payout-request-changed"},"changeType":{"description":"Specific payout request allocation change that triggered the webhook.","type":"string","enum":["payout-request-allocation-created","payout-request-allocation-queued","payout-request-allocation-returned-to-pending","payout-request-allocation-processing-started","payout-request-allocation-waiting-completion","payout-request-allocation-completed","payout-request-allocation-declined","payout-request-allocation-failed","payout-request-allocation-canceled"]},"change":{"$ref":"#/components/schemas/PayoutRequestChange"},"allocationId":{"description":"ID of the changed payout request allocation.","type":"string","maxLength":50,"example":"pra_0YVDMDE2BMC6KBB5MX76RF6T80"},"payoutRequestId":{"description":"ID of the payout request.","type":"string","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"customerId":{"description":"ID of the customer associated with the payout request.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"occurredTime":{"description":"Date and time when the change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","required":["allocation","payoutRequest","customer"],"properties":{"allocation":{"$ref":"#/components/schemas/PayoutRequestAllocation"},"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the related resource.","type":"string"},"rel":{"description":"Type of related resource.","type":"string","enum":["allocation","payoutRequest"]}}}}}},"PayoutRequestChangedWebhookPayload":{"type":"object","description":"Payout request or payout request allocation change details.","discriminator":{"propertyName":"changeType","mapping":{"payout-request-created":"#/components/schemas/PayoutRequestChangedRequest","payout-request-modified":"#/components/schemas/PayoutRequestChangedRequest","payout-request-blocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-unblocked":"#/components/schemas/PayoutRequestChangedRequest","payout-request-ready":"#/components/schemas/PayoutRequestChangedRequest","payout-request-returned-to-pending":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approved":"#/components/schemas/PayoutRequestChangedRequest","payout-request-approval-undone":"#/components/schemas/PayoutRequestChangedRequest","payout-request-processing-started":"#/components/schemas/PayoutRequestChangedRequest","payout-request-fulfilled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-payment-instrument-selected":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocated":"#/components/schemas/PayoutRequestChangedRequest","payout-request-split":"#/components/schemas/PayoutRequestChangedRequest","payout-request-merged":"#/components/schemas/PayoutRequestChangedRequest","payout-request-canceled":"#/components/schemas/PayoutRequestChangedRequest","payout-request-allocation-created":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-queued":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-returned-to-pending":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-processing-started":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-waiting-completion":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-completed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-declined":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-failed":"#/components/schemas/PayoutRequestChangedAllocation","payout-request-allocation-canceled":"#/components/schemas/PayoutRequestChangedAllocation"}},"oneOf":[{"$ref":"#/components/schemas/PayoutRequestChangedRequest"},{"$ref":"#/components/schemas/PayoutRequestChangedAllocation"}]},"CheckoutFormId":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"CheckoutFormFixedPlan":{"title":"Fixed quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `fixed`,\ncustomers cannot choose the plan quantity.\nIf this value is set to `variable`,\ncustomers can choose the plan quantity.","type":"string","enum":["fixed"]},"quantity":{"description":"Quantity of the plan.","type":"integer","minimum":1}}},"CheckoutFormVariablePlan":{"title":"Variable quantity","type":"object","required":["planId","type","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"type":{"description":"Type of plan. If this value is set to `variable`,\ncustomers can choose the plan quantity.\nIf this value is set to `fixed`,\ncustomers cannot choose the plan quantity.","type":"string","enum":["variable"]},"quantity":{"description":"Default plan quantity.","type":"integer"},"minimum":{"description":"Minimum plan quantity.","type":"integer","minimum":1,"default":1},"multipleOf":{"description":"Multiple by which the plan quantity increases.","type":"integer","minimum":1,"default":1},"maximum":{"description":"Maximum plan quantity.","type":"integer","minimum":1,"default":100}}},"CheckoutFormPlan":{"type":"object","discriminator":{"propertyName":"type","mapping":{"fixed":"#/components/schemas/CheckoutFormFixedPlan","variable":"#/components/schemas/CheckoutFormVariablePlan"}},"oneOf":[{"$ref":"#/components/schemas/CheckoutFormFixedPlan"},{"$ref":"#/components/schemas/CheckoutFormVariablePlan"}]},"CheckoutForm":{"type":"object","required":["name","websiteId","plans"],"properties":{"id":{"type":"string","description":"ID of the checkout form.","readOnly":true,"maxLength":50,"example":"chkt_frm_0YV8XZ6174C2MBS5011SAZNMBP"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customDomain":{"description":"Custom domain for the checkout form.","type":["string","null"],"maxLength":255},"plans":{"type":"array","description":"List of plans that are applied to a customer order by default.\nPlans describe how the customer must pay for products. For more information, see [Plans](https://www.rebilly.com/docs/dev-docs/api/plans/).","minItems":1,"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"addonPlans":{"type":"array","description":"List of add-on plans that are displayed to the customer on the payment screen.\nAdd-ons are plans that the customer has not already subscribed to.\n\nThe customer selects whether to add an add-on plan to their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"bumpPlans":{"type":"array","description":"List of bump plans that are displayed to the customer on the payment screen.\nUse bump plans to offer purchase bonuses, discounts, and deals to the customer.\n\nThe customer selects whether to purchase bump plans,\nor to use the plans that are specified in their current order.","default":[],"items":{"$ref":"#/components/schemas/CheckoutFormPlan"}},"accountsEnabled":{"description":"Specifies if the account is enabled.\nIf this value is `true`, the customer can sign-up and sign-in using the checkout form.","type":"boolean","default":false},"couponsEnabled":{"description":"Specifies if coupons are enabled in the checkout form.\nIf this value is `true`, the customer can use coupons in the checkout form.\nUse coupons to reward customers, generate sales, or to test new pricing strategies.","type":"boolean","default":false},"purchaseLimit":{"description":"Limits the number of purchases that can be made using a specific checkout form.\nIf a purchase limit value is set, each purchase decreases this value.\nWhen the purchases limit value reaches zero, the checkout form becomes inactive.","type":["integer","null"],"minimum":0,"default":null},"paymentMethods":{"description":"List of available payment methods.\nPayment methods must have at least one active gateway account.\nIf not specified, all available payment methods are displayed.","type":"array","items":{"$ref":"#/components/schemas/PaymentMethod"}},"customization":{"description":"Visual customization options for the checkout form.","type":"object","properties":{"logoId":{"description":"ID of the linked file object.","type":["string","null"],"maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"summary":{"description":"Summary text.","type":["string","null"]},"buttonText":{"description":"Button text.\nUse the `{{amount}}` placeholder to display the checkout form total.","type":"string","default":"Pay {{amount}}"},"colors":{"description":"Primary color used in the checkout form and button text.","type":"object","properties":{"primary":{"description":"Primary color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"0044d4"},"buttonText":{"description":"Button text color for the checkout form in hexadecimal format.","type":"string","maxLength":6,"default":"ffffff"}}},"links":{"description":"URLs that are displayed on the checkout form.","type":"object","properties":{"refundPolicy":{"description":"Website refund policy URL.","type":["string","null"],"format":"uri"},"privacyPolicy":{"description":"Website privacy policy URL.","type":["string","null"],"format":"uri"},"termsOfService":{"description":"Website terms of service URL.","type":["string","null"],"format":"uri"}}},"tracking":{"description":"Tracking system IDs.","type":"object","properties":{"googleAnalytics":{"description":"Google Analytics tracking ID.","type":["string","null"],"example":"UA-XXXXX-YY"},"googleTagManager":{"description":"Google Tag Manager tracking ID.","type":["string","null"],"example":"GTM-XXXXX"},"gtagJs":{"description":"Google Analytics tracking ID.\nThis value is used by Google Global Site Tag (gtag.js) service.","type":["string","null"],"example":"UA-XXXXX-YY"},"facebookPixel":{"description":"Facebook Pixel tracking ID.","type":["string","null"],"example":"1234567890"},"segmentAnalytics":{"description":"Segment Analytics tracking ID.","type":["string","null"],"example":"1234567890"},"heapIo":{"description":"Heap.io tracking ID.","type":["string","null"],"example":"1234567890"}}},"requiredAdditionalFields":{"description":"List of required fields.","type":"array","items":{"type":"string"},"example":["information.companyName","information.phoneNumber"]}}},"name":{"description":"Name of the checkout form.\nThis name value is for internal display, and is not visible to your customers.\nUse this name to locate and organize your checkout forms.","type":"string"},"status":{"description":"Status of the checkout form. If the `status` value is `inactive`,\nthe checkout form URL produces a 404 error.","type":"string","enum":["active","inactive"],"default":"active"},"createdTime":{"$ref":"#/components/schemas/CreatedTime"},"updatedTime":{"$ref":"#/components/schemas/UpdatedTime"},"_links":{"type":"array","description":"Related links.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"Link URL.","type":"string"},"rel":{"description":"Type of link.","type":"string","enum":["self","preview"]}}}}}}},"responses":{"Unauthorized":{"description":"Unauthorized access.\nInvalid credentials used.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unauthorized"}}}},"Forbidden":{"description":"Access forbidden.\nIf the organization requires multi-factor authentication (MFA) and the session has not passed MFA, `error` is `mfa_required`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forbidden"}}}},"NotFound":{"description":"Resource not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}},"ValidationError":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}},"TooManyRequests":{"description":"Request rate limit exceeded.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"description":"Number of requests still available for this rate limit.\nFor more information, see [Rate limits](#section/Rate-limits).","schema":{"type":"integer"},"example":0},"Rate-Limit-Retry-After":{"$ref":"#/components/headers/Rate-Limit-Retry-After"},"Retry-After":{"description":"Number of seconds to wait before retrying the request.","schema":{"type":"integer"},"example":1}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequests"}}}},"Conflict":{"description":"Conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conflict"}}}},"Customer":{"description":"Customer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"Found":{"description":"Resource moved.","headers":{"Location":{"schema":{"type":"string","format":"uri"},"example":"https://api.rebilly.com/example"}}},"BadRequest":{"description":"Server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequest"}}}},"DataExportValidationError":{"description":"Invalid data sent, or the export exceeds the maximum record limit.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ValidationError"},{"$ref":"#/components/schemas/DataExportLimitExceeded"}]}}}},"NoContent":{"description":"Request accepted.\nNo response body returned."}},"requestBodies":{"Attachment":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}},"description":"Attachment resource.","required":true},"Blocklist":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}},"description":"Blocklist resource.","required":true},"Coupon":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}},"description":"Coupon resource.","required":true},"Customer":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}},"description":"Customer resource.","required":true},"Dispute":{"content":{"application/json":{"schema":{"type":"object","required":["currency","amount","transactionId","postedTime","type","status","reasonCode"],"properties":{"transactionId":{"description":"ID of the disputed transaction.","$ref":"#/components/schemas/TransactionId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Dispute amount.","type":"number","format":"double"},"acquirerReferenceNumber":{"description":"Acquirer reference number for the dispute.","type":["string","null"],"maxLength":255},"caseId":{"description":"Case ID of the dispute.","type":["string","null"],"maxLength":100},"reasonCode":{"description":"Code used in the chargeback that describes the reason for the dispute.","type":"string","maxLength":255,"enum":["0","00","1","2","3","4","5","6","7","8","9","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.6.1","12.6.2","12.7","13.1","13.2","13.3","13.4","13.5","13.6","13.7","13.8","13.9","30","31","34","35","37","40","41","42","46","47","49","50","51","53","54","55","56","57","59","60","62","63","70","71","72","73","74","75","76","77","78","79","80","81","82","83","85","86","93","98","004","021","024","059","062","063","127","154","155","158","173","175","176","193","680","684","691","693","1000","2001","2002","2003","2004","2005","2008","2011","2700","2701","2702","2703","2704","2705","2706","2707","2708","2709","2710","2713","2870","2871","4807","4808","4812","4831","4834","4837","4840","4841","4842","4846","4849","4850","4853","4854","4855","4859","4860","4863","4870","4871","4901","4902","4903","4904","4905","4908","4999","4534","4541","4542","4550","4553","4586","4752","4753","4755","4865","4866","4867","7010","7030","8002","A","A01","A02","A08","AL","AP","AW","B","C","C02","C04","C05","C08","C14","C18","C28","C31","C32","CA","CD","CR","D","DA","DP","DP1","EX","F10","F14","F22","F24","F29","F30","F31","FR1","FR2","FR4","FR6","IC","IN","IS","ITA","LP","M01","M10","M49","N","NA","NC","P","P01","P03","P04","P05","P07","P08","P22","P23","R03","R13","RG","RM","RN1","RN2","SV","TF","TNM","UA01","UA02","UA03","UA10","UA11","UA12","UA18","UA20","UA21","UA22","UA23","UA28","UA30","UA31","UA32","UA38","UA99","bank_cannot_process","credit_not_processed","customer_initiated","debit_not_authorized","duplicate","fraudulent","general","incorrect_account_details","insufficient_funds","merchandise","non_receipt","not_as_described","pre-chargeback-alert","product_not_received","product_unacceptable","special","subscription_canceled","unauthorized","unauthorized_claim","unrecognized","MERCHANDISE_OR_SERVICE_NOT_RECEIVED","MERCHANDISE_OR_SERVICE_NOT_AS_DESCRIBED","UNAUTHORISED","CREDIT_NOT_PROCESSED","DUPLICATE_TRANSACTION","INCORRECT_AMOUNT","PAYMENT_BY_OTHER_MEANS","CANCELED_RECURRING_BILLING","PROBLEM_WITH_REMITTANCE","OTHER"]},"type":{"description":"Type of dispute.","type":"string","enum":["information-request","first-chargeback","second-chargeback","arbitration","fraud","ethoca-alert","verifi-alert","bank-return","paypal-claim","representment","inquiry","forced-refund","collaboration"]},"status":{"description":"Status of the dispute.","type":"string","enum":["response-needed","under-review","forfeited","won","lost","unknown"]},"postedTime":{"description":"Date and time when the dispute is posted.","type":"string","format":"date-time"},"deadlineTime":{"description":"Latest date and time by when a merchant must submit a representment for a dispute.\nIf the deadline is missed, the merchant loses the dispute.","type":["string","null"],"format":"date-time"}}}}},"description":"Dispute resource.","required":true},"Invoice":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}},"description":"Invoice resource.","required":true},"PostPaymentInstrument":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstrumentCreateToken"},{"$ref":"#/components/schemas/PaymentCardCreatePlain"},{"$ref":"#/components/schemas/BankAccountCreatePlain"},{"$ref":"#/components/schemas/PayPalAccount"},{"$ref":"#/components/schemas/AlternativeInstrument"}]}}},"description":"PaymentInstrument resource.","required":true},"PatchPaymentInstrument":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PaymentInstrumentUpdateToken"},{"$ref":"#/components/schemas/PaymentCardUpdatePlain"},{"$ref":"#/components/schemas/BankAccountUpdatePlain"}]}}},"description":"PaymentInstrument resource.","required":true},"Product":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}},"description":"Product resource.","required":true},"Subscription":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"description":"Order resource.","required":true},"SubscriptionCancellation":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}},"description":"Cancellation resource.","required":true},"Tag":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}}},"description":"Tag resource.","required":true},"TransactionRequest":{"content":{"application/json":{"schema":{"required":["type","websiteId","customerId","currency","amount"],"type":"object","properties":{"upsertCustomer":{"type":"boolean","default":false,"writeOnly":true,"description":"Specifies whether to create or update (upsert) a customer.\nIf this value is `true`, the operation creates or updates (upserts) a customer.\nIf this value is `false`, the `customerId` already exists, and the related customer is not updated."},"type":{"description":"Type of transaction.\n\nThis field supports a limited subset of transaction types.\nTo refund or void, see [Refund a transaction](https://www.rebilly.com/catalog/all/transactions/posttransactionrefund).\n\nTo `capture`, use the `sale` type.\nIf any existing `authorize` transactions are eligible,\nthey are captured and the `sale` converts to a `capture` type.\n\nThe `setup` type sets up the payment instrument by following the `setupInstruction` in the selected gateway account.\nIf the instruction is to `do-nothing`, a transaction with result `approved` of type `setup` returns.","type":"string","enum":["sale","authorize","setup"]},"limits":{"$ref":"#/components/schemas/TransactionLimitAmount"},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","example":97.97},"invoiceIds":{"description":"Array of invoice IDs.","type":["array","null"],"items":{"$ref":"#/components/schemas/ResourceId"}},"paymentInstruction":{"description":"Payment instruction for the purchase.\nIf this value is not supplied,\nthe customer's default payment instrument is used.","$ref":"#/components/schemas/PaymentInstruction"},"billingAddress":{"description":"Billing address.\nIf this value is not supplied,\nthe billing address associated with the payment instrument is used.\nIf no billing address is associated with the payment instrument,\nthe customer's billing address is used.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"requestId":{"description":"Use this field to prevent duplicate transaction requests that may occur within a short period of time.\nIf a duplicate request is sent with the same `requestId`,\nit is ignored to prevent double-billing.\nThis value must be unique within a 24-hour period.\n\n> **Important:** This field is recommended.","type":["string","null"],"maxLength":50,"pattern":"^[\\-\\w]+$","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"gatewayAccountId":{"description":"ID of the gateway account.\nRebilly selects the payment gateway account for the transaction based on transaction properties and the rules configuration of the `gateway-account-requested` event.\nTo prevent Rebilly from making the gateway account selection,\nsupply a gateway account ID in this field.\nOnly use this field if you intend to override the settings.","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"description":{"type":["string","null"],"description":"Payment description.","maxLength":255},"notificationUrl":{"description":"URL where a server-to-server `POST` notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"redirectUrl":{"type":["string","null"],"description":"URL to redirect the end-user when an offsite transaction is completed.\nDefaults to the configured URL of the website.\nYou may use `{id}` or `{result}` as placeholders in the URL,\nthese are replaced the with the transaction ID and result accordingly.","maxLength":2083,"format":"uri"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"isProcessedOutside":{"description":"Specifies when the transaction is processed outside Rebilly.","type":"boolean","default":false},"isMerchantInitiated":{"description":"Specifies when the transaction is initiated by the merchant.","type":"boolean","default":false},"processedTime":{"type":"string","description":"Time the transaction is processed.\nThis field is only specified if the transaction is processed outside Rebilly.","format":"date-time"}}}}},"description":"Transaction resource.","required":true},"PatchTransactionRequest":{"content":{"application/json":{"schema":{"type":"object","title":"Patch transaction request","properties":{"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"}}}}},"description":"Use the patch transaction request to modify custom fields.","required":true},"CreditTransactionRequest":{"content":{"application/json":{"schema":{"type":"object","required":["websiteId","customerId","currency","amount"],"properties":{"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"amount":{"description":"Amount of the transaction.","type":"number","format":"double","example":97.97},"invoiceIds":{"description":"Array of invoice IDs.","type":["array","null"],"items":{"$ref":"#/components/schemas/ResourceId"}},"paymentInstruction":{"description":"Payment instruction for the purchase.\nIf this value is not supplied,\nthe customer's default payment instrument is used.","$ref":"#/components/schemas/PaymentInstruction"},"billingAddress":{"description":"Billing address.\nIf this value is not supplied,\nthe billing address associated with the payment instrument is used.\nIf no billing address is associated with the payment instrument,\nthe customer's billing address is used.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"requestId":{"description":"Use this field to prevent duplicate transaction requests that may occur within a short period of time.\nIf a duplicate request is sent with the same `requestId`,\nit is ignored to prevent double-billing.\nThis value must be unique within a 24-hour period.\n\n> **Important:** This field is recommended.","type":["string","null"],"maxLength":50,"pattern":"^[\\-\\w]+$","example":"44433322-2c4y-483z-a0a9-158621f77a21"},"gatewayAccountId":{"description":"ID of the gateway account.\nRebilly selects the payment gateway account for the transaction based on transaction properties and the rules configuration of the `gateway-account-requested` event.\nTo prevent Rebilly from making the gateway account selection,\nsupply a gateway account ID in this field.\nOnly use this field if you intend to override the settings.","type":["string","null"],"maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"description":{"type":["string","null"],"description":"Payment description.","maxLength":255},"notificationUrl":{"description":"URL where a server-to-server `POST` notification is sent.\nThis notification is sent when the transaction result is finalized after a timeout or an offsite interaction.\n\nDo not interpret this notification as a confirmation,\ncomplete a `GET` request to confirm the result of the transaction.\nTo ensure the request is not reattempted,\nwhen the result is confirmed, respond with a `2xx` HTTP status code.\n\nThe following placeholders are available to use in this URI: `{id}` and `{result}`.\nThese placeholders are replaced the with the transaction ID and result accordingly.","type":["string","null"],"maxLength":2083,"format":"uri"},"redirectUrl":{"type":["string","null"],"description":"URL to redirect the end-user when an offsite transaction is completed.\nDefaults to the configured URL of the website.\nYou may use `{id}` or `{result}` as placeholders in the URL,\nthese are replaced the with the transaction ID and result accordingly.","maxLength":2083,"format":"uri"},"customFields":{"$ref":"#/components/schemas/ResourceCustomFields"},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"isProcessedOutside":{"description":"Specifies when the transaction is processed outside Rebilly.","type":"boolean","default":false},"isMerchantInitiated":{"description":"Specifies when the transaction is initiated by the merchant.","type":"boolean","default":false},"processedTime":{"type":"string","description":"Time the transaction is processed.\nThis field is only specified if the transaction is processed outside Rebilly.","format":"date-time"},"payoutRequestId":{"deprecated":true,"description":"ID of the payout request for which the transaction is fully allocated.\n\n> **Note:** Use the payout request allocation flow instead of this field.\nCreate an allocation with `POST /payout-request-allocations`.\nTo process a selected set, send `POST /payout-request-allocation-operations` with `type` set to `process`.\nTo process a batch, send `POST /payout-request-batch-operations` with `type` set to `process`.","writeOnly":true,"type":"string","maxLength":50}}}}},"description":"Transaction resource.","required":true},"ApiKey":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}},"description":"ApiKey resource.","required":true},"PostCredential":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PostSmtpCredential"},{"$ref":"#/components/schemas/PostWebhookCredential"},{"$ref":"#/components/schemas/PostExperianCredential"},{"$ref":"#/components/schemas/PostMailgunCredential"},{"$ref":"#/components/schemas/PostOAuth2Credential"},{"$ref":"#/components/schemas/PostPostmarkCredential"},{"$ref":"#/components/schemas/PostSendGridCredential"},{"$ref":"#/components/schemas/PostAwsSesCredential"},{"$ref":"#/components/schemas/PostTaxJarCredential"},{"$ref":"#/components/schemas/PostAvalaraCredential"},{"$ref":"#/components/schemas/PostPlaidCredential"}],"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/PostSmtpCredential","webhook":"#/components/schemas/PostWebhookCredential","experian":"#/components/schemas/PostExperianCredential","mailgun":"#/components/schemas/PostMailgunCredential","oauth2":"#/components/schemas/PostOAuth2Credential","postmark":"#/components/schemas/PostPostmarkCredential","sendgrid":"#/components/schemas/PostSendGridCredential","aws-ses":"#/components/schemas/PostAwsSesCredential","taxjar":"#/components/schemas/PostTaxJarCredential","avalara":"#/components/schemas/PostAvalaraCredential","plaid":"#/components/schemas/PostPlaidCredential"}}}}},"description":"Service credential resource.","required":true},"PatchCredential":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/PatchServiceCredentialRequest"},{"$ref":"#/components/schemas/PatchPlaidCredentialRequest"},{"$ref":"#/components/schemas/PatchTaxJarCredentialRequest"}],"discriminator":{"propertyName":"type","mapping":{"smtp":"#/components/schemas/PatchServiceCredentialRequest","webhook":"#/components/schemas/PatchServiceCredentialRequest","mailgun":"#/components/schemas/PatchServiceCredentialRequest","sendgrid":"#/components/schemas/PatchServiceCredentialRequest","aws-ses":"#/components/schemas/PatchServiceCredentialRequest","oauth2":"#/components/schemas/PatchServiceCredentialRequest","postmark":"#/components/schemas/PatchServiceCredentialRequest","experian":"#/components/schemas/PatchServiceCredentialRequest","avalara":"#/components/schemas/PatchServiceCredentialRequest","plaid":"#/components/schemas/PatchPlaidCredentialRequest","taxjar":"#/components/schemas/PatchTaxJarCredentialRequest"}}}}},"description":"Service credential resource.","required":true},"RuleSet":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}},"description":"Ruleset 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},"PostOrganization":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Organization"},{"required":["name","website","country","reportCurrency"]}]}}},"description":"Create organization request."},"PatchOrganization":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Organization"},{"properties":{"website":{"readOnly":true},"reportCurrency":{"readOnly":true}}}]}}},"description":"Update Organization Request."},"PatchPayoutRequest":{"content":{"application/json":{"schema":{"type":"object","title":"Patch payout request","properties":{"status":{"description":"Status of the request.","type":"string","enum":["pending","ready","approved","canceled"],"x-enumDescriptions":{"pending":"Request was created by the customer.","ready":"Request was assessed, deemed eligible for processing and is ready for approval.","approved":"Request was approved and is ready for processing.","canceled":"Request is canceled. This status requires the `canceledBy` field."}},"canceledBy":{"description":"Initiator of the cancellation.\nRequired when `status` is `canceled`.","type":"string","enum":["customer","merchant","system"]},"cancellationDescription":{"description":"Description of the cancellation reason.","type":["string","null"],"minLength":1,"maxLength":255},"description":{"description":"Description of the payout request.","type":["string","null"]},"blocked":{"description":"Specifies whether the payout request is blocked or unblocked.\nThis field can only be applied to payout requests in the following statuses:\n`pending`, `ready`, `approved`, or `in-progress`.\n\nWhen a payout request is blocked, it cannot:\n- Transition to `ready`, `approved`, `in-progress`, `merged`, `split`, or `canceled`.\n- Have allocations created.\n- Start allocation processing.\n- Cancel pending allocations.\n\nA blocked payout request can still transition to the `fulfilled` status if allocation processing starts before the payout request is blocked.","type":"boolean","example":false},"blockReason":{"oneOf":[{"$ref":"#/components/schemas/PayoutRequestBlockReason"},{"type":"null"}]},"blockDescription":{"description":"Additional description for blocking the payout request.","type":["string","null"],"maxLength":255}}}}},"description":"Fields for updating the payout request status, description, and blocked state."},"GlobalWebhook":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}},"description":"Webhook to create or update.","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},"ApplicationInstanceDisabled":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"applicationId":{"type":"string","description":"Unique application ID.","maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["application-instance-disabled"]},"_embedded":{"description":"Embedded objects related to the application instance event.","type":"object","properties":{"application":{"$ref":"#/components/schemas/Application"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["application"]}}}}}}}},"description":"Payload of application instance-related webhook event."},"ApplicationInstanceEnabled":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"applicationId":{"type":"string","description":"Unique application ID.","maxLength":50,"example":"app_01H0HT25X7XXCJGS4H8VJSYF2Y"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["application-instance-enabled"]},"_embedded":{"description":"Embedded objects related to the application instance event.","type":"object","properties":{"application":{"$ref":"#/components/schemas/Application"},"applicationInstance":{"$ref":"#/components/schemas/OwnerApplicationInstance"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["application","applicationInstance"]}}}}}}}},"description":"Payload of application instance-related webhook event."},"CustomerWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["aml-list-possibly-matched","customer-created","customer-merged","customer-one-time-password-requested","customer-redirected-offsite","customer-returned","customer-updated"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer-related webhook event."},"BalanceTransactionSettled":{"content":{"application/json":{"schema":{"properties":{"recognitionId":{"description":"ID of the recognized revenue.","type":"string"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"itemId":{"description":"ID of the invoice item.","type":"string"},"amount":{"description":"Amount recognized.","type":"number","format":"double"},"currency":{"$ref":"#/components/schemas/CurrencyCode"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-revenue-recognized"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice revenue recognition event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice revenue recognition-related webhook event."},"CouponRedemptionWebhook":{"content":{"application/json":{"schema":{"properties":{"couponId":{"description":"ID of the coupon.","type":"string"},"redemptionId":{"description":"ID of the redemption.","type":"string"},"customerId":{"description":"ID of the customer.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["coupon-application-removed","coupon-applied","coupon-redeemed","coupon-redemption-canceled"]},"_embedded":{"type":"object","description":"Embedded objects related to the coupon redemption event.","properties":{"coupon":{"$ref":"#/components/schemas/Coupon"},"redemption":{"$ref":"#/components/schemas/CouponRedemption"},"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["coupon","redemption","customer"]}}}}}}}},"description":"Payload of coupon redemption-related webhook event."},"CouponWebhook":{"content":{"application/json":{"schema":{"properties":{"couponId":{"description":"ID of the coupon.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["coupon-expiration-modified","coupon-expired","coupon-issued","coupon-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the coupon event.","properties":{"coupon":{"$ref":"#/components/schemas/Coupon"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["coupon"]}}}}}}}},"description":"Payload of coupon-related webhook event."},"CreditMemoWebhook":{"content":{"application/json":{"schema":{"properties":{"creditMemoId":{"type":"string","description":"ID of the credit memo.","maxLength":50,"example":"crmm_0YVCNN22TWC3G8H82QNPNVZCHG"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["credit-memo-applied","credit-memo-created","credit-memo-modified","credit-memo-partially-applied","credit-memo-voided"]},"_embedded":{"type":"object","description":"Embedded objects related to the credit memo event.","properties":{"creditMemo":{"$ref":"#/components/schemas/CreditMemo"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["creditMemo"]}}}}}}}},"description":"Payload of credit memo-related webhook event."},"MergedCustomer":{"content":{"application/json":{"schema":{"properties":{"targetCustomerId":{"description":"ID of the customer that contains the merged data.","type":"string","maxLength":50,"example":"cus_0YV7DDSDD1C8DA64KHH2W33CPF"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["customer-merged"]},"duplicatedCustomer":{"$ref":"#/components/schemas/Customer"},"_embedded":{"type":"object","description":"Embedded objects related to the customer merge event.","properties":{"targetCustomer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer merge-related webhook event."},"CustomerRedirect":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"redirectUrl":{"description":"URL customer redirected to.","type":"string","format":"uri"},"ipAddress":{"description":"Customer's IP address.","type":"string"},"httpHeaders":{"description":"Customer's browser HTTP headers.","type":"object","additionalProperties":{"type":"string"},"example":{"Content-Type":"application/json","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["customer-redirected-offsite","customer-returned"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer redirect event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction"]}}}}}}}},"description":"Payload of customer redirect-related webhook event."},"CustomerTaxNumberValidated":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"taxIdNumber":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"taxIdType":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"]},"isValid":{"type":"boolean","description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation)."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["customer-tax-number-validated"]},"_embedded":{"type":"object","description":"Embedded objects related to the customer tax number validation event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of customer tax number validation-related webhook event."},"DisputeWebhook":{"content":{"application/json":{"schema":{"properties":{"disputeId":{"type":"string","description":"ID of the dispute.","maxLength":50,"example":"dp_0YVCE8J5F2DE58FV0S8YASW4HK"},"transactionId":{"type":["string","null"],"description":"ID of the transaction.","maxLength":50,"example":"txn_0YVDTQJ8YWDGQACV2N2N5SPWQ0"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["dispute-created","dispute-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the dispute event.","properties":{"dispute":{"$ref":"#/components/schemas/Dispute"},"transaction":{"oneOf":[{"$ref":"#/components/schemas/Transaction"},{"type":"null"}]}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["dispute","transaction"]}}}}}}}},"description":"Payload of dispute-related webhook event."},"ExperianCheckPerformed":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"outcome":{"description":"Check decision where `1` - record matches, `0` - no matches found, `-1` - record mismatches.","type":"integer","enum":[-1,0,1],"example":1},"reason":{"description":"Text representation of the outcome.","type":"string","example":"Individual has a 90 percent or greater match to forename surname premise postcode with ID verified and DOB"},"errorCode":{"description":"Error code produced by the Experian system.","type":"string","example":"001"},"errorMessage":{"description":"Error message produced by the Experian system.","type":"string","example":"Authentication Error: Bad Username or Password"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["experian-check-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the Experian check event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer"]}}}}}}}},"description":"Payload of Experian check-related webhook event."},"UsageLimitWebhook":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionItemId":{"type":"string","description":"ID of the subscription item.","example":"sub_01HW2V1Y3A6QPM1NX4WCYHFSRS"},"planId":{"type":"string","description":"ID of the plan.","example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"usageQuantity":{"type":"integer","description":"Reported usage quantity."},"usageAmount":{"type":"number","format":"double","description":"Billed usage amount."},"currency":{"type":"string","description":"Currency of the billed usage amount."},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["soft-usage-limit-reached","hard-usage-limit-reached","trial-usage-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the usage limit event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of usage limit-related webhook event."},"InvoiceTaxCalculationFailed":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"reason":{"description":"Error message explaining tax calculation failure.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-tax-calculation-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice tax calculation event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice tax calculation-related webhook event."},"GatewayAccountWebhook":{"content":{"application/json":{"schema":{"properties":{"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-downtime-ended","gateway-account-downtime-started","gateway-account-onboarding-completed","gateway-account-onboarding-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the gateway account event.","properties":{"gatewayAccount":{"$ref":"#/components/schemas/GatewayAccount"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["gatewayAccount"]}}}}}}}},"description":"Payload of gateway account-related webhook event."},"GatewayAccountAndGatewayAccountLimit":{"content":{"application/json":{"schema":{"properties":{"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the gateway account limit event.","properties":{"gatewayAccount":{"$ref":"#/components/schemas/GatewayAccount"},"gatewayAccountLimit":{"$ref":"#/components/schemas/GatewayAccountLimit"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["gatewayAccount","gatewayAccountLimit"]}}}}}}}},"description":"Payload of gateway account limit-related webhook event."},"TransactionWebhook":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["gateway-account-requested","offsite-payment-completed","risk-score-changed","transaction-amount-discrepancy-found","transaction-declined","transaction-discrepancy-found","transaction-process-requested","transaction-processed","transaction-reconciled","transaction-timeout-resolved","waiting-gateway-transaction-completed","autodeposit-lookup-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction"]}}}}}}}},"description":"Payload of transaction-related webhook event."},"InvoiceWebhook":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["invoice-abandoned","invoice-created","invoice-issued","invoice-modified","invoice-paid","invoice-partially-paid","invoice-partially-refunded","invoice-past-due","invoice-past-due-reminder","invoice-refunded","invoice-reissued","invoice-tax-calculation-failed","invoice-voided"]},"_embedded":{"type":"object","description":"Available embedded objects that are requested by the expand query parameter.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of invoice-related webhook event."},"InvoicePastDueReminderWebhook":{"content":{"application/json":{"schema":{"properties":{"invoiceId":{"description":"ID of the invoice.","type":"string"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["invoice-past-due-reminder-15-days","invoice-past-due-reminder-30-days","invoice-past-due-reminder-60-days","invoice-past-due-reminder-90-days"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice event.","properties":{"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["invoice"]}}}}}}}},"description":"Payload of the invoice past due reminder webhook event."},"KycDocumentWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"kycDocumentId":{"type":"string","description":"ID of the KYC document.","maxLength":50,"example":"kyc_doc_0YV7JHY705C6DA487BFTAA33V8"},"fileId":{"type":"string","description":"ID of the file.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["kyc-document-accepted","kyc-document-created","kyc-document-modified","kyc-document-rejected","kyc-document-reviewed","kyc-document-archived"]},"_embedded":{"type":"object","description":"Embedded objects related to the KYC document event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"kycDocument":{"$ref":"#/components/schemas/KycDocument"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","file","kycDocument"]}}}}}}}},"description":"Payload of KYC document-related webhook event."},"KycRequestWebhook":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"kycRequestId":{"type":"string","description":"ID of the KYC request.","maxLength":50,"example":"kyc_req_0YV7JMJ3DBCGRBR7K9D4HVGPP5"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["kyc-request-attempted","kyc-request-failed","kyc-request-fulfilled","kyc-request-partially-fulfilled"]},"_embedded":{"type":"object","description":"Embedded objects related to the KYC request event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"kycRequest":{"$ref":"#/components/schemas/KycRequest"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","kycRequest"]}}}}}}}},"description":"Payload of KYC request-related webhook event."},"OrderAbandonReminderSent":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"scheduleNumber":{"type":"integer","description":"Number of triggered abandon reminder events."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["order-abandon-reminder"]},"_embedded":{"type":"object","description":"Embedded objects related to the order abandon reminder event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of order abandon reminder-related webhook event."},"SubscriptionWebhook":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["order-completed","order-abandoned","subscription-activated","subscription-canceled","subscription-churned","subscription-downgraded","subscription-modified","subscription-reactivated","subscription-renewal-reminder","subscription-renewed","subscription-trial-converted","subscription-trial-end-changed","subscription-trial-end-reminder","subscription-trial-ended","subscription-upgraded","order-delinquency-reached","subscription-items-changed"]},"_embedded":{"type":"object","description":"Embedded objects related to the order event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of order-related webhook event."},"OrganizationTaxNumberValidated":{"content":{"application/json":{"schema":{"properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"taxIdNumber":{"type":"string","description":"Value of the tax number.","example":"GB980780684"},"taxIdType":{"type":"string","description":"Type of the tax ID number.","enum":["eu-vat","other"]},"isValid":{"type":"boolean","description":"Determines if the tax number passed the EU official [VIES validation](https://ec.europa.eu/taxation_customs/vies/#/vat-validation)."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["organization-tax-number-validated"]},"_embedded":{"type":"object","description":"Embedded objects related to the organization tax number validation event.","properties":{"organization":{"$ref":"#/components/schemas/Organization"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["organization"]}}}}}}}},"description":"Payload of organization tax number validation-related webhook event."},"PaymentCardWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentCardId":{"description":"ID of the payment instrument.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payment-card-created","payment-card-expiration-reminder","payment-card-expired"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment card event.","properties":{"paymentCard":{"$ref":"#/components/schemas/PaymentCard"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentCard"]}}}}}}}},"description":"Payload of payment card-related webhook event."},"PaymentCardExpirationReminderWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentCardId":{"description":"ID of the payment card.","type":"string"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payment-card-expiration-reminder-14-days","payment-card-expiration-reminder-7-days","payment-card-expiration-reminder-1-day"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment card event.","properties":{"paymentCard":{"$ref":"#/components/schemas/PaymentCard"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentCard"]}}}}}}}},"description":"Payload of the payment card expiration reminder webhook event."},"PaymentInstrumentWebhook":{"content":{"application/json":{"schema":{"properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payment-instrument-modified"]},"_embedded":{"type":"object","description":"Embedded objects related to the payment instrument event.","properties":{"paymentInstrument":{"$ref":"#/components/schemas/PaymentInstrument"}}},"_links":{"type":"array","description":"Links to related resources.","readOnly":true,"items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["paymentInstrument"]}}}}}}}},"description":"Payload of payment instrument-related webhook event."},"PayoutRequestBatchWebhook":{"content":{"application/json":{"schema":{"type":"object","required":["batchId","eventType","occurredTime","_embedded","_links"],"properties":{"batchId":{"description":"ID of the batch of payout requests.","type":"string","maxLength":50,"example":"preq_batch_0YVDMDE2BMC6KBB5MX76RF6T80"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payout-request-batch-created","payout-request-batch-modified"]},"occurredTime":{"description":"Date and time when the batch change occurred.","type":"string","format":"date-time"},"_embedded":{"type":"object","description":"Embedded objects related to the batch event for payout requests.","required":["payoutRequestBatch"],"properties":{"payoutRequestBatch":{"$ref":"#/components/schemas/PayoutRequestBatch"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","required":["href","rel"],"properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Type of relationship for the link.","type":"string","enum":["payoutRequestBatch"]}}}}}}}},"description":"Payload of a webhook event for a batch of payout requests."},"PayoutRequestBatchDeletedWebhook":{"content":{"application/json":{"schema":{"type":"object","required":["batchId","eventType","occurredTime"],"properties":{"batchId":{"description":"ID of the deleted batch of payout requests.","type":"string","maxLength":50,"example":"preq_batch_0YVDMDE2BMC6KBB5MX76RF6T80"},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["payout-request-batch-deleted"]},"occurredTime":{"description":"Date and time of the batch deletion.","type":"string","format":"date-time"}}}}},"description":"Payload of a webhook event for a deleted batch of payout requests."},"PayoutRequestWebhook":{"content":{"application/json":{"schema":{"properties":{"payoutRequestId":{"description":"ID of the payout request.","type":"string"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["payout-request-created","payout-request-modified","payout-request-canceled","payout-request-fulfilled"]},"_embedded":{"type":"object","description":"Embedded objects related to the payout request event.","properties":{"payoutRequest":{"$ref":"#/components/schemas/PayoutRequest"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["payoutRequest"]}}}}}}}},"description":"Payload of payout request-related webhook event."},"PayoutRequestChangedWebhook":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestChangedWebhookPayload"}}},"description":"Payload of a webhook event for a payout request or payout request allocation change."},"QuoteWebhook":{"content":{"application/json":{"schema":{"properties":{"quoteId":{"type":"string","description":"ID of the quote.","example":"qt_01HXBZMEGPETPHJZH6V4RHBMA8"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["quote-accepted","quote-canceled","quote-created","quote-expired","quote-issued","quote-recalled","quote-rejected","quote-updated"]},"_embedded":{"type":"object","description":"Embedded objects related to the quote event.","properties":{"quote":{"$ref":"#/components/schemas/Quote"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["quote"]}}}}}}}},"description":"Payload of quote-related webhook event."},"ReadyToPayRequested":{"content":{"application/json":{"schema":{"properties":{"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["ready-to-pay-requested"]},"websiteId":{"$ref":"#/components/schemas/WebsiteId"},"currency":{"type":"string","description":"Currency of the ready to pay request."},"amount":{"type":"number","format":"double","description":"Amount of the ready to pay request."},"items":{"type":"array","items":{"type":"object","required":["planId","quantity"],"properties":{"planId":{"type":"string","description":"ID of the plan.","maxLength":50,"example":"plan_0YV7DENSVGDBW9S71XZNNYYQ0X"},"quantity":{"description":"Number of product units in the specified plan.","type":"integer"}}}},"billingAddress":{"description":"Customer's billing address.","oneOf":[{"$ref":"#/components/schemas/ContactObject"},{"type":"null"}]},"riskMetadata":{"$ref":"#/components/schemas/RiskMetadata"},"customerId":{"$ref":"#/components/schemas/CustomerId"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"checkoutFormId":{"$ref":"#/components/schemas/CheckoutFormId"},"_embedded":{"type":"object","description":"Embedded objects related to the ready to pay event.","properties":{"checkoutForm":{"$ref":"#/components/schemas/CheckoutForm"},"customer":{"$ref":"#/components/schemas/Customer"},"transaction":{"$ref":"#/components/schemas/Transaction"},"website":{"$ref":"#/components/schemas/Website"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["checkoutForm","customer","transaction","website"]}}}}}}}},"description":"Payload of ready to pay-related webhook event."},"RenewalInvoiceIssued":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["renewal-invoice-issued"]},"_embedded":{"type":"object","description":"Embedded objects related to the renewal invoice event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"},"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription","invoice"]}}}}}}}},"description":"Payload of renewal invoice-related webhook event."},"InvoiceAndTransaction":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"invoiceId":{"type":"string","description":"ID of the invoice.","maxLength":50,"example":"in_0YVF9605RKC62BP14NE2R7V2XT"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["renewal-invoice-payment-canceled","renewal-invoice-payment-declined"]},"_embedded":{"type":"object","description":"Embedded objects related to the invoice and transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"},"invoice":{"$ref":"#/components/schemas/Invoice"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction","invoice"]}}}}}}}},"description":"Payload of invoice and transaction-related webhook event."},"SubscriptionQuantityFilledLimitReached":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionItemId":{"type":"string","description":"ID of the subscription item.","example":"sub_01HW2V1Y3A6QPM1NX4WCYHFSRS"},"quantity":{"type":"integer","description":"Quantity of the subscription item."},"quantityFilled":{"type":"number","format":"double","example":5.125,"description":"Reported quantity."},"previousQuantityFilled":{"type":"number","format":"double","example":4.037,"description":"Reported quantity before the subscription item updates."},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["subscription-quantity-filled-limit-reached"]},"_embedded":{"type":"object","description":"Embedded objects related to the subscription quantity limit event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of subscription quantity limit-related webhook event."},"SubscriptionRenewalReminder":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"renewalTime":{"type":"string","format":"date-time","description":"Date and time when the subscription renews."},"eventType":{"description":"Type of event that triggered the webhook.","type":"string","enum":["subscription-renewal-reminder-30-days","subscription-renewal-reminder-7-days","subscription-renewal-reminder-1-day"]},"_embedded":{"type":"object","description":"Embedded objects related to the order event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription"]}}}}}}}},"description":"Payload of the subscription renewal reminder webhook event."},"SubscriptionAndSubscriptionPause":{"content":{"application/json":{"schema":{"properties":{"subscriptionId":{"type":"string","description":"ID of the order.","example":"sub_01HRF27SATGE4Z6PBJE6PD8328"},"subscriptionPauseId":{"type":"string","description":"ID of the subscription pause.","example":"sub_pau_01H085J3ZR1WKD120D73D7N4C9"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["subscription-pause-created","subscription-pause-modified","subscription-pause-revoked","subscription-paused","subscription-resumed"]},"_embedded":{"type":"object","description":"Embedded objects related to the subscription pause event.","properties":{"subscription":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"},"pause":{"$ref":"#/components/schemas/SubscriptionPause"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["subscription","pause"]}}}}}}}},"description":"Payload of subscription pause-related webhook event."},"OrderAndOrderChange":{"content":{"application/json":{"schema":{"properties":{"orderId":{"type":"string","description":"ID of the order.","example":"ord_01HRF27SATGE4Z6PBJE6PD8328"},"orderChangeId":{"type":"string","description":"ID of the order change.","example":"ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["order-change-created","order-change-canceled","order-change-applied"]},"_embedded":{"type":"object","description":"Embedded objects related to the order change event.","properties":{"order":{"$ref":"#/components/schemas/Order"},"orderChange":{"$ref":"#/components/schemas/OrderChange"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["order","orderChange"]}}}}}}}},"description":"Payload of a webhook event related to an order change."},"TransactionWithChildWebhook":{"content":{"application/json":{"schema":{"properties":{"transactionId":{"$ref":"#/components/schemas/TransactionId"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["transaction-partially-refunded","transaction-refunded","transaction-voided"]},"_embedded":{"type":"object","description":"Embedded objects related to the transaction event.","properties":{"transaction":{"$ref":"#/components/schemas/Transaction"},"childTransaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["transaction","childTransaction"]}}}}}}}},"description":"Payload of transaction-related webhook event."},"DataExportWebhook":{"content":{"application/json":{"schema":{"properties":{"dataExportId":{"type":"string","description":"ID of the data export.","maxLength":50,"example":"exp_0YVCNQ2C1AD1RA3HXKP492GNZB"},"fileId":{"type":["string","null"],"description":"ID of the data export file.\nThis value is `null` if the export failed.","maxLength":50,"example":"file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"},"recordCount":{"type":"integer","description":"Total number of records in the export, excluding the header row.\nThis value is `0` if the export failed.","example":1500},"status":{"type":"string","description":"Status of the data export.\nThis webhook is sent only when the data export reaches a terminal status.\nThis value is never `pending`, `queued`, or `processing`.","enum":["completed","failed"]},"failureReason":{"$ref":"#/components/schemas/DataExportFailureReason"},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["data-export-completed","data-export-failed"]},"_embedded":{"type":"object","description":"Embedded objects related to the data export event.","properties":{"dataExport":{"$ref":"#/components/schemas/DataExport"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["dataExport","download"]}}}}}}}},"description":"Payload of data export-related webhook event."},"AutodepositLookupPerformed":{"content":{"application/json":{"schema":{"properties":{"customerId":{"$ref":"#/components/schemas/CustomerId"},"transactionId":{"$ref":"#/components/schemas/TransactionId"},"autodepositLookupResponse":{"description":"Autodeposit lookup response.","type":"object","properties":{"enrolled":{"type":"boolean","default":false,"description":"Specifies whether the autodeposit lookup is enrolled or not."},"firstName":{"type":["string","null"],"description":"First name from the autodeposit lookup response."},"lastName":{"type":["string","null"],"description":"Last name from the autodeposit lookup response."},"middleName":{"type":["string","null"],"description":"Middle name from the autodeposit lookup response."},"companyName":{"type":["string","null"],"description":"Company name from the autodeposit lookup response."},"tradeName":{"type":["string","null"],"description":"Trade name from the autodeposit lookup response."}}},"eventType":{"type":"string","description":"Type of event that triggered the webhook.","enum":["autodeposit-lookup-performed"]},"_embedded":{"type":"object","description":"Embedded objects related to the autodeposit lookup event.","properties":{"customer":{"$ref":"#/components/schemas/Customer"},"transaction":{"$ref":"#/components/schemas/Transaction"}}},"_links":{"type":"array","description":"Links to related resources.","items":{"type":"object","properties":{"href":{"description":"URL of the link.","type":"string"},"rel":{"description":"Relationship type of the link.","type":"string","enum":["customer","transaction"]}}}}}}}},"description":"Payload of autodeposit lookup-related webhook event."}}},"tags":[{"name":"Allowlists","description":"Use allowlists to exclude specific customer attribute data from risk score checks.\n\nAllowlists are lists of data that are excluded from risk score checks. Allowlists prevent specific data from being added to a [blocklist record](https://www.rebilly.com/docs/automations/blocklists/) when a [risk score](https://www.rebilly.com/docs/automations/risk-scoring/) threshold reached."},{"name":"AML","description":"Use Anti-Money Laundering (AML) operations to screen customers and help prevent your business from becoming directly or indirectly involved in criminal activity.\n\nUse AML operations during customer creation, and some transaction processing,\nto help determine if a potential customer (lead), or customer, has political or economic sanctions against them.\n\nAML operations search the following for screening purposes:\nPolitically Exposed Persons (PEPs) lists, sanction lists,\nand adverse media lists."},{"name":"API keys","description":"Use API keys to identify and authenticate applications and users.\nAlways keep your API keys private.\nWhen creating API keys, you can restrict them to a given set of permissions.\nFor information on how to create and manage API keys, see [API keys](https://www.rebilly.com/docs/dev-docs/api-keys/)."},{"name":"Application owners","description":"Use application owner operations to register applications to the Rebilly App Store,\nand manage application instances.\nAn application owner is a person or organization that submits an app to the Rebilly App Store."},{"name":"Balance transactions","description":"Use these operations to view and manage balance transactions.\n\n> **Important:** These operations are experimental and may change."},{"name":"Billing portals","description":"Use these operations to create and manage billing portals.\nRebilly hosted billing portals provide secure, Rebilly hosted pages, where customers can:\nview invoices, cancel subscriptions, update payment instruments, and update their address."},{"name":"Blocklists","description":"Use blocklists to prevent fraud and criminal activity.\n\nBlocklists are lists of customer attribute values that are blocked from buying from you.\nFor example, if a customer attempts to make a purchase from you with a credit card that is in a blocklist, the transaction is blocked and is not processed.\n\nBefore a new transaction is processed in Rebilly, blocklists are examined to check for attributes related to the entity.\nIf a match is detected, the operation is aborted.\nA blocklist that expires after a period of time is called a greylist."},{"name":"Coupons","description":"Use coupons to reward customers, generate sales, or to test new pricing strategies.\nCoupons enable you to apply different types of discounts to invoices, subscriptions, and pricing plans.\n\nRedeemed coupons are attached to a customer's account.\nDepending on the coupon restrictions, the redeemed coupons are then applied from the customer's account to subsequent invoices or subscriptions.\nRedeemed coupons can only be applied to invoices of the same currency.\n\nOnce a coupon is redeemed it cannot be modified.\nYou may deactivate a coupon or create a new coupon, but you cannot reuse the same coupon code.\nIf you have a use case where you must reuse the same code, [contact Rebilly](https://www.rebilly.com/contact/).\n\n### Coupon restriction types\n\nThe following coupon description types are available:\n\n- `restrict-to-countries`: Restricts a coupon for use in specific countries.\n- `discounts-per-redemption`: Restricts the number of times that the coupon can be applied by one redemption.\n  For example, use this restriction to configure a coupon that can only be applied to the first subscription renewal of a particular product.\n- `minimum-order-amount`: Sets a minimum order amount for a coupon application.\n  For example, if the restriction amount is $20, the coupon is only applied to invoices with a total amount of $20 or more.\n- `restrict-to-invoices`: Restricts a coupon to specific invoices.\n- `restrict-to-plans`: Restricts a coupon to specific pricing plans.\n- `restrict-to-subscriptions`: Restricts a coupon to specific order subscriptions.\n- `restrict-to-customer-tags`: Restricts a coupon to customers with specific tags.\n- `restrict-to-customers`: Restricts a coupon to specific customers.\n- `restrict-to-exclusive-application`: Restricts a coupon so that it cannot be used in combination with other coupons. If more than one coupon is active, a coupon with this restriction is only applied if it provides a larger discount than the other coupons combined. If a coupon with this restriction is applied, all other coupons are removed.\n- `restrict-to-products`: Restricts a coupon to specific products.\n- `paid-by-time`: Specifies a date and time at which a coupon redemption expires if not paid.\n- `redemptions-per-customer`: Restricts the number of times that a coupon can be redeemed by one customer.\n  For example, use this restriction to limit the number of redemptions to one per customer.\n- `total-redemptions`: Restricts the number of times a coupon can be redeemed by different customers.\n- `restrict-to-bxgy`: Provides \"buy X get Y\" promotions.\n  These promotions incentivize new customers to buy and also reward existing customers.\n  This restriction type enables you to add discounted plans to an invoice when a certain quantity of other plans are purchased.\n  For example, if a customer buys two or more books, they get one free bookmark."},{"name":"Credit memos","description":"Use credit memos to provide a customer with store credit.\nA common use case for using a credit memo is to provide a customer with store credit,\nrather than a refund, if the customer pays more than they owe or returns a product.\nFor information on the credit memo resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Credit memos timeline","description":"Use credit memo timelines to maintain an audit trail of changes and activity for each credit memo.\nCredit memos are a means of providing a customer with store credit."},{"name":"Custom domains","description":"Use custom domains to configure and use your own domain for forms and billing portals,\ninstead of the default Rebilly domain: `portal.secure-payments.app`.\nFor more information, see [Configure a custom domain](https://www.rebilly.com/docs/settings/organizations-and-websites#configure-a-custom-domain)."},{"name":"Custom fields","description":"Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.\nDepending on the resource on which the custom field is added, it may be available in the Rebilly UI.\n\nExample: A custom field called `preferredCommunicationChannel` is added to the customer resource.\nIt has two allowed values, which are 'email' and 'phone'.\n\n```js\n{\n  \"customFields\": {\n      \"preferredCommunicationChannel\": \"email\"\n  }\n}\n```\n\nFor detailed information on Rebilly resources, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Customer authentication","description":"Use these operations to validate the identity of users and manage authentication credentials."},{"name":"Customers","description":"Use these operations to manage customers.\nA customer is an entity that purchases goods or services from you (a merchant),\nand is the payee in any transaction that is credited to you.\nCustomers are associated with payment instruments,\nsubscriptions, invoices, and other related resources.\n\nIn other systems, customers may be referred to as accounts,\nclients, members, patrons, or players.\nFor information on the customer resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Customers timeline","description":"Use customer timelines to maintain an audit trail of changes and activity for each customer."},{"name":"Dashboards","description":"Use dashboard operations to manage the user's dashboard and its tabs with metrics over key performance indicators.\nEach tab is a customizable view of tiles that display report data."},{"name":"Data exports","description":"Use data export operations to manage the export of resource data, such as:\ntransactions, customers, subscriptions, invoices, or invoice item data.\nCommon data export use cases are:\naccounting, data analysis, reporting, or importing into other databases.\n\nFor detailed information on Rebilly resources,\nsee [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources).\n\nFor information on how manage reconciliation, see [Transaction reconciliation](https://www.rebilly.com/docs/dev-docs/transaction-reconciliation)."},{"name":"Disputes","description":"Use these operations to manage disputes.\nA dispute occurs when a customer contests a charge to their account.\nThe dispute and related information is made available to the merchant by the bank or credit card company.\nThe merchant then has the option to represent the charge and win the case.\nThis process is called dispute resolution.\nIf the merchant is unable to represent the charge, the card issuer typically reverses the sale and adds fees on top of the charge.\nThis process is called a chargeback."},{"name":"Email delivery settings","description":"Use email delivery settings to configure from which email address notifications and broadcast message are sent.\nIn Rebilly, this email address is referred to as a \"From address\".\nSupported email service providers are:\nSMTP, Mailgun, SendGrid, AWS SES, Postmark, and Rebilly."},{"name":"Email messages","description":"Use email messages to email customers directly."},{"name":"Email notifications","description":"Use email notifications to keep customers informed on events,\nand to inform them of events that may require action on their end.\nEmail notifications are targeted email messages that can be plain text or HTML.\n\nEmail notifications can also be used to notify teammates about new customers, blocklist matches, risk score changes, and more.\nFor more information, see [Email notifications](https://www.rebilly.com/docs/automations/email-notifications/)."},{"name":"Files","description":"Use the file entity to store files and related metadata.\nFiles can be sorted by size, MIME-type, user-defined tags, and description.\n\nThe following methods are available to upload files:\nmultipart/form-data encoded form, RAW POST &mdash;\nby sending the file contents as the POST body, and fetching from URL &mdash;\nby providing the file URL using the 'url' parameter.\n\nUse the attachments entity to link a file to one or multiple objects, such as:\ncustomer, dispute, transaction, order, plan, product, invoice, or timeline comment.\nAttachments enable you to quickly find and use files related to specific entities."},{"name":"Gateway accounts","description":"Use these operations to manage payment gateway accounts.\nA payment gateway is a service which enables merchants to receive payments from their customers to their merchant account.\nA merchant account is a bank account that enables businesses to receive payments.\nUse payment gateway accounts to connect payment requests to third party networks and platforms."},{"name":"Gateway accounts timeline","description":"Use gateway account timelines to maintain an audit trail of changes and activity for each gateway account."},{"name":"Histograms","description":"Use histogram operations to generate transaction histogram reports with cohorts and periods.\nFor information on the invoice resource, see [Resources](https://www.rebilly.com/docs/dev-docs/concepts/#resources)."},{"name":"Integrations","description":"Use these operations to manage third-party apps that are integrated to your Rebilly account.\nFor more information on third-party apps, and how to integrate them,\nsee [App store](https://www.rebilly.com/docs/app-store/app-store/)."},{"name":"Invoices","description":"Use invoices to bill for the goods or services that you provide.\nIf your invoice includes subscription items, it also includes the corresponding service periods and prices."},{"name":"Invoices timeline","description":"Use invoice timelines to maintain an audit trail of changes and activity for each invoice."},{"name":"Journal","description":"Use journal accounts, entries and records to track and recognize revenue."},{"name":"KYC documents","description":"Use Know Your Customer (KYC) documents to verify your customers identity.\nThe KYC document operations generate a signed link to the Rebilly [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-aml/kyc-document-gatherer/).\n\nDocument types:\n  - `identity-proof`: Validates a customer's identity.\n  - `address-proof`: Validates a customer's address.\n  - `purchase-proof`: Validates a customer's purchase.\n  - `funds-proof`: Validates that a customer has funds.\n  - `credit-file-proof`: Verifies that there is an existing credit file with two sources that match the customer's name, DOB, and address.\n\nRebilly parses and analyzes the documents and accepts or rejects them according to a configurable scoring algorithm.\nWhen all document types in a KYC request are accepted, the status is fulfilled, and the [KYC request fulfilled webhook](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-fulfilled/) is sent.\n\n### Credit file proof\n\nThe `credit-file-proof` KYC document request type is only available in the API,\nthis option is not available in the [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-aml/kyc-document-gatherer/).\nThis request verifies that there is an existing credit file with two sources that match the person's name, date of birth, and address.\n\nIn Canada, to meet FINTRAC requirements, the `credit-file-proof` KYC document request verifies the customer's name, address, and date of birth with a credit agency.\n\nIf `credit-file-proof` is requested in combination with `identity-proof` and `address-proof`,\n`credit-file-proof` is attempted first.\nIf `credit-file-proof` validates the identity and address,\nthe KYC request is considered fulfilled.\nIf the request is not fulfilled,\nredirect your customer to the KYC document gatherer to collect their KYC documents."},{"name":"Lists","description":"Use lists to create and maintain sets of values that may be referenced in rule conditions.\nCommonly used lists contain values related to conditions that target specific properties such as: customers, transactions, or BINs.\n\nYou may grant list edit permissions to members of your team without enabling them to edit rules.\nThis may be useful if your workflow involves frequent updates to value sets that are used in rule or bind conditions.\nList order may not be maintained and duplicates may be removed.\n\nFor more information, see [Value lists](https://www.rebilly.com/docs/automations/create-a-value-list/#value-lists)."},{"name":"Metadata","description":"Use these operations to retrieve and manage metadata.\nMetadata is structured information on other data."},{"name":"Orders","description":"Use these operations to manage orders that include items with mixed recurring subscription plans."},{"name":"Orders (legacy)","description":"Use these operations to manage customer orders.\n\n{% admonition type=\"warning\" %}\nThis is the legacy order model.\nIf you are new to Rebilly, use [these order operations](#tag/orders).\nOrganizations that use the current order model cannot create legacy orders.\nFor these organizations, the operations that create a legacy order return a validation error.\n\nFor information on the legacy order model, and how to upgrade to the current order model, see [Legacy orders model](https://www.rebilly.com/docs/glossary#legacy-orders-model).\n{% /admonition %}\n\nAn order is a customer's request to purchase items.\nIt can contain subscription and one-time sale items.\nWhen an order contains one or more subscription items, it is a subscription order.\n\nAn order generates an invoice.\nA subscription order generates an invoice for each service period.\nFor more information, see [Orders](https://www.rebilly.com/docs/dev-docs/concepts/#orders)."},{"name":"Orders timeline","description":"Use order timelines to maintain an audit trail of changes and activity for each order."},{"name":"Organization data exports","description":"Use organization data exports to export your organization data which you may want to do as a business continuity practice.\nThese may also be used to to export data if you decide to migrate to a different payments solution."},{"name":"Organizations","description":"Use these operations to manage your organizations in Rebilly.\nAn organization is an entity that represents you, or your company, as a merchant.\nYou can have multiple organizations.\nFor more information, see [My organizations and websites](https://www.rebilly.com/docs/settings/organizations-and-websites/).\n\nNote: No data, including organizations, is shared between the live and sandbox environments."},{"name":"Payment instruments","description":"Use these operations to manage payment instruments.\nPayment instrument is a term which describes any means of making a digital payment, such as:\ncredit cards, debit cards, direct debits, payment service providers, and digital wallets.\n\nFor more information on payment instruments, see [Payment instruments](https://www.rebilly.com/docs/dev-docs/concepts/#payment-instruments)."},{"name":"Payment tokens","description":"Use payment tokens to reduce the scope of [PCI DSS compliance](https://www.rebilly.com/docs/pci-compliance/).\n\nA payment token can be made using a different authentication scheme (public key authentication), which enables you to create a payment token directly from the browser.\nThis bypasses the need to send sensitive cardholder info to your servers.\nWe recommend using this with the FramePay library, which helps you integrate a form into this API resource and create payment tokens."},{"name":"Plans","description":"Use pricing plans to describe how the customer must pay for [products](https://www.rebilly.com/docs/dev-docs/api/products/).\n\nRebilly provides the following plan types:\n\n- Trial only: Use this plan to create and offer a free or discounted trial period for your product.\n  For example, a free 2 week trial of an internet service.\n  After the trial, the customer can choose to sign up for a paid subscription, or stop using the service.\n- Recurring: Use this plan to create and offer a subscription for your product.\n  For example, a monthly subscription to an internet service that is charged at 20 USD per month.\n- One time sale: Use this plan to create and offer a one-off sale for your products.\n  For example, a one time purchase of two bags of coffee.\n\nFor information on the plans resource, see [Plans](https://www.rebilly.com/docs/dev-docs/concepts/#plans).\n\nFor information on plan pricing, see [Pricing formulas](https://www.rebilly.com/docs/settings/pricing-formulas/)."},{"name":"Products","description":"Use products to describe the goods and services that your business sells.\nA product also describes sales items on invoices and receipts.\nProduct pricing is defined in [plans](https://www.rebilly.com/docs/dev-docs/api/plans/).\nA product may have one or many plans.\n\nFor information on the product resource, see [Product](https://www.rebilly.com/docs/dev-docs/concepts/#products)."},{"name":"Profile","description":"Use these operations to manage user profiles.\nA profile represents the person that is signed in to Rebilly."},{"name":"Quotes","description":"Use quote operations to create and manage quotations.\nQuotations describe the cost of goods or services to potential customers before they commit to a purchase.\nA quote contains an initial invoice preview that can be accepted to become an order.\n\nA quote can contain subscription and one-time sale items.\nWhen a quote contains one or more subscription items, it is a subscription order quote."},{"name":"Quotes timeline","description":"Use quote timelines to maintain an audit trail of changes and activity for each quote."},{"name":"Reports","description":"Use reports operations to retrieve summary information about your customers, subscriptions, transactions, and more."},{"name":"Risk score","description":"Use risk score operations to configure blocklists based on transaction risk factors."},{"name":"Roles","description":"Use these operations to manage user roles within your team or organization.\nRoles are an implementation of the general hierarchical (Role Based Access Control) RBAC.\nA senior role inherits all of its juniors' Access Control Lists (ACLs) and its own ACL.\nJunior roles are not influenced by the senior role."},{"name":"Rules","description":"Use rules to automate.\nIn the Rebilly rules engine, an action is an operation that executes when an event occurs.\nAction and event conditions are defined in rules.\nRulesets are collections of rules that are associated with an event.\nThe order in which the rules are placed within a ruleset specifies the execution order.\n\nFor a list of events and related actions, see [Events](https://www.rebilly.com/docs/automations/event-types/)."},{"name":"Service credentials","description":"Use these operations to get, create, and manage credentials for third-party services."},{"name":"Shipping rates","description":"Use these operations to manage shipping rates.\nA shipping rate contains a filter and a pricing for a specific shipping destination."},{"name":"Status","description":"Use this operation to check the status of the Rebilly API.\nNo authentication is required."},{"name":"Tags","description":"Use tags to organize and categorize customers or KYC documents based on keywords."},{"name":"Tracking","description":"Use tracking when debugging and auditing issues.\nTracking is a layer for accessing all activity such as:\nAPI requests, subscriptions, webhooks, events, and more."},{"name":"Transactions","description":"Use these operations to:\n  - set up payment instruments for payments\n  - authorize and hold funds\n  - capture funds\n  - make payments\n  - make payouts\n  - refund transactions."},{"name":"Transactions timeline","description":"Use transaction timelines to maintain an audit trail of changes and activity for each transaction."},{"name":"Usage","description":"Use these operations to manage the product usage of a subscription item for metered billing purposes.\n\nUse metered billing when product quantity is unknown to the customer at the moment of creating a subscription.\nMetered billing is based on reported usage records.\nEvery reported usage updates the quantity of an upcoming invoice item for a specified subscription and a plan.\nTo create a metered billing plan, see [Plans](https://www.rebilly.com/catalog/all/plans)."},{"name":"Users","description":"Use these operations to manage users.\nA user is a person who can login to Rebilly, and take actions based on their granted permissions."},{"name":"Webhooks","description":"Use these operations to manage webhooks.\nWebhooks notify your systems in real-time when certain events occur.\nFor example, when a new transaction occurs or a new subscription is created.\nWebhooks enable you to collect information about events.\nRebilly can send this information by HTTP POST request to a defined URL of your choice."},{"name":"Websites","description":"Use these operations to manage websites.\nA website is where your organization obtains a customer.\nIt is also the processor account and billing descriptor used for payment transactions.\nYou can create multiple websites.\n\nWebsites are related to each invoice and each payment gateway account.\nThis enables you to associate gateway accounts with multiple websites,\nor make them exclusive to particular websites.\nFor more information, see [My organizations and websites](https://www.rebilly.com/docs/settings/organizations-and-websites/)."}],"paths":{"/aml-checks":{"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve AML checks","operationId":"GetAmlCheckCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of AML checks.\nThese checks are records of customer data and potentially matching data in AML lists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of AML checks retrieved.","headers":{"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/AmlCheck"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/aml-checks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve an AML check","operationId":"GetAmlCheck","x-sdk-operation-name":"get","description":"Retrieves the results of a customer's AML check.\nCustomer metadata and an array of matching AML hits is returned.","responses":{"200":{"description":"AML check retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/aml-checks/{id}/start-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Start review of an AML check","operationId":"PostAmlCheckStartReview","x-sdk-operation-name":"startReview","description":"Starts the manual review process for an AML check with a specified ID.\n\nThis operation also sets the AML check `reviewStartTime` to the current date-time,\nand updates the review information.","responses":{"201":{"description":"AML check review started.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-checks/{id}/stop-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Stop review of an AML check","operationId":"PostAmlCheckStopReview","x-sdk-operation-name":"stopReview","description":"Stops the manual review process for an AML check with a specified ID.\n\nThis operation also sets the AML check `reviewStartTime` and the reviewer information to null.\nUse this operation when the reviewer must stop the review.\nFor example, if the reviewer must take a break, or ends a shift.","responses":{"201":{"description":"AML document review stopped.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-checks/{id}/review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["AML"],"summary":"Review an AML check","operationId":"PostAmlCheckReview","x-sdk-operation-name":"review","description":"Reviews an AML check.\nRecords a decision on each listed hit, then applies `status` to every hit that has no decision yet.\nThe status of the AML check is calculated from the hit decisions.\nIf any hit has no decision, the AML check remains in review.\nIf any hit is a confirmed match, the AML check is a confirmed match.\nIf every hit is a false positive, the AML check is a false positive.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheckReview"}}}},"responses":{"201":{"description":"AML check reviewed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlCheck"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/aml-settings":{"get":{"x-products":["Core"],"tags":["AML"],"summary":"Retrieve AML settings","operationId":"GetAmlSettings","x-sdk-operation-name":"getAmlSettings","description":"Retrieves AML settings.","responses":{"200":{"description":"AML settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["AML"],"summary":"Update AML settings","operationId":"PutAmlSettings","x-sdk-operation-name":"putAmlSettings","description":"Updates AML settings.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}},"description":"Settings for AML searches.","required":true},"responses":{"200":{"description":"AML settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"201":{"description":"AML settings created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmlSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/attachments":{"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve attachments","operationId":"GetAttachmentCollection","x-sdk-operation-name":"getAllAttachments","x-sdk-resource":"Files","description":"Retrieves a list of attachments. You may sort attachments by: `id`,\n`name`, `relatedId`, `relatedType`, `fileId`, `createdTime`,\nand `updatedTime`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of attachments retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachments = $client->attachments()->search([\n    'filter' => 'relatedType:customer',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.files.getAllAttachments();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.files.getAllAttachments(params);\n\n// access the collection items, each item is an Attachment\nsecondCollection.items.forEach(attachment => console.log(attachment.fields.relatedType));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$attachmentsPaginator = $service->files()->getAllAttachmentsPaginator(limit: 5, filter: 'relatedType:customer');\nforeach ($attachmentsPaginator as $attachmentPage) {\n    printf(\"Attachments page %d/%d\\n\", $attachmentsPaginator->key() + 1, $attachmentsPaginator->count());\n    foreach ($attachmentPage as $attachment) {\n        printf(\"Attachment #%s (%s): %s\\n\", $attachment->getId(), $attachment->getRelatedType(), $attachment->getName());\n    }\n}\n\n// OR\n\n$attachments = $service->files()->getAllAttachments(filter: 'relatedType:customer');\nforeach ($attachments as $attachment) {\n    printf(\"Attachment #%s (%s): %s\\n\", $attachment->getId(), $attachment->getRelatedType(), $attachment->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Files"],"summary":"Create an attachment","operationId":"PostAttachment","x-sdk-operation-name":"attach","x-sdk-resource":"Files","description":"Attaches a file to one or multiple objects, such as: customer,\ndispute, transaction, order, plan, product, invoice, or timeline\ncomment. Attachments enable you to quickly find and use files\nrelated to specific entities.","requestBody":{"$ref":"#/components/requestBodies/Attachment"},"responses":{"201":{"description":"Attachment created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachmentForm = new Rebilly\\Entities\\Attachment();\n$attachmentForm->setFileId('fileId');\n$attachmentForm->setRelatedType($attachmentForm::TYPE_CUSTOMER);\n$attachmentForm->setRelatedId('customerId');\n\ntry {\n    $attachment = $client->attachments()->create($attachmentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// Define the attachment\nconst data = {\n    // Previously uploaded file ID\n    fileId: 'my-file-id',\n    relatedType: 'customer',\n    relatedId: 'my-customer-id',\n    name: 'an attachment',\n    description: `the customer's file`\n};\n\nconst attachment = await api.files.attach({data});\nconsole.log(attachment.fields.id);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$attachmentForm = new \\Rebilly\\Sdk\\Model\\Attachment();\n$attachmentForm->setFileId('fileId');\n$attachmentForm->setRelatedType($attachmentForm::RELATED_TYPE_CUSTOMER);\n$attachmentForm->setRelatedId('customerId');\n\ntry {\n    $attachment = $service->files()->attach($attachmentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/attachments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve an attachment","operationId":"GetAttachment","x-sdk-operation-name":"getAttachment","x-sdk-resource":"Files","description":"Retrieves an attachment with a specified ID.","responses":{"200":{"description":"Attachment retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$attachment = $client->attachments()->load('attachmentId');\n"},{"lang":"JavaScript","source":"const attachment = await api.files.getAttachment({id: 'foobar-001'});\nconsole.log(attachment.fields.relatedType);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$attachment = $service->files()->getAttachment('attachmentId');"}]},"delete":{"x-products":["Core"],"tags":["Files"],"summary":"Delete an attachment","operationId":"DeleteAttachment","x-sdk-operation-name":"detach","x-sdk-resource":"Files","description":"Deletes an attachment with a specified ID.","responses":{"204":{"description":"Attachment deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->attachments()->delete('attachmentId');\n"},{"lang":"JavaScript","source":"const request = await api.files.detach({id: 'my-attachment-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->files()->detach('attachmentId');"}]}},"/authentication-options":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve authentication options","operationId":"GetAuthenticationOption","x-sdk-operation-name":"getAuthOptions","x-sdk-resource":"CustomerAuthentication","description":"Retrieves customer authentication options.","responses":{"200":{"description":"Authentication options retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationOptions = $client->authenticationOptions()->load();\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationOptions = $service->customerAuthentication()->getAuthOptions();"},{"lang":"JavaScript","source":"const options = await api.customerAuthentication.getAuthOptions();\nconsole.log(options.fields.credentialTtl);"}]},"put":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Change authentication options","operationId":"PutAuthenticationOption","x-sdk-operation-name":"updateAuthOptions","x-sdk-resource":"CustomerAuthentication","description":"Changes customer authentication options.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}},"description":"Authentication options resource.","required":true},"responses":{"200":{"description":"Authentication options updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationOptions"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationOptionsForm = new Rebilly\\Entities\\AuthenticationOptions();\n// Regular expression below matches any password with 6+ length that contains alphabet symbols and/or numbers.\n$authenticationOptionsForm->setPasswordPattern('/^[a-zA-Z0-9]{6,}$/');\n\ntry {\n    $authenticationOptions = $client->authenticationOptions()->update($authenticationOptionsForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the authentication options\nconst data = {\n    passwordPattern: null,\n    credentialTtl: 10,\n    authTokenTtl: 20,\n    resetTokenTtl: 30\n};\n\nconst options = await api.customerAuthentication.updateAuthOptions({data});\nconsole.log(options.fields.credentialTtl);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationOptionsForm = new \\Rebilly\\Sdk\\Model\\AuthenticationOptions();\n// Regular expression below matches any password with 6+ length that contains alphabet symbols and/or numbers.\n$authenticationOptionsForm->setPasswordPattern('/^[a-zA-Z0-9]{6,}$/');\n\ntry {\n    $authenticationOptions = $service->customerAuthentication()->updateAuthOptions($authenticationOptionsForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/authentication-tokens":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve authentication tokens","operationId":"GetAuthenticationTokenCollection","x-sdk-operation-name":"getAllAuthTokens","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of customer authentication tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of auth tokens retrieved.","headers":{"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/AuthenticationTokenResponse"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationTokens = $client->authenticationTokens()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$listOfTokens = $service->customerAuthentication()->getAllAuthTokens();\n\n// alternatively you can specify one or more of them\n$listOfTokens = $coreService->customerAuthentication()->getAllAuthTokens(limit: 5, offset: 2);"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllAuthTokens();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllAuthTokens(params);\n\n// access the collection items, each item is an AuthenticationToken\nsecondCollection.items.forEach(token => console.log(token.fields.username));\n"}]},"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Login a customer","operationId":"PostAuthenticationToken","x-sdk-operation-name":"login","x-sdk-resource":"CustomerAuthentication","description":"Logs in 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":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationTokenResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$authenticationForm = new Rebilly\\Entities\\AuthenticationToken();\n$authenticationForm->setUsername('username');\n$authenticationForm->setPassword('test123');\n\ntry {\n    $authenticationToken = $client->authenticationTokens()->login($authenticationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"const data = {\n    username: 'foobar',\n    password: 'fuubar'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the session token\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\nconst session = await api.customerAuthentication.login({data});\nconsole.log(session.fields.token);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$authenticationForm = \\Rebilly\\Sdk\\Model\\AuthenticationTokenPasswordMode::from();\n$authenticationForm->setUsername('username');\n$authenticationForm->setPassword('test123');\n\ntry {\n    $authenticationToken = $service->customerAuthentication()->login($authenticationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/authentication-tokens/{token}":{"parameters":[{"name":"token","in":"path","description":"ID of the authentication token.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Verify an authentication token","operationId":"GetAuthenticationTokenVerification","x-sdk-operation-name":"verify","x-sdk-resource":"CustomerAuthentication","description":"Verifies a customer's authentication token.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"responses":{"200":{"description":"Authentication token verified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticationTokenResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$isVerified = $client->authenticationTokens()->verify('token');\n"},{"lang":"JavaScript","source":"const token = 'dcf6e32f2daee457a1db8ce5fdfbe200';\nconst verification = await api.customerAuthentication.verify({token});\n// if the token is valid then no error will be thrown\nconsole.log(verification.reponse.status) // 200\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$isVerified = $service->customerAuthentication()->verify('token');"}]},"delete":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Logout a customer","operationId":"DeleteAuthenticationToken","x-sdk-operation-name":"logout","x-sdk-resource":"CustomerAuthentication","description":"Logs out a customer.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"responses":{"204":{"description":"Customer logged out.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->authenticationTokens()->logout('token');\n"},{"lang":"JavaScript","source":"const token = 'dcf6e32f2daee457a1db8ce5fdfbe200';\nconst request = await api.customerAuthentication.logout({token});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$service->customerAuthentication()->logout('token');"}]}},"/authentication-tokens/{token}/exchange":{"parameters":[{"name":"token","in":"path","description":"ID of the authentication token.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Exchange an authentication token","operationId":"PostAuthenticationTokenExchange","x-sdk-operation-name":"exchangeToken","x-sdk-resource":"CustomerAuthentication","description":"Exchanges an authentication token for a JWT.\n\n\nBy default, this operation invalidates the exchanged authentication token.","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerJWT"}}},"required":true},"responses":{"201":{"description":"Authentication token exchanged for a JWT.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerJWT"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/blocklists":{"get":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Retrieve blocklists","operationId":"GetBlocklistCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of all blocklists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of blocklists retrieved.","headers":{"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/Blocklist"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklists = $client->blocklists()->search([\n    'filter' => 'value:testValue',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.blocklists.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.blocklists.getAll(params);\n\n// access the collection items, each item is a Blocklist\nsecondCollection.items.forEach(blocklistItem => console.log(blocklistItem.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$blocklistsPaginator = $service->blocklists()->getAllPaginator(limit: 5, filter: 'value:testValue');\nforeach ($blocklistsPaginator as $blocklistPage) {\n    printf(\"Blocklists page %d/%d\\n\", $blocklistsPaginator->key() + 1, $blocklistsPaginator->count());\n    foreach ($blocklistPage as $blocklist) {\n        printf(\"Blocklist #%s (%s): %s\\n\", $blocklist->getId(), $blocklist->getType(), $blocklist->getValue());\n    }\n}\n\n// OR\n\n$blocklists = $service->blocklists()->getAll(filter: 'value:testValue');\nforeach ($blocklists as $blocklist) {\n    printf(\"Blocklist #%s (%s): %s\\n\", $blocklist->getId(), $blocklist->getType(), $blocklist->getValue());\n}"}]},"post":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Create a blocklist","operationId":"PostBlocklist","x-sdk-operation-name":"create","description":"Creates a blocklist.","requestBody":{"$ref":"#/components/requestBodies/Blocklist"},"responses":{"201":{"description":"Blocklist created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklistForm = new Rebilly\\Entities\\Blocklist();\n$blocklistForm->setType($blocklistForm::TYPE_EMAIL);\n$blocklistForm->setValue('test@test.com');\n$blocklistForm->setExpiredTime('2025-01-01 05:00:00');\n\ntry {\n    $blocklist = $client->blocklists()->create($blocklistForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new blocklist item\nconst data = {\n    type: 'ip-address',\n    value: '63.118.98.100'\n\n    // optionally provide an `expirationTime` to make\n    // the item expire and function like a `greylist`\n\n    // expirationTime: '2017-09-18T21:50:44Z'\n};\n\n// the ID is optional\nconst firstKey = await api.blocklists.create({data});\n\n// or you can provide one\nconst secondKey = await api.blocklists.create({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$blocklistForm = new \\Rebilly\\Sdk\\Model\\Blocklist();\n$blocklistForm->setType($blocklistForm::TYPE_EMAIL);\n$blocklistForm->setValue('test@test.com');\n$blocklistForm->setExpirationTime('2025-01-01 05:00:00');\n\ntry {\n    $blocklist = $service->blocklists()->create($blocklistForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/blocklists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Retrieve a blocklist","operationId":"GetBlocklist","x-sdk-operation-name":"get","description":"Retrieves a blocklist with a specified ID.","responses":{"200":{"description":"Blocklist retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$blocklist = $client->blocklists()->load('blocklistId');\n"},{"lang":"JavaScript","source":"const blocklistItem = await api.blocklists.get({id: 'foobar-001'});\nconsole.log(blocklistItem.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$blocklist = $service->blocklists()->get('blocklistId');"}]},"delete":{"x-products":["Core"],"tags":["Blocklists"],"summary":"Delete a blocklist","operationId":"DeleteBlocklist","x-sdk-operation-name":"delete","description":"Deletes a blocklist with a specified ID.","responses":{"204":{"description":"Blocklist deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->blocklists()->delete('blocklistId');\n"},{"lang":"JavaScript","source":"const request = await api.blocklists.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->blocklists()->delete('blocklistId');"}]}},"/coupons-redemptions":{"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve coupon redemptions","operationId":"GetCouponRedemptionCollection","x-sdk-operation-name":"getAllRedemptions","x-sdk-resource":"Coupons","description":"Retrieves a list of coupon redemptions.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of coupon redemptions retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponRedemptions = $client->couponsRedemptions()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.coupons.getAllRedemptions();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.coupons.getAllRedemptions(params);\n\n// access the collection items, each item is a CouponRedemption\nsecondCollection.items.forEach(redemption => console.log(redemption.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponRedemptionsPaginator = $service->coupons()->getAllRedemptionsPaginator(limit: 5, filter: 'customerId:testCustomer');\nforeach ($couponRedemptionsPaginator as $couponRedemptionsPage) {\n    printf(\"Coupon redemptions page %d/%d\\n\", $couponRedemptionsPaginator->key() + 1, $couponRedemptionsPaginator->count());\n    foreach ($couponRedemptionsPage as $couponRedemption) {\n        printf(\"Coupon redemption #%s\\n\", $couponRedemption->getId());\n    }\n}\n\n// OR\n\n$couponRedemptions = $service->coupons()->getAllRedemptions(filter: 'customerId:testCustomer');\nforeach ($couponRedemptions as $couponRedemption) {\n    printf(\"Coupon redemption #%s\\n\", $couponRedemption->getId());\n}"}]},"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Redeem a coupon","operationId":"PostCouponRedemption","x-sdk-operation-name":"redeem","x-sdk-resource":"Coupons","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Redeems a coupon.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}},"description":"Coupon resource.","required":true},"responses":{"201":{"description":"Coupon redeemed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$redemptionForm = new Rebilly\\Entities\\Coupons\\Redemption();\n$redemptionForm->setCustomerId('customerId');\n$redemptionForm->setCouponId('couponId');\n\n$restrictionData = [\n    'type' => Rebilly\\Entities\\Coupons\\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION,\n    'quantity' => 2,\n];\n\n$restrictionForm = Rebilly\\Entities\\Coupons\\Restriction::createFromData($restrictionData);\n\n$redemptionForm->setAdditionalRestrictions([$restrictionForm]);\n\ntry {\n    $couponRedemption = $client->couponsRedemptions()->redeem($redemptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// build the redemption data\nconst data = {\n  couponId: 'my-best-coupon',\n  customerId: 'foobar-001'\n};\n\nconst redemption = await api.coupons.redeem({data});\nconsole.log(redemption.fields.id);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$redemptionForm = new \\Rebilly\\Sdk\\Model\\CouponRedemption();\n$redemptionForm->setCustomerId('customerId');\n$redemptionForm->setCouponId('couponId');\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption();\n$restrictionForm->setQuantity(2);\n\n$redemptionForm->setAdditionalRestrictions([$restrictionForm]);\n\ntry {\n    $couponRedemption = $service->coupons()->redeem($redemptionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons-redemptions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve a coupon redemption","operationId":"GetCouponRedemption","x-sdk-operation-name":"getRedemption","x-sdk-resource":"Coupons","description":"Retrieves a coupon redemption with a specified ID.","responses":{"200":{"description":"Coupon redemption retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedemption"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponRedemption = $client->couponsRedemptions()->load('redemptionId');\n"},{"lang":"JavaScript","source":"const redemption = await api.coupons.getRedemption({id: 'foobar-001'});\nconsole.log(redemption.fields.id);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$couponRedemption = $service->coupons()->getRedemption('redemptionId');"}]}},"/coupons-redemptions/{id}/cancel":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Cancel a coupon redemption","operationId":"PostCouponRedemptionCancellation","x-sdk-operation-name":"cancelRedemption","x-sdk-resource":"Coupons","description":"Cancels a coupon redemption with a specified ID.","responses":{"201":{"description":"Coupon redemption canceled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->couponsRedemptions()->cancel('id');\n"},{"lang":"JavaScript","source":"const cancellation = await api.coupons.cancelRedemption({id: 'foobar-001'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(cancellation.response.status); // 201"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->coupons()->cancelRedemption('id');"}]}},"/coupons":{"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve coupons","operationId":"GetCouponCollection","x-sdk-operation-name":"getAll","description":"Retrieves 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":"List of coupons retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$coupons = $client->coupons()->search([\n    'filter' => 'status:issued',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.coupons.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.coupons.getAll(params);\n\n// access the collection items, each item is a Coupon\nsecondCollection.items.forEach(coupon => console.log(coupon.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponsPaginator = $service->coupons()->getAllPaginator(limit: 5, filter: 'status:issued');\nforeach ($couponsPaginator as $couponsPage) {\n    printf(\"Coupons page %d/%d\\n\", $couponsPaginator->key() + 1, $couponsPaginator->count());\n    foreach ($couponsPage as $coupon) {\n        printf(\"Coupon #%s (%s): %s\\n\", $coupon->getId(), $coupon->getStatus(), $coupon->getDescription());\n    }\n}\n\n// OR\n\n$coupons = $service->coupons()->getAll(filter: 'status:issued');\nforeach ($coupons as $coupon) {\n    printf(\"Coupon #%s (%s): %s\\n\", $coupon->getId(), $coupon->getStatus(), $coupon->getDescription());\n}"}]},"post":{"x-products":["Core"],"tags":["Coupons"],"summary":"Create a coupon","operationId":"PostCoupon","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a coupon.","requestBody":{"$ref":"#/components/requestBodies/Coupon"},"responses":{"201":{"description":"Coupon created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponForm = new Rebilly\\Entities\\Coupons\\Coupon();\n\n$discountArray = [\n    'currency' => 'USD',\n    'amount' => 1.99,\n];\n\n$discountForm = new \\Rebilly\\Entities\\Coupons\\Discounts\\Fixed($discountArray);\n$couponForm->setDiscount($discountForm);\n// Coupon can be used right now\n$couponForm->setIssuedTime(date('c'));\n\n$restrictionArray = [\n    'quantity' => 2,\n];\n\n$restrictionForm = new Rebilly\\Entities\\Coupons\\Restrictions\\DiscountsPerRedemption($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $client->coupons()->create($couponForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new coupon\nconst data = {\n    description: 'a new coupon',\n    issuedTime: '2017-09-19T20:46:44Z',\n    discount: {\n        type: 'percent',\n        value: 12\n    },\n    restrictions: [{\n        type: 'discounts-per-redemption',\n        quantity: 12\n    }]\n};\n\n// the ID is optional\nconst firstKey = await api.coupons.create({data});\n\n// or you can provide one\nconst secondKey = await api.coupons.create({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$couponForm = new \\Rebilly\\Sdk\\Model\\Coupon();\n\n$discountForm = new \\Rebilly\\Sdk\\Model\\DiscountFixed();\n$discountForm->setCurrency('USD');\n$discountForm->setAmount(1.99);\n\n$couponForm->setDiscount($discountForm);\n// Coupon can be used right now\n$couponForm->setIssuedTime(date('c'));\n\n$restrictionArray = [\n    'quantity' => 2,\n];\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $service->coupons()->create($couponForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Coupons"],"summary":"Retrieve a coupon","operationId":"GetCoupon","x-sdk-operation-name":"get","description":"Retrieves a coupon with a specified ID.","responses":{"200":{"description":"Coupon retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$coupon = $client->coupons()->load('couponId');\n"},{"lang":"JavaScript","source":"const coupon = await api.coupons.get({couponId: 'foobar-001'});\nconsole.log(coupon.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$coupon = $service->coupons()->get('couponId');"}]},"put":{"x-products":["Core"],"tags":["Coupons"],"summary":"Upsert a coupon","operationId":"PutCoupon","x-sdk-operation-name":"update","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates or updates (upserts) a coupon with a specified coupon ID.","requestBody":{"$ref":"#/components/requestBodies/Coupon"},"responses":{"200":{"description":"Coupon updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Coupon"}}}},"201":{"description":"Coupon created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$couponForm = new Rebilly\\Entities\\Coupons\\Coupon([\n    'issuedTime' => '2022-01-01T00:00:00-04:00',\n]);\n\n$discountArray = [\n    'type' => Rebilly\\Entities\\Coupons\\Discount::TYPE_FIXED,\n    'currency' => 'USD',\n    'amount' => 1.99,\n];\n\n$discountForm = Rebilly\\Entities\\Coupons\\Discount::createFromData($discountArray);\n$couponForm->setDiscount($discountForm);\n\n$restrictionArray = [\n    'type' => Rebilly\\Entities\\Coupons\\Restriction::TYPE_DISCOUNTS_PER_REDEMPTION,\n    'quantity' => 2,\n];\n\n$restrictionForm = Rebilly\\Entities\\Coupons\\Restriction::createFromData($restrictionArray);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $client->coupons()->create($couponForm, 'couponId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a coupon\nconst data = {\n    description: 'a new coupon',\n    issuedTime: '2017-09-19T20:46:44Z',\n    discount: {\n        type: 'percent',\n        value: 12\n    },\n    restrictions: [{\n        type: 'discounts-per-redemption',\n        quantity: 12\n    }]\n};\n\n// the ID is optional\nconst firstKey = await api.coupons.create({data});\n\n// or you can provide one\nconst secondKey = await api.coupons.create({id: 'my-second-id', data});\n\n\n// updating a coupon\nconst data = {\n    description: 'a small update'\n};\n\nconst coupon = await api.coupons.update({id: 'my-second-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$couponForm = new \\Rebilly\\Sdk\\Model\\Coupon();\n$couponForm->setIssuedTime('2022-01-01T00:00:00-04:00');\n\n$discountForm = new \\Rebilly\\Sdk\\Model\\DiscountFixed();\n$discountForm->setCurrency('USD');\n$discountForm->setAmount(1.99);\n\n$couponForm->setDiscount($discountForm);\n\n$restrictionForm = new \\Rebilly\\Sdk\\Model\\CouponRestrictionDiscountPerRedemption();\n$restrictionForm->setQuantity(2);\n\n$couponForm->setRestrictions([$restrictionForm]);\n\ntry {\n    $coupon = $service->coupons()->update('couponId', $couponForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/coupons/{id}/expiration":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/credentials":{"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve credentials","operationId":"GetCredentialCollection","x-sdk-operation-name":"getAllCredentials","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of authentication credentials.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of authentication credentials retrieved.","headers":{"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/CustomerCredential"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentials = $client->customerCredentials()->search([\n    'filter' => 'customerId:testCustomer',\n]);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentials = $service->customerAuthentication()->getAllCredentials(limit: 10);"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllCredentials();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllCredentials(params);\n\n// access the collection items, each item is a CustomerCredential\nsecondCollection.items.forEach(credential => console.log(credential.fields.customerId));\n"}]},"post":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Create a credential","operationId":"PostCredential","x-sdk-operation-name":"createCredential","x-sdk-resource":"CustomerAuthentication","description":"Creates an authentication credential.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}},"description":"Credential resource.","required":true},"responses":{"201":{"description":"Credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentialForm = new Rebilly\\Entities\\CustomerCredential();\n$customerCredentialForm->setCustomerId('customerId');\n$customerCredentialForm->setUsername('test');\n$customerCredentialForm->setPassword('1234');\n\ntry {\n    $customerCredential = $client->customerCredentials()->create($customerCredentialForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    customerId: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the credential\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\n// the ID is optional\nconst firstCredential = await api.customerAuthentication.createCredential({data});\n\n// or you can provide one\nconst secondCredential = await api.customerAuthentication.createCredential({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentialForm = \\Rebilly\\Sdk\\Model\\CustomerCredential::from([])\n    ->setCustomerId('customerId')\n    ->setUsername('test')\n    ->setPassword('1234');\n\ntry {\n    $customerCredential = $service->customerAuthentication()->createCredential($customerCredentialForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/credentials/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve a credential","operationId":"GetCredential","x-sdk-operation-name":"getCredential","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a credential with a specified ID.","responses":{"200":{"description":"Credential retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredential = $client->customerCredentials()->load('credentialId');\n"},{"lang":"JavaScript","source":"const credential = await api.customerAuthentication.getCredential({id: 'my-first-id'});\nconsole.log(credential.fields.customerId);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredential = $service->customerAuthentication()->getCredential('credentialId');"}]},"put":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Upsert a credential","operationId":"PutCredential","x-sdk-operation-name":"updateCredential","x-sdk-resource":"CustomerAuthentication","description":"Creates or updates (upserts) an authentication credential with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}},"description":"Credential resource.","required":true},"responses":{"200":{"description":"Credential updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"201":{"description":"Credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerCredentialForm = new Rebilly\\Entities\\CustomerCredential();\n$customerCredentialForm->setCustomerId('customerId');\n$customerCredentialForm->setUsername('test');\n$customerCredentialForm->setPassword('1234');\n\ntry {\n    $customerCredential = $client->customerCredentials()->update('credentialId', $customerCredentialForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    customerId: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the credential\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\n// the ID is optional\nconst firstCredential = await api.customerAuthentication.createCredential({data});\n\n// or you can provide one\nconst secondCredential = await api.customerAuthentication.createCredential({id: 'my-second-id', data});\n\n\n\n\n// updating a credential\nconst data = {\n    username: 'foobar',\n    password: 'hell0'\n};\n\nconst secondCredential = await api.customerAuthentication.updateCredential({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerCredentialForm = \\Rebilly\\Sdk\\Model\\CustomerCredential::from([])\n    ->setCustomerId('customerId')\n    ->setUsername('test')\n    ->setPassword('1234');\n\ntry {\n    $customerCredential = $service->customerAuthentication()->updateCredential('credentialId', $customerCredentialForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/custom-fields/{resource}":{"parameters":[{"$ref":"#/components/parameters/customFieldResource"}],"get":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Retrieve custom fields","operationId":"GetCustomFieldCollection","x-sdk-operation-name":"getAll","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"description":"Retrieves the custom fields schema for a specified resource.","responses":{"200":{"description":"Schema of custom fields retrieved.","content":{"application/json":{"schema":{"description":"List of custom fields.","type":"array","items":{"$ref":"#/components/schemas/CustomField"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customFields = $client->customFields()->search('customers', [\n    'filter' => 'type:boolean',\n]);\n"},{"lang":"JavaScript","source":"// all parameters except `resource` are optional\nconst firstCollection = await api.customFields.getAll({resource: 'customers'});\n\n// alternatively you can specify one or more of them\nconst params = {resource: 'customers', limit: 20, offset: 100};\nconst secondCollection = await api.customFields.getAll(params);\n\n// access the collection items, each item is a CustomField\nsecondCollection.items.forEach(customField => console.log(customField.fields.description));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customFieldsPaginator = $service->customFields()->getAllPaginator(resource: 'customers', limit: 5);\nforeach ($customFieldsPaginator as $customFieldPage) {\n    printf(\"Custom fields page %d/%d\\n\", $customFieldsPaginator->key() + 1, $customFieldsPaginator->count());\n    foreach ($customFieldPage as $customField) {\n        printf(\"Custom field #%s: %s\\n\", $customField->getName(), $customField->getDescription());\n    }\n}\n\n// OR\n\n$customFields = $service->customFields()->getAll('customers');\nforeach ($customFields as $customField) {\n    printf(\"Custom field #%s: %s\\n\", $customField->getName(), $customField->getDescription());\n}"}]}},"/custom-fields/{resource}/{name}":{"parameters":[{"$ref":"#/components/parameters/customFieldResource"},{"name":"name","in":"path","description":"ID of the custom field.","required":true,"schema":{"type":"string","maxLength":60,"pattern":"^[\\w-]+$"}}],"get":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Retrieve a custom field","operationId":"GetCustomField","x-sdk-operation-name":"get","description":"Retrieves a specified custom field schema for a specified resource.","responses":{"200":{"description":"Custom field schema retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customField = $client->customFields()->load('customers', 'testFieldName');\n"},{"lang":"JavaScript","source":"const customField = await api.customFields.get({resource: 'customers', name: 'dob'});\nconsole.log(customField.fields.description);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customField = $service->customFields()->get('customers', 'testFieldName');"}]},"put":{"x-products":["Core"],"tags":["Custom fields"],"summary":"Create or alter a custom field","operationId":"PutCustomField","x-sdk-operation-name":"create","description":"Creates or alters a specified custom field schema for a specified resource.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}},"description":"Custom fields schema of the specified resource.","required":true},"responses":{"200":{"description":"Custom field updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"201":{"description":"Custom field created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomField"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"description":"Schema in use. To remove or alter the schema, remove all\nassociated data.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customFieldForm = new Rebilly\\Entities\\CustomField();\n$customFieldForm->setType($customFieldForm::TYPE_BOOLEAN);\n\ntry {\n    $customField = $client->customFields()->update('customers', 'testFieldName', $customFieldForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a custom field\nconst data = {\n    name: 'Date of Birth',\n    type: 'date',\n    description: `The customer's date of birth`\n};\n\n// define the entire payload\nconst params = {resource: 'customers', name: 'dob', data};\n\n// create the custom field\nconst customField = await api.customFields.create(params);\n\n// or update the custom field\nconst customField = await api.customFields.update(params);\nconsole.log(customField.fields.name);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customFieldForm = new \\Rebilly\\Sdk\\Model\\BooleanCustomField();\n$customFieldForm->setDescription('testFieldDescription');\n\ntry {\n    $customField = $service->customFields()->create('customers', 'testFieldName', $customFieldForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers":{"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve customers","operationId":"GetCustomerCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves 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"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of customers retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customers = $client->customers()->search([\n    'filter' => 'firstName:John',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customers.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.customers.getAll(params);\n\n// access the collection items, each item is a Customer\nsecondCollection.items.forEach(customer => console.log(customer.fields.primaryAddress.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customersPaginator = $service->customers()->getAllPaginator(limit: 5);\nforeach ($customersPaginator as $customerPage) {\n    printf(\"Customers page %d/%d\\n\", $customersPaginator->key() + 1, $customersPaginator->count());\n    foreach ($customerPage as $customer) {\n        printf(\"Customer #%s: %s\\n\", $customer->getId(), $customer->getFirstName());\n    }\n}\n\n// OR\n\n$customers = $service->customers()->getAll(filter: 'firstName:John');\nforeach ($customers as $customer) {\n    printf(\"Customer #%s: %s\\n\", $customer->getId(), $customer->getFirstName());\n}"}]},"post":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a customer","operationId":"PostCustomer","x-sdk-operation-name":"create","description":"Creates a new customer and customer ID.\n\nThe customer's primary address is used as the default address for payment instruments,\nsubscriptions, and invoices if none are provided.\n\nIf the customer already has an identifier within your system,\nand you want to create customer with a predefined ID &mdash;\nto prevent duplicate customers, use the _Upsert a customer with predefined ID_ operation.\nFor more information, see [Prevent duplicate customers](/docs/dev-docs/customers#prevent-duplicate-customers).","requestBody":{"$ref":"#/components/requestBodies/Customer"},"responses":{"201":{"description":"Customer created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerForm = new Rebilly\\Entities\\Customer();\n$customerForm->setPrimaryAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $customer = $client->customers()->create($customerForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new customer\nconst data = {\n    primaryAddress: {\n        firstName: 'John',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'john.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\n// the ID is optional\nconst firstCustomer = await api.customers.create({data});\n\n// or you can provide one\nconst secondCustomer = await api.customers.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerForm = \\Rebilly\\Sdk\\Model\\Customer::from([])\n    ->setWebsiteId('websiteId')\n    ->setPrimaryAddress(\n        \\Rebilly\\Sdk\\Model\\ContactObject::from([])\n            ->setFirstName('John')\n            ->setLastName('Doe')\n            ->setAddress('Test street 5')\n            ->setEmails([\n                \\Rebilly\\Sdk\\Model\\ContactEmails::from([])\n                    ->setLabel('main')\n                    ->setValue('johndoe@email.com')\n                    ->setPrimary(true),\n            ]),\n    );\n\ntry {\n    $customer = $service->customers()->create($customerForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve a customer","operationId":"GetCustomer","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a customer with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/collectionFields"}],"responses":{"200":{"description":"Customer retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customers = $client->customers()->load('myCustomerId');\n"},{"lang":"JavaScript","source":"const customer = await api.customers.get({id: 'foobar-001'});\nconsole.log(customer.fields.primaryAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customer = $service->customers()->get('customerId');"}]},"put":{"x-products":["Core"],"tags":["Customers"],"summary":"Upsert a customer","operationId":"PutCustomer","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a customer with a specified ID.\n\nIf the customer already has an identifier within your system,\nand you want to create a customer with a specified ID &mdash; use this operation to prevent duplicate customers.\nFor more information, see [Prevent duplicate customers](https://www.rebilly.com/docs/dev-docs/customers#prevent-duplicate-customers).","requestBody":{"$ref":"#/components/requestBodies/Customer"},"responses":{"200":{"$ref":"#/components/responses/Customer"},"201":{"description":"Customer with a specified ID created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Customer"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customerForm = new Rebilly\\Entities\\Customer();\n$customerForm->setPrimaryAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $customer = $client->customers()->update('myCustomerId', $customerForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a customer\nconst data = {\n    primaryAddress: {\n        firstName: 'John',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'john.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\n// the ID is optional\nconst firstCustomer = await api.customers.create({data});\n\n// or you can provide one\nconst secondCustomer = await api.customers.create({id: 'my-second-id', data});\n\n\n\n// updating a customer\nconst data = {\n    primaryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Doe',\n        emails: [{\n            label: 'main',\n            value: 'johnny.doe+test@grr.la',\n            primary: true\n        }],\n    }\n};\n\nconst customer = await api.customers.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$customerForm = \\Rebilly\\Sdk\\Model\\Customer::from([])\n    ->setWebsiteId('websiteId')\n    ->setPrimaryAddress(\n        \\Rebilly\\Sdk\\Model\\ContactObject::from([])\n            ->setFirstName('John')\n            ->setLastName('Doe')\n            ->setAddress('Test street 5')\n            ->setEmails([\n                \\Rebilly\\Sdk\\Model\\ContactEmails::from([])\n                    ->setLabel('main')\n                    ->setValue('johndoe@email.com')\n                    ->setPrimary(true),\n            ]),\n    );\n\ntry {\n    $customer = $service->customers()->update('myCustomerId', $customerForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"parameters":[{"in":"query","name":"targetCustomerId","required":true,"schema":{"type":"string"},"description":"ID of the customer that you want to delete. This field is used\nto obtain the customer's data."}],"tags":["Customers"],"summary":"Merge and delete a customer","operationId":"DeleteCustomer","x-sdk-operation-name":"merge","description":"Merges one duplicate customer to another target customer and deletes the former.","responses":{"204":{"description":"Customer is merged and deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->customers()->merge('customerId', 'targetCustomerId');"}]}},"/customer-timeline-custom-events":{"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline custom event types","operationId":"GetCustomerTimelineCustomEventTypeCollection","x-sdk-operation-name":"getAll","x-sdk-skip":true,"description":"Retrieves a list of customer timeline custom event types.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of customer timeline custom event types retrieved.","headers":{"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"}}}},"/customer-timeline-custom-events/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline custom event type","operationId":"GetCustomerTimelineCustomEventType","x-sdk-operation-name":"get","x-sdk-skip":true,"description":"Retrieves a customer timeline custom event type with a specified ID.","responses":{"200":{"description":"Customer timeline custom event type retrieved.","headers":{"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"}}}},"/customers/{id}/lead-source":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve a customer's lead source","operationId":"GetCustomerLeadSource","x-sdk-operation-name":"getLeadSource","description":"Retrieves lead source data for a customer with a specified ID.\n\nA lead source is the marketing campaign that generates customer interaction, a sale, or a trial.\nFor more information, see [Lead source attribution](https://www.rebilly.com/docs/dev-docs/customers/#lead-source-attribution).","responses":{"200":{"description":"Lead source retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$customer = $client->customers()->load('myCustomerId');\n$leadSource = $customer->getLeadSource();\n"},{"lang":"JavaScript","source":"const lead = await api.customers.getLeadSource({id: 'my-second-id'});\nconsole.log(lead.fields.affiliate);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$customerLeadSource = $service->customers()->getLeadSource('customerId');"}]},"put":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a customer's lead source","operationId":"PutCustomerLeadSource","x-sdk-operation-name":"createLeadSource","description":"Creates a lead source for a customer with a specified ID.\n\nA lead source is the marketing campaign that\ngenerates customer interaction, a sale, or a trial.\nFor more information, see [Lead source attribution](/docs/dev-docs/lead-source-attribution).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}},"description":"Lead Source resource.","required":true},"responses":{"201":{"description":"Lead source created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadSource"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$leadSourceForm = new Rebilly\\Entities\\LeadSource();\n$leadSourceForm->setSource('TestSource');\n$leadSourceForm->setCampaign('TestCampaign');\n\ntry {\n    $customer = $client->customers()->updateLeadSource('myCustomerId', $leadSourceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new lead source\nconst data = {\n    medium: 'foobar',\n    source: 'www.google.com',\n    campaign: 'my-first-campaign',\n    term: 'subscriptions',\n    content: 'subscription business',\n    affiliate: 'Acme',\n    subAffiliate: null,\n    salesAgent: null,\n    clickId: null,\n    path: null,\n    ipAddress: '12.34.56.78',\n    currency: 'USD',\n    amount: 0\n};\n\nconst lead = await api.customers.createLeadSource({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$leadSourceForm = \\Rebilly\\Sdk\\Model\\LeadSource::from([])\n    ->setSource('TestSource')\n    ->setCampaign('TestCampaign');\n\ntry {\n    $customer = $service->customers()->createLeadSource('myCustomerId', $leadSourceForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/customers/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve customer timeline messages","operationId":"GetCustomerTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves customer timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of customer timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.customers\n    .getAllTimelineMessages({id: 'my-customer'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-customer', limit: 20, offset: 100};\nconst secondCollection = await api.customers.getAllTimelineMessages(params);\n\n// access the collection items, each item is a CustomerTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Create a customer timeline comment","operationId":"PostCustomerTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .customers.createTimelineComment({id: 'my-customer-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #customers-customer-id`;\nconst params = {\n    id: 'my-customer-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.customers.createTimelineComment(params);"}]}},"/customers/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the customer timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Customers timeline"],"summary":"Retrieve a customer timeline message","operationId":"GetCustomerTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a customer message with a specified ID.","responses":{"200":{"description":"Customer message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.customers\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]}},"/customers/{id}/credit-balance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customers"],"summary":"Retrieve customer credit balance","operationId":"GetCustomerCreditBalance","x-sdk-operation-name":"getCustomerCreditBalance","description":"Retrieves a customer's credit balance grouped by currency.","responses":{"200":{"description":"Customer credit balance retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCreditBalance"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/customers/{id}/compliance-screening-report":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Customers"],"summary":"Create a compliance screening report","operationId":"PostCustomerComplianceScreeningReport","x-sdk-operation-name":"generateComplianceScreeningReport","description":"Creates a compliance screening report that includes Know Your Customer (KYC) and Anti-Money Laundering (AML) results for a customer.\nThe report is stored as a PDF customer attachment.\nRequires the KYC and AML products to be enabled for the organization.","responses":{"201":{"description":"Compliance screening report generated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Attachment"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/disputes":{"get":{"x-products":["Core"],"tags":["Disputes"],"summary":"Retrieve disputes","operationId":"GetDisputeCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of all disputes.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of disputes successfully retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputes = $client->disputes()->search([\n    'filter' => 'transactionId:testId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.disputes.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.disputes.getAll(params);\n\n// access the collection items, each item is a Dispute\nsecondCollection.items.forEach(dispute => console.log(dispute.fields.transactionId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputesPaginator = $service->disputes()->getAllPaginator(filter: 'transactionId:testId', limit: 5);\nforeach ($disputesPaginator as $disputesPage) {\n    printf(\"Disputes page %d/%d\\n\", $disputesPaginator->key() + 1, $disputesPaginator->count());\n    foreach ($disputesPage as $dispute) {\n        printf(\"Dispute #%s (%s)\\n\", $dispute->getId(), $dispute->getStatus());\n    }\n}\n\n// OR\n\n$disputes = $service->disputes()->getAll(filter: 'transactionId:testId');\nforeach ($disputes as $dispute) {\n    printf(\"Dispute #%s (%s)\\n\", $dispute->getId(), $dispute->getStatus());\n}"}]},"post":{"x-products":["Core"],"tags":["Disputes"],"summary":"Create a dispute","operationId":"PostDispute","x-sdk-operation-name":"create","description":"Creates a new dispute.","requestBody":{"$ref":"#/components/requestBodies/Dispute"},"responses":{"201":{"description":"Dispute created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputeForm = new Rebilly\\Entities\\Dispute();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode(1000);\n$disputeForm->setType($disputeForm::TYPE_1CB);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $client->disputes()->create($disputeForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new dispute\nconst data = {\n    transactionId: 'my-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\n// the ID is optional\nconst firstdispute = await api.disputes.create({data});\n\n// or you can provide one\nconst secondDispute = await api.disputes.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputeForm = new \\Rebilly\\Sdk\\Model\\PostDisputeRequest();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode('1000');\n$disputeForm->setType($disputeForm::TYPE_INFORMATION_REQUEST);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $service->disputes()->create($disputeForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/disputes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Disputes"],"summary":"Retrieve a dispute","operationId":"GetDispute","x-sdk-operation-name":"get","description":"Retrieves a dispute with a specified ID.","responses":{"200":{"description":"Dispute retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$dispute = $client->disputes()->load('disputeId');\n"},{"lang":"JavaScript","source":"const dispute = await api.disputes.get({id: 'foobar-001'});\nconsole.log(dispute.fields.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$dispute = $service->disputes()->get('disputeId');"}]},"put":{"x-products":["Core"],"tags":["Disputes"],"summary":"Upsert a dispute","operationId":"PutDispute","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a dispute with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Dispute"},"responses":{"200":{"description":"Dispute updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"201":{"description":"Dispute created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dispute"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$disputeForm = new Rebilly\\Entities\\Dispute();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode(1000);\n$disputeForm->setType($disputeForm::TYPE_1CB);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $client->disputes()->update('disputeId', $dispute);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a dispute\nconst data = {\n    transactionId: 'my-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\n// the ID is optional\nconst firstdispute = await api.disputes.create({data});\n\n// or you can provide one\nconst secondDispute = await api.disputes.create({id: 'my-second-id', data});\n\n\n\n// updating a dispute\nconst data = {\n    transactionId: 'my-other-transaction-id',\n    currency: 'USD',\n    amount: 5,\n    reasonCode: '1000',\n    type: 'first-chargeback',\n    status: 'response-needed',\n    acquirerReferenceNumber: '143543',\n    postedTime: '2017-09-19T20:46:48Z',\n    deadlineTime: '2017-09-19T20:46:48Z'\n};\n\nconst dispute = await api.disputes.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$disputeForm = new \\Rebilly\\Sdk\\Model\\PostDisputeRequest();\n$disputeForm->setTransactionId('transactionId');\n$disputeForm->setCurrency('USD');\n$disputeForm->setAmount(10);\n$disputeForm->setReasonCode('1000');\n$disputeForm->setType($disputeForm::TYPE_INFORMATION_REQUEST);\n$disputeForm->setStatus($disputeForm::STATUS_RESPONSE_NEEDED);\n$disputeForm->setPostedTime('2025-01-01 05:00:00');\n\ntry {\n    $dispute = $service->disputes()->update('disputeId', $disputeForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/{resource}/{resourceId}/external-identifiers/{service}":{"parameters":[{"$ref":"#/components/parameters/externalIdentifierResource"},{"$ref":"#/components/parameters/externalIdentifierResourceId"},{"$ref":"#/components/parameters/externalIdentifierService"}]},"/files":{"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve files","operationId":"GetFileCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of files.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of files retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$files = $client->files()->search([\n    'filter' => 'name:TestFile',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.files.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.files.getAll(params);\n\n// access the collection items, each item is a File\nsecondCollection.items.forEach(file => console.log(file.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$filesPaginator = $service->files()->getAllPaginator(limit: 5, filter: 'name:TestFile');\nforeach ($filesPaginator as $filesPage) {\n    printf(\"Files page %d/%d\\n\", $filesPaginator->key() + 1, $filesPaginator->count());\n    foreach ($filesPage as $file) {\n        printf(\"File #%s: %s\\n\", $file->getId(), $file->getName());\n    }\n}\n\n// OR\n\n$files = $service->files()->getAll(filter: 'name:TestFile');\nforeach ($files as $file) {\n    printf(\"File #%s: %s\\n\", $file->getId(), $file->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Files"],"summary":"Create a file","operationId":"PostFile","x-sdk-operation-name":"upload","security":[{"SecretApiKey":[]},{"JWT":[]},{"PublishableApiKey":[]}],"description":"Creates a file.\n\nAdditionally, a file can be sent by:\n\n - Multipart/form-data POST request: In this request,\n the file is uploaded and all property names are the same as the JSON names.\n - File body request: In this request,\n the file body is sent as the request body, with the appropriate `Content-Type`.\n No additional properties can be set with the request data.\n\nPermitted file types: `.jpg`, `.png`, `.gif`, `.webp`, and `.pdf`.\n\nWhen using a publishable API key, only private files can be created.\nThe files can be modified at a later point or time,\nor can be accessed 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$fileForm = new Rebilly\\Entities\\File();\n$fileForm->setUrl('http://test.com/somefile.jpg');\n\ntry {\n    $file = $client->files()->create($fileForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\nconst addedFile = await api.files.upload({fileObject});\n\n\n\n\n// or, upload and update a file at the same time\n\n// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\n// define file data\nconst data = {\n    description: 'my new file',\n    tags: ['original']\n};\n\nconst addedFile = await api.files.uploadAndUpdate({fileObject, data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$fileForm = new \\Rebilly\\Sdk\\Model\\FileCreateFromUrl();\n$fileForm->setUrl('http://test.com/somefile.jpg');\n\ntry {\n    $file = $service->files()->upload($fileForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/files/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Retrieve a file record","operationId":"GetFile","x-sdk-operation-name":"get","description":"Retrieves a file with a specified ID.","responses":{"200":{"description":"File retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$file = $client->files()->load('fileId');\n"},{"lang":"JavaScript","source":"const file = await api.files.get({id: 'foobar-001'});\nconsole.log(file.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$file = $service->files()->get('fileId');"}]},"put":{"x-products":["Core"],"tags":["Files"],"summary":"Update a file","operationId":"PutFile","x-sdk-operation-name":"update","description":"Updates a file with a specified ID.\n\n> **Note:** Files can only be uploaded by POST request.\nFor more information, see the Create a file operation.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/File"}}},"description":"File resource.","required":true},"responses":{"200":{"description":"File updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$fileForm = new Rebilly\\Entities\\File();\n$fileForm->setDescription('This is a test file');\n\ntry {\n    $file = $client->files()->update('fileId', $fileForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// define the values to update\nconst data = {\n    name: 'new file name',\n    description: 'a fitting description',\n    tags: ['original']\n};\n\nconst file = await api.files.update({id: 'my-file-id', data});\n\n\n\n\n// or, upload and update a file at the same time\n\n// using a FileList to fetch a file\nconst fileObject = fileList[0];\n\n// define file data\nconst data = {\n    description: 'my new file',\n    tags: ['original']\n};\n\nconst addedFile = await api.files.uploadAndUpdate({fileObject, data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$fileForm = new \\Rebilly\\Sdk\\Model\\File();\n$fileForm->setDescription('This is a test file');\n\ntry {\n    $file = $service->files()->update('fileId', $fileForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Files"],"summary":"Delete a file","operationId":"DeleteFile","x-sdk-operation-name":"delete","description":"Deletes a file with a specified ID.","responses":{"204":{"description":"File deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->files()->delete('fileId');\n"},{"lang":"JavaScript","source":"// simply delete a file\nconst request = await api.files.delete({id: 'my-file-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204\n\n\n\n\n// or, delete a file and its related resource attachments\n// use this method to remove the file completely from all resources at once.\n\nconst request = await api.files.detachAndDelete({id: 'my-file-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->files()->delete('fileId');"}]}},"/files/{id}/download":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/imageSize"}],"get":{"x-products":["Core"],"tags":["Files"],"summary":"Download a file","operationId":"GetFileDownload","x-sdk-operation-name":"download","description":"Downloads a file with a specified ID.","responses":{"200":{"description":"File retrieved.","headers":{"Content-Length":{"description":"Number of bytes in the file.","schema":{"type":"integer"},"example":48},"Content-Type":{"description":"MIME type of the file.","schema":{"type":"string"},"example":"image/png"}},"content":{"application/json":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"application/pdf":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"application/zip":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/jpg":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/png":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/gif":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"image/webp":{"schema":{"type":"string","readOnly":true,"format":"binary"}},"text/csv":{"schema":{"type":"string","readOnly":true,"format":"binary"}}}},"302":{"$ref":"#/components/responses/Found"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const file = await api.files.download({id: 'my-file-id'});\n\n// access the file ArrayBuffer to view the content \nconsole.log(file.data);"}]}},"/application-instances/{applicationId}":{"parameters":[{"$ref":"#/components/parameters/applicationId"}]},"/application-instances/{applicationId}/configuration":{"parameters":[{"$ref":"#/components/parameters/applicationId"}]},"/applications/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/applications/{id}/instances":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/applications/{id}/instances/{organizationId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/organizationId"}]},"/invoices":{"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve invoices","operationId":"GetInvoiceCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of invoices.\nEach invoice in the list includes up to 10 of the most recent transactions in `transactions`.\nTo retrieve transactions for an invoice, use [Retrieve transactions](https://www.rebilly.com/catalog/all/transactions/gettransactioncollection) with the `invoiceIds` filter.\nSearch results can lag briefly behind a write.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/invoiceCollectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of invoices retrieved.","headers":{"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/Invoice"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoices = $client->invoices()->search([\n    'filter' => 'customerId:testCustomerId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.invoices.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.invoices.getAll(params);\n\n// access the collection items, each item is an Invoice\nsecondCollection.items.forEach(invoice => console.log(invoice.fields.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoicesPaginator = $service->invoices()->getAllPaginator(filter: 'customerId:testCustomerId', limit: 5);\nforeach ($invoicesPaginator as $invoicePage) {\n    printf(\"Invoices page %d/%d\\n\", $invoicesPaginator->key() + 1, $invoicesPaginator->count());\n    foreach ($invoicePage as $invoice) {\n        printf(\"Invoice #%s (%s): %.2f\\n\", $invoice->getId(), $invoice->getStatus(), $invoice->getAmount());\n    }\n}\n\n// OR\n\n$invoices = $service->invoices()->getAll(filter: 'customerId:testCustomerId', limit: 100);\nforeach ($invoices as $invoice) {\n    printf(\"Invoice #%s (%s): %.2f\\n\", $invoice->getId(), $invoice->getStatus(), $invoice->getAmount());\n}"}]},"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Create an invoice","operationId":"PostInvoice","x-sdk-operation-name":"create","description":"Creates an invoice.","requestBody":{"$ref":"#/components/requestBodies/Invoice"},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceForm = new Rebilly\\Entities\\Invoice();\n$invoiceForm->setCustomerId('customerId');\n$invoiceForm->setWebsiteId('websiteId');\n$invoiceForm->setCurrency('USD');\n$invoiceForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $invoice = $client->invoices()->create($invoiceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\n// the ID is optional\nconst firstInvoice = await api.invoices.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.invoices.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoice = \\Rebilly\\Sdk\\Model\\Invoice::from()\n    ->setCustomerId('customerId')\n    ->setWebsiteId('websiteId')\n    ->setCurrency('USD')\n    ->setBillingAddress([\n        'firstName' => 'John',\n        'lastName' => 'Doe',\n        'organization' => 'Test LTD',\n        'address' => 'Test street 5',\n        'address2' => 'Test house 5',\n        'city' => 'New York',\n        'region' => 'Long Island',\n        'country' => 'US',\n        'postalCode' => '123456',\n        'emails' => [\n            [\n                'label' => 'main',\n                'value' => 'johndoe@testemail.com',\n                'primary' => true,\n            ],\n            [\n                'label' => 'secondary',\n                'value' => 'otheremail@testemail.com',\n            ],\n        ],\n        'phoneNumbers' => [\n            [\n                'label' => 'work',\n                'value' => '+123456789',\n                'primary' => true,\n            ],\n            [\n                'label' => 'home',\n                'value' => '+9874654321',\n            ],\n        ],\n    ]);\n\ntry {\n    $invoice = $service->invoices()->create($invoice);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve an invoice","operationId":"GetInvoice","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves an invoice with a specified ID.","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->load('invoiceId');\n"},{"lang":"JavaScript","source":"const invoice = await api.invoices.get({id: 'foobar-001'});\nconsole.log(invoice.fields.primaryAddress.firstName);\n\n\n// alternatively, download as a PDF file\nconst pdf = await api.invoices.downloadPDF({id: 'foobar-001'});\n// the invoice's data in arraybuffer format\nconsole.log(pdf.data);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->get('invoiceId');"}]},"put":{"x-products":["Core"],"tags":["Invoices"],"summary":"Upsert an invoice","operationId":"PutInvoice","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an invoice with a specified ID.\nReturns a conflict error if the specified ID belongs to an upcoming invoice.","requestBody":{"$ref":"#/components/requestBodies/Invoice"},"responses":{"200":{"description":"Invoice updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceForm = new Rebilly\\Entities\\Invoice();\n$invoiceForm->setCustomerId('customerId');\n$invoiceForm->setWebsiteId('websiteId');\n$invoiceForm->setCurrency('USD');\n$invoiceForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $invoice = $client->invoices()->update('invoiceId', $invoiceForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating an invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\n// the ID is optional\nconst firstInvoice = await api.invoices.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.invoices.create({id: 'my-second-id', data});\n\n\n\n// updating an invoice\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    currency: 'USD',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    notes: `customer's first invoice`,\n};\n\nconst invoice = await api.invoices.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoice = \\Rebilly\\Sdk\\Model\\Invoice::from()\n    ->setCustomerId('customerId')\n    ->setWebsiteId('websiteId')\n    ->setCurrency('USD')\n    ->setBillingAddress([\n        'firstName' => 'John',\n        'lastName' => 'Doe',\n        'organization' => 'Test LTD',\n        'address' => 'Test street 5',\n        'address2' => 'Test house 5',\n        'city' => 'New York',\n        'region' => 'Long Island',\n        'country' => 'US',\n        'postalCode' => '123456',\n        'emails' => [\n            [\n                'label' => 'main',\n                'value' => 'johndoe@testemail.com',\n                'primary' => true,\n            ],\n            [\n                'label' => 'secondary',\n                'value' => 'otheremail@testemail.com',\n            ],\n        ],\n        'phoneNumbers' => [\n            [\n                'label' => 'work',\n                'value' => '+123456789',\n                'primary' => true,\n            ],\n            [\n                'label' => 'home',\n                'value' => '+9874654321',\n            ],\n        ],\n    ]);\n\ntry {\n    $invoice = $service->invoices()->update('invoiceId', $invoice);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve invoice items","operationId":"GetInvoiceItemCollection","x-sdk-operation-name":"getAllInvoiceItems","description":"Retrieves invoice items with a specified invoice ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Invoice items retrieved.","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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItems = $client->invoiceItems()->search('invoiceId', [\n    'filter' => 'quantity:5',\n]);\n"},{"lang":"JavaScript","source":"// get the top 20 invoice items for this ID\nconst invoiceItems = await api.invoices.getAllInvoiceItems({id: 'my-invoice-id', limit: 20});\ninvoiceItems.items.forEach(item => console.log(item.fields.description));"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoiceItems = $service->invoices()->getAllInvoiceItems('invoiceId');"}]},"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Create an invoice item","operationId":"PostInvoiceItem","x-sdk-operation-name":"createInvoiceItem","description":"Creates an invoice item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}},"description":"InvoiceItem resource.","required":true},"responses":{"201":{"description":"Invoice item created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItemForm = new Rebilly\\Entities\\InvoiceItem();\n$invoiceItemForm->setType($invoiceItemForm::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $client->invoiceItems()->create($invoiceItemForm, 'invoiceId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice item\nconst data = {\n    type: 'debit', \n    unitPrice: 5\n};\n\nconst invoiceItem = await api.invoices.createInvoiceItem({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceItem = new \\Rebilly\\Sdk\\Model\\InvoiceItem();\n$invoiceItemForm->setType(\\Rebilly\\Sdk\\Model\\InvoiceItem::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $service->invoices()->createInvoiceItem('invoiceId', $invoiceItem);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the invoice item.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve an invoice item","operationId":"GetInvoiceItem","x-sdk-operation-name":"getInvoiceItem","description":"Retrieves an invoice item.","responses":{"200":{"description":"Invoice item retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItems = $client->invoiceItems()->load('invoiceId');\n"},{"lang":"JavaScript","source":"const invoiceItem = await api.invoices.getInvoiceItem({id: 'foobar-001'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoiceItem = $service->invoices()->getInvoiceItem('invoiceId', 'invoiceItemId');"}]},"put":{"x-products":["Core"],"tags":["Invoices"],"summary":"Update an invoice item","operationId":"PutInvoiceItem","x-sdk-operation-name":"updateInvoiceItem","description":"Updates an invoice item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}},"description":"Invoice item resource.","required":true},"responses":{"200":{"description":"Invoice item updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoiceItemForm = new Rebilly\\Entities\\InvoiceItem();\n$invoiceItemForm->setType($invoiceItemForm::TYPE_DEBIT);\n$invoiceItemForm->setUnitPrice(0.99);\n$invoiceItemForm->setQuantity(5);\n\ntry {\n    $invoiceItem = $client->invoiceItems()->update($invoiceItemForm, 'invoiceId', 'invoiceItemId');\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new invoice item\nconst data = {\n    type: 'debit',\n    unitPrice: 5\n};\n\nconst invoiceItem = await api.invoices.updateInvoiceItem({id: 'id', itemId: 'itemId', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceItem = \\Rebilly\\Sdk\\Model\\InvoiceItem::from([\n    'type' => \\Rebilly\\Sdk\\Model\\InvoiceItem::TYPE_DEBIT,\n    'unitPrice' => 0.99,\n    'quantity' => 5,\n]);\n\ntry {\n    $invoiceItem = $service->invoices()->updateInvoiceItem('invoiceId', 'invoiceItemId', $invoiceItem);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Invoices"],"summary":"Delete an invoice item","operationId":"DeleteInvoiceItem","x-sdk-operation-name":"deleteInvoiceItem","description":"Deletes an invoice item.","responses":{"204":{"description":"Invoice item deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->invoiceItems()->delete('invoiceId', 'invoiceItemId');\n"},{"lang":"JavaScript","source":"const invoiceItem = await api.invoices.deleteInvoiceItem({id: 'id', itemId: 'itemId'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->invoices()->deleteInvoiceItem('invoiceId', 'invoiceItemId');"}]}},"/invoices/{id}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Issue an invoice","operationId":"PostInvoiceIssuance","x-sdk-operation-name":"issue","description":"Issues an invoice with a specified ID.\nThe invoice must be in `draft` status.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"Invoice issue resource.","required":true},"responses":{"201":{"description":"Invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->issue('invoiceId', '2025-01-01 05:00:00');\n"},{"lang":"JavaScript","source":"// define the issued time\nconst data = {\n    issuedTime: \"2017-09-19T20:46:51Z\"\n};\n\n// issue the invoice without an issued time\nconst firstInvoice = await api.invoices.issue({id: 'my-first-id'});\n\n// or include it\nconst secondInvoice = await api.invoices.issue({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->issue('invoiceId', new \\Rebilly\\Sdk\\Model\\InvoiceIssue([\n    'issuedTime' => '2025-01-01 05:00:00',\n]));"}]}},"/invoices/{id}/abandon":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Abandon an invoice","operationId":"PostInvoiceAbandonment","x-sdk-operation-name":"abandon","description":"Abandons an invoice with a specified ID.\nThis operation removes credit memo allocations from the invoice.\nUnused credit returns to the credit memo.","responses":{"201":{"description":"Invoice abandoned.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->abandon('invoiceId');\n"},{"lang":"JavaScript","source":"const abandonedInvoice = await api.invoices.abandon({id: 'my-invoice-id'});\nconsole.log(abandonedInvoice.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->abandon('invoiceId');"}]}},"/invoices/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Void an invoice","operationId":"PostInvoiceVoid","x-sdk-operation-name":"void","description":"Voids an invoice with a specified ID.\nThis operation removes credit memo allocations from the invoice.\nUnused credit returns to the credit memo.","responses":{"201":{"description":"Invoice voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$invoice = $client->invoices()->void('invoiceId');\n"},{"lang":"JavaScript","source":"const voidedInvoice = await api.invoices.void({id: 'my-invoice-id'});\nconsole.log(voidedInvoice.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->void('invoiceId');"}]}},"/invoices/{id}/recalculate":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Recalculate an invoice","operationId":"PostInvoiceRecalculation","x-sdk-operation-name":"recalculate","description":"Recalculates shipping rates, taxes, and discounts on an invoice with a specified ID.\n\nOne use case for this operation to apply a revoked coupon,\nor coupon that is redeemed by a customer after the invoice is issued.","responses":{"201":{"description":"Invoice recalculated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$invoice = $service->invoices()->recalculate('invoiceId');"}]}},"/invoices/{id}/reissue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Reissue an invoice","operationId":"PostInvoiceReissuance","x-sdk-operation-name":"reissue","description":"Reissues an invoice with a specified ID.\nThe status of the invoice must be `unpaid`, `partially paid`, `past due` or `abandoned`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceReissue"}}},"description":"InvoiceReissue resource.","required":true},"responses":{"201":{"description":"Invoice reissued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$invoiceReissue = new \\Rebilly\\Sdk\\Model\\InvoiceReissue([\n    'dueTime' => '2025-01-01 05:00:00',\n]);\n\ntry {\n    $invoiceReissue = $service->invoices()->reissue('invoiceId', $invoiceReissue);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/transaction-allocations":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices"],"summary":"Retrieve transaction amounts allocations","operationId":"GetInvoiceTransactionAllocationCollection","x-sdk-operation-name":"getAllTransactionAllocations","description":"Retrieves amounts from a transaction that are allocated as invoice payments.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of allocations retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$transactionAllocations = $service->invoices()->getAllTransactionAllocations('invoiceId');"}]}},"/invoices/{id}/allocate-credit-balance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Invoices"],"summary":"Allocate customer credit balance to an invoice","operationId":"PostInvoiceAllocateCreditBalance","x-sdk-operation-name":"allocateCreditBalance","description":"Allocates existing allocatable credit memos related to the invoice customer.\nSpecific credit memos cannot be provided in the request and are selected automatically.\nAllocation can be capped with `amount`.\nCredit memos are applied automatically in the specified allocation order.\nIf no order is specified, `oldest-first` is used.","requestBody":{"description":"Invoice credit memo automatic allocation settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreditMemoAllocationRequest"}}}},"responses":{"200":{"description":"Credit memos allocated to invoice.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreditMemoAllocationResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/invoices/{id}/transaction":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/invoices/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Retrieve invoice timeline messages","operationId":"GetInvoiceTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of invoice timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of invoice timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.invoices\n    .getAllTimelineMessages({id: 'my-invoice'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-invoice', limit: 20, offset: 100};\nconst secondCollection = await api.invoices.getAllTimelineMessages(params);\n\n// access the collection items, each item is an InvoiceTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$timelineMessages = $service->invoices()->getAllTimelineMessages('invoiceId', filter: 'triggeredBy:direct-api');"}]},"post":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Create an invoice timeline comment","operationId":"PostInvoiceTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .invoices.createTimelineComment({id: 'my-invoice-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #invoice-subscription-id`;\nconst params = {\n    id: 'my-invoice-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.invoices.createTimelineComment(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$timelineMessage = new \\Rebilly\\Sdk\\Model\\InvoiceTimeline([\n    'message' => 'Automatic message',\n]);\n\ntry {\n    $timelineMessage = $service->invoices()->createTimelineComment('invoiceId', $timelineMessage);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/invoices/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the invoice timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Retrieve an invoice timeline message","operationId":"GetInvoiceTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves an invoice timeline message with a specified ID.","responses":{"200":{"description":"Invoice message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.invoices\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$timelineMessage = $service->invoices()->getTimelineMessage('invoiceId', 'messageId');"}]},"delete":{"x-products":["Core"],"tags":["Invoices timeline"],"summary":"Delete an invoice timeline message","operationId":"DeleteInvoiceTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes an invoice timeline message with a specified ID.","responses":{"204":{"description":"Invoice timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.invoices\n    .deleteTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->invoices()->deleteTimelineMessage('invoiceId', 'messageId');"}]}},"/credit-memos":{"get":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Retrieve credit memos","operationId":"GetCreditMemoCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of credit memos.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of credit memos retrieved.","headers":{"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/CreditMemo"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Create a credit memo","operationId":"PostCreditMemo","x-sdk-operation-name":"create","description":"Creates a credit memo.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"responses":{"201":{"description":"Credit memo created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Retrieve a credit memo","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"}],"operationId":"GetCreditMemo","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a credit memo with a specified ID.","responses":{"200":{"description":"Credit memo retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Upsert a credit memo","operationId":"PutCreditMemo","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a credit memo with a specified ID.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"responses":{"200":{"description":"Credit memo updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"201":{"description":"Credit memo created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"patch":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Partially update a credit memo","operationId":"PatchCreditMemo","x-sdk-operation-name":"patch","description":"Partially updates a credit memo with a specified ID.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchCreditMemoRequest"}}}},"responses":{"200":{"description":"Credit memo updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Credit memos"],"summary":"Void a credit memo","operationId":"PostCreditMemoVoid","x-sdk-operation-name":"void","description":"Voids a credit memo with a specified ID.\nRemoves the invoice allocations of the credit memo and returns the allocated amounts to the invoices.\nIf the credit memo is allocated to an invoice that is not payable, such as a paid invoice,\nthe request fails with a `409` response and the credit memo is not changed.","responses":{"201":{"description":"Credit memo voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemo"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/refund":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/credit-memos/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Retrieve credit memo timeline messages","operationId":"GetCreditMemoTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of credit memo timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of credit memo timeline messages retrieved.","headers":{"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/CreditMemoTimeline"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Create a credit memo timeline message","operationId":"PostCreditMemoTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a credit memo timeline message.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}},"description":"Credit memo timeline resource.","required":true},"responses":{"201":{"description":"Credit memo timeline message created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/credit-memos/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the credit memo timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Retrieve a credit memo timeline message","operationId":"GetCreditMemoTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a credit memo timeline message with a specified ID.","responses":{"200":{"description":"Credit memo timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditMemoTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"x-products":["Core"],"tags":["Credit memos timeline"],"summary":"Delete a credit memo timeline message","operationId":"DeleteCreditMemoTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes a credit memo timeline message with a specified ID.","responses":{"204":{"description":"Credit memo timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/journal-accounts":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal accounts","operationId":"GetJournalAccountCollection","x-sdk-operation-name":"getAllAccounts","description":"Retrieves a list of journal accounts.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of journal accounts retrieved.","headers":{"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/JournalAccount"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Journal"],"summary":"Create a journal account","operationId":"PostJournalAccount","x-sdk-operation-name":"createAccount","description":"Creates a journal account.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}},"description":"Journal account resource.","required":true},"responses":{"201":{"description":"Journal account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/journal-accounts/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal account","operationId":"GetJournalAccount","x-sdk-operation-name":"getAccount","description":"Retrieves a journal account with a specified ID.","responses":{"200":{"description":"Journal account retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/journal-entries":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal entries","operationId":"GetJournalEntryCollection","x-sdk-operation-name":"getAllEntries","description":"Retrieves a list of journal entries.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of journal entries retrieved.","headers":{"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/JournalEntry"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/journal-entries/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal entry","operationId":"GetJournalEntry","x-sdk-operation-name":"getEntry","description":"Retrieves a journal entry with a specified ID.","responses":{"200":{"description":"Journal entry retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalEntry"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/journal-records":{"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal records","operationId":"GetJournalRecordCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of journal records.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of journal records retrieved.","headers":{"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/JournalRecord"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/journal-records/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Journal"],"summary":"Retrieve journal record","operationId":"GetJournalRecord","x-sdk-operation-name":"get","description":"Retrieves a journal record with a specified ID.","responses":{"200":{"description":"Journal record retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JournalRecord"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/kyc-requests":{"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Create a KYC request","operationId":"PostKycRequest","x-sdk-operation-name":"create","description":"Creates a KYC request.\n\nThe customer is redirected to the `kycGatherer` link.\nAfter the customer completes the KYC process,\nthey are redirected back to the `redirectUrl` link.\n\nCorresponding webhooks, such as: KYC document accepted and KYC document rejected,\nare sent to the subscribers.\n\nWhen the complete list of documents is received and accepted,\nthe KYC request fulfilled webhook is sent to subscribers.\n\nIf a `credit-file-proof` request is successful,\nit returns a `decision` value of `single-source` or `dual-source`.\nThe corresponding `identity-proof` and `address-proof` documents are not requested.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"},"examples":{"credit-file-identity-address":{"summary":"Credit file with fallback","description":"In the sandbox environment, to mark a `credit-file-proof` KYC document as `accepted`,\npass the customer's first name to the `accept` field.\nIf an incorrect first name is passed, the document is rejected.","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"credit-file-proof","maxAttempts":1},{"type":"identity-proof"},{"type":"address-proof"}],"reason":"registration"}},"identity-with-face-proof":{"summary":"Identity with face proof","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"identity-proof","faceProofRequired":true,"faceLivenessRequired":false}],"reason":"registration"}},"identity-and-address":{"summary":"Identity and address","value":{"customerId":"123_456789","redirectUrl":"https://example.com/return-here/","documents":[{"type":"identity-proof"},{"type":"address-proof"}],"reason":"registration"}}}}},"description":"KYC request resource.","required":true},"responses":{"201":{"description":"KYC request created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC requests","operationId":"GetKycRequestCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of KYC requests.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of KYC requests retrieved.","headers":{"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/KycRequest"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/kyc-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve a KYC request","operationId":"GetKycRequest","x-sdk-operation-name":"get","description":"Retrieves a KYC request with a specified ID.","responses":{"200":{"description":"KYC request retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/kyc-documents":{"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC documents","operationId":"GetKycDocumentCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of KYC documents.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of KYC documents retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.kycDocuments.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.kycDocuments.getAll(params);\n\n// access the collection items, each item is a KycDocument\nsecondCollection.items.forEach(document => console.log(document.fields.documentType));\n"}]},"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Create a KYC document","operationId":"PostKycDocument","x-sdk-operation-name":"create","description":"Creates a KYC document.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}},"description":"Kyc document resource.","required":true},"responses":{"201":{"description":"KYC document created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// All fields are required\nconst data = {\n    fieldId: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',\n    customerId: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',\n    documentType: 'identity-proof'\n};\n\nconst firstKycDocument = await api.kycDocuments.create({data});"}]}},"/kyc-documents/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve a KYC document","operationId":"GetKycDocument","x-sdk-operation-name":"get","description":"Retrieves a KYC document with a specified ID.","responses":{"200":{"description":"KYC document retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const document = await api.kycDocuments.get({id: 'foobar-001'});\nconsole.log(document.fields.documentType);"}]},"put":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Upsert a KYC document","operationId":"PutKycDocument","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a KYC document with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}},"description":"KYC document resource.","required":true},"responses":{"200":{"description":"KYC document updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"201":{"description":"KYC document created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// define the values to update\nconst data = {\n    status: 'accepted'\n};\n\nconst document = await api.kycDocuments.update({id: 'my-second-id', data});"}]}},"/kyc-documents/{id}/acceptance":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Accept a KYC document","operationId":"PostKycDocumentAcceptance","x-sdk-operation-name":"accept","description":"Accepts a KYC document and changes the documents `status` to `accepted`.\nThe review time and reviewer information is also updated.\n\n> **Note:** Use this operation for manual overrides.","responses":{"201":{"description":"KYC document acceptance created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const acceptedDocument = await api.kycDocuments.accept({id: 'my-second-id'});\nconsole.log(acceptedDocument.fields.status);"}]}},"/kyc-documents/{id}/matches":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Update KYC document matches","operationId":"PostKycDocumentMatches","x-sdk-operation-name":"matches","description":"Updates the document matches of a KYC document with a specified ID.\n\n> **Note:** Use this operation for manual overrides.\n\nThe request body schema depends on the KYC document `documentType`.\nThe operation rejects unknown fields.\n\nSend `type` with one of:\n`identity-proof`, `address-proof`, `purchase-proof`, or `funds-proof`.\nThe specified value identifies the `type` of the document match.","requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/KycIdentityMatchesOverwrite"},{"$ref":"#/components/schemas/KycAddressMatchesOverwrite"},{"$ref":"#/components/schemas/KycPurchaseMatchesOverwrite"},{"$ref":"#/components/schemas/KycFundsMatchesOverwrite"}],"discriminator":{"propertyName":"type","mapping":{"identity-proof":"#/components/schemas/KycIdentityMatchesOverwrite","address-proof":"#/components/schemas/KycAddressMatchesOverwrite","purchase-proof":"#/components/schemas/KycPurchaseMatchesOverwrite","funds-proof":"#/components/schemas/KycFundsMatchesOverwrite"}}}}},"description":"KYC document matches overwrite payload.","required":true},"responses":{"204":{"description":"Document matches updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-documents/{id}/rejection":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Reject a KYC document","operationId":"PostKycDocumentRejection","x-sdk-operation-name":"reject","description":"Rejects a KYC document and changes the `status` to `rejected`.\nThe review time and reviewer information is also updated.\n\n> **Note:** Use this operation for manual overrides.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocumentRejection"}}},"description":"KYC document resource.","required":true},"responses":{"201":{"description":"KYC document rejected.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    type: 'document-expired',\n    message: 'Document is expired'\n}\nconst rejectedDocument = await api.kycDocuments.reject({id: 'my-second-id', data});\nconsole.log(rejectedDocument.fields.rejectionReason.type);"}]}},"/kyc-documents/{id}/review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Review a KYC document","operationId":"PostKycDocumentReview","x-sdk-operation-name":"review","description":"Updates the `reviewTime` and `reviewerId` of a KYC document with a specified ID.","responses":{"201":{"description":"KYC document reviewed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const reviewedDocument = await api.kycDocuments.review({id: 'my-second-id'});\nconsole.log(reviewedDocument.fields.status);"}]}},"/kyc-documents/{id}/start-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Start review of a KYC document","operationId":"PostKycDocumentStartReview","x-sdk-operation-name":"startReview","description":"Starts the review process of a KYC document with a specified ID.\n\nThis operation also sets the KYC document `reviewStartTime` to the current date-time,\nand updates the review information.","responses":{"201":{"description":"KYC document review started.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-documents/{id}/stop-review":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Stop review of a KYC document","operationId":"PostKycDocumentStopReview","x-sdk-operation-name":"stopReview","description":"Stops the review of a KYC document with a specified ID.\n\nThis operation also sets the KYC document `reviewStartTime` and the reviewer information to null.\nUse this operation when the reviewer must stop the review.\nFor example, if the reviewer must take a break, or ends a shift.","responses":{"201":{"description":"KYC document review stopped.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/kyc-settings":{"get":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Retrieve KYC settings","operationId":"GetKycSettings","x-sdk-operation-name":"getKycSettings","description":"Retrieves KYC settings.","responses":{"200":{"description":"KYC settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["KYC documents"],"summary":"Update KYC settings","operationId":"PutKycSettings","x-sdk-operation-name":"updateKycSettings","description":"Updates KYC settings.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}},"description":"Settings for KYC analysis.","required":true},"responses":{"200":{"description":"KYC settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/password-tokens":{"get":{"x-products":["Full","Core"],"tags":["Customer authentication"],"summary":"Retrieve tokens","operationId":"GetPasswordTokenCollection","x-sdk-operation-name":"getAllResetPasswordTokens","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a list of reset password tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of reset password tokens retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.customerAuthentication.getAllResetPasswordTokens();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.customerAuthentication.getAllResetPasswordTokens(params);\n\n// access the collection items, each item is a ResetPasswordToken\nsecondCollection.items.forEach(token => console.log(token.fields.token));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$passwordTokens = $service->customerAuthentication()->getAllResetPasswordTokens();"}]},"post":{"x-products":["Full","Core"],"tags":["Customer authentication"],"summary":"Create a reset password token","operationId":"PostPasswordToken","x-sdk-operation-name":"createResetPasswordToken","x-sdk-resource":"CustomerAuthentication","description":"Creates a reset password token.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}},"description":"ResetPasswordToken resource.","required":true},"responses":{"201":{"description":"Reset password token created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for the new credential\nconst data = {\n    username: 'foobar',\n    password: 'fuubar',\n    // the `credential` expects \n    // the customer credential's ID\n    credential: 'foobar-0001'\n\n    // optionally you can define an `expiredTime` to \n    // limit the duration of the reset token\n\n    //expiredTime: '2017-09-18T19:17:39Z'\n};\n\nconst resetToken = await api.customerAuthentication.createResetPasswordToken({data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$resetPasswordTokenForm = new \\Rebilly\\Sdk\\Model\\ResetPasswordToken();\n$resetPasswordTokenForm->setUsername('username');\n\ntry {\n    $tokens = $coreService->customerAuthentication()->createResetPasswordToken($resetPasswordTokenForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/password-tokens/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Customer authentication"],"summary":"Retrieve a reset password token","operationId":"GetPasswordToken","x-sdk-operation-name":"getResetPasswordToken","x-sdk-resource":"CustomerAuthentication","description":"Retrieves a reset password token with a specified ID.","responses":{"200":{"description":"Reset password token retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const token = await api.customerAuthentication.getResetPasswordToken({id: 'my-first-id'});\nconsole.log(token.fields.credential);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$passwordToken = $service->customerAuthentication()->getResetPasswordToken('tokenId');"}]}},"/payment-instruments":{"get":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Retrieve payment instruments","operationId":"GetPaymentInstrumentCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payment instruments.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of payment instruments retrieved.","headers":{"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/PaymentInstrument"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstruments = $client->paymentInstruments()->search([\n    'filter' => 'status:active;method:payment-card',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.paymentInstruments.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.paymentInstruments.getAll(params);\n\n// access the collection items, each item is a PaymentInstrument\nsecondCollection.items.forEach(paymentInstrument => console.log(paymentInstrument.fields.customerId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentsPaginator = $service->paymentInstruments()->getAllPaginator(\n    filter: 'status:active;method:payment-card',\n    limit: 5\n);\nforeach ($paymentInstrumentsPaginator as $paymentInstrumentsPage) {\n    printf(\"Payment instruments page %d/%d\\n\", $paymentInstrumentsPaginator->key() + 1, $paymentInstrumentsPaginator->count());\n    foreach ($paymentInstrumentsPage as $paymentInstrument) {\n        printf(\"Payment instrument #%s\\n\", $paymentInstrument->getId());\n    }\n}\n\n// OR\n\n$paymentInstruments = $service->paymentInstruments()->getAll(filter: 'status:active;method:payment-card');\nforeach ($paymentInstruments as $paymentInstrument) {\n    printf(\"Payment instrument #%s\\n\", $paymentInstrument->getId());\n}"}]},"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Create a payment instrument","operationId":"PostPaymentInstrument","x-sdk-operation-name":"create","description":"Creates a payment instrument.\nIf the payment card, bank account, or alternative payment instrument already exists it is updated.","requestBody":{"$ref":"#/components/requestBodies/PostPaymentInstrument"},"responses":{"201":{"description":"Payment instrument created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"303":{"description":"Payment instrument updated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->create($paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a payment token\n$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setToken('payment-token');\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->create($paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new payment card instrument\nconst data = {\n    method: 'payment-card',\n    pan: '4111111111111111',\n    expYear: 2025,\n    expMonth: 11,\n    cvv: '123',\n    billingAddress: {\n      firstName: 'Johnny',\n      lastName: 'Brown',\n      emails: [{\n          label: 'main',\n          value: 'johnny+test@grr.la',\n          primary: true\n      }]\n    },\n    // the customer ID for which\n    // we are adding a payment card instrument\n    customerId: 'foobar-0001'\n};\n\nconst firstPaymentInstrument = await api.paymentInstruments.create({data});\n\n// alternatively you can specify a payment token\nconst tokenData = {\n    token: 'payment-token',\n    // the customer ID for which\n    // we are adding a payment card instrument\n    customerId: 'foobar-0001'\n};\n\nconst secondPaymentInstrument = await api.paymentInstruments.create({tokenData});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardCreatePlain();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->create($paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a payment token\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentInstrumentCreateToken();\n$paymentInstrumentForm->setCustomerId('customerId');\n$paymentInstrumentForm->setToken('payment-token');\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->create($paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-instruments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Retrieve a payment instrument","operationId":"GetPaymentInstrument","x-sdk-operation-name":"get","description":"Retrieves a payment instrument with a specified ID.","responses":{"200":{"description":"Payment instrument retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrument = $client->paymentInstruments()->load('paymentInstrumentId');\n"},{"lang":"JavaScript","source":"const paymentInstrument = await api.paymentInstruments.get({id: 'payment-instrument-id'});\n\nconsole.log(paymentInstrument.fields.customerId);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$paymentInstrument = $service->paymentInstruments()->get('paymentInstrumentId');"}]},"patch":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Update payment instrument","operationId":"PatchPaymentInstrument","x-sdk-operation-name":"update","description":"Updates the values of a payment instrument with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchPaymentInstrument"},"responses":{"200":{"description":"Payment instrument updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setCvv('123');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(12);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a partial token\n$paymentInstrumentForm = new Rebilly\\Entities\\CommonPaymentInstrument();\n$paymentInstrumentForm->setToken('partial-token');\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $client->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// payment instrument properties to be updated\nconst data = {\n    cvv: '123',\n    expMonth: 12,\n    expYear: 2025,\n    billingAddress: {\n        firstName: 'John'\n    }\n};\n\napi.paymentInstruments.patch({id: 'id-to-update', data});\n\n// alternatively you can specify a partial token\nconst tokenData = {\n    token: 'partial-token',\n    billingAddress: {\n        firstName: 'John'\n    },\n    customFields: {\n        foo: 'bar'\n    }\n};\n\napi.paymentInstruments.patch({id: 'id-to-update', tokenData});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardUpdatePlain();\n$paymentInstrumentForm->setCvv('123');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(12);\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// Alternatively you can specify a partial token\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentInstrumentUpdateToken();\n$paymentInstrumentForm->setToken('partial-token');\n$paymentInstrumentForm->setBillingAddress([\n    'firstName' => 'John',\n]);\n\ntry {\n    $paymentInstrument = $service->paymentInstruments()->update('paymentInstrumentId', $paymentInstrumentForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-instruments/{id}/deactivation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Deactivate a payment instrument","operationId":"PostPaymentInstrumentDeactivation","x-sdk-operation-name":"deactivate","description":"Deactivates a payment instrument with a specified ID.","responses":{"201":{"description":"Payment instrument deactivated.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->paymentInstruments()->deactivate('paymentInstrumentId');\n"},{"lang":"JavaScript","source":"const paymentInstrument = await api.paymentInstruments.deactivate({id: 'id-to-deactivate'});\n\nconsole.log(paymentInstrument.fields.status);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->paymentInstruments()->deactivate('paymentInstrumentId');"}]}},"/payment-instruments/{id}/name-inquiry":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Payment instruments"],"summary":"Verify name on a payment instrument","operationId":"PostPaymentInstrumentNameInquiry","x-sdk-operation-name":"nameInquiry","description":"Performs a name check inquiry on a payment instrument.\nUse this operation to confirm the name that is associated with a payment instrument.\nThis operation supports payment cards only, using VISA ANI requests through Worldpay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrumentNameInquiry"}}}},"responses":{"200":{"description":"Payment instrument name inquiry performed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentInstrumentNameInquiry"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/plans":{"get":{"x-products":["Core"],"tags":["Plans"],"summary":"Retrieve plans","operationId":"GetPlanCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of plans.\n\nTo retrieve plans by type, use `filter=type:{type}`,\nwhere `{type}` is `subscription`, `one-time-sale`, or `trial-only`.\nTo retrieve plans of several types, separate the types with commas,\nfor example: `filter=type:one-time-sale,trial-only`.\nOther `type` values, including negated values such as `type:!subscription`,\nmatch no plans.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of plans retrieved.","headers":{"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/Plan"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$plans = $client->plans()->search([\n    'filter' => 'name:TestPlan',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.plans.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.plans.getAll(params);\n\n// access the collection items, each item is a Plan\nsecondCollection.items.forEach(plan => console.log(plan.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plansPaginator = $service->plans()->getAllPaginator(limit: 5);\n\nforeach ($plansPaginator as $planPage) {\n    printf(\"Plans page %d/%d\\n\", $plansPaginator->key() + 1, $plansPaginator->count());\n    foreach ($planPage as $plan) {\n        printf(\"Plan #%s: %s\\n\", $plan->getId(), $plan->getProductId());\n    }\n}\n\n// OR\n\n$plans = $service->plans()->getAll(limit: 100);\nforeach ($plans as $plan) {\n    printf(\"Plan #%s: %s\\n\", $plan->getId(), $plan->getProductId());\n}"}]},"post":{"x-products":["Core"],"tags":["Plans"],"summary":"Create a plan","operationId":"PostPlan","x-sdk-operation-name":"create","description":"Creates a plan.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRequest"}}},"description":"Plan resource.","required":true},"responses":{"201":{"description":"Plan created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$planForm = new Rebilly\\Entities\\Plan();\n$planForm->setName('TestPlan');\n$planForm->setCurrency('USD');\n$planForm->setTrialAmount(1);\n$planForm->setTrialPeriodUnit('day');\n$planForm->setTrialPeriodLength(1);\n$planForm->setProductId('test-product');\n\ntry {\n    $plan = $client->plans()->create($planForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new plan\nconst data = {\n    name: 'My strongest plan',\n    currency: 'USD',\n    setupAmount: 12.99,\n    // you could also include a trial if needed\n    recurringPeriodUnit: 'month',\n    recurringPeriodLength: 1,\n    recurringAmount: 25.99\n};\n\n// the ID is optional\nconst firstPlan = await api.plans.create({data});\n\n// or you can provide one\nconst secondPlan = await api.plans.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plan = \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlan::from([])\n    ->setProductId('productId')\n    ->setName('Test plan')\n    ->setCurrency('USD')\n    ->setPricing(new \\Rebilly\\Sdk\\Model\\PlanFormulaFlatRate(['price' => 9.99]))\n    ->setRecurringInterval(\n        \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::from()\n            ->setUnit(\\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_MONTH)\n            ->setLength(1),\n    );\n\ntry {\n    $plan = $service->plans()->create($plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/plans/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Plans"],"summary":"Retrieve a plan","operationId":"GetPlan","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a plan with a specified ID.","responses":{"200":{"description":"Plan retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$plan = $client->plans()->load('planId');\n"},{"lang":"JavaScript","source":"const plan = await api.plans.get({id: 'foobar-001'});\nconsole.log(plan.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$plan = $service->plans()->get('planId');"}]},"put":{"x-products":["Core"],"tags":["Plans"],"summary":"Upsert a plan","operationId":"PutPlan","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a plan with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanRequest"}}},"description":"Plan resource.","required":true},"responses":{"200":{"description":"Plan updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"201":{"description":"Plan created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plan"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$planForm = new Rebilly\\Entities\\Plan();\n$planForm->setName('TestPlan');\n$planForm->setCurrency('USD');\n$planForm->setTrialAmount(1);\n$planForm->setTrialPeriodUnit('day');\n$planForm->setTrialPeriodLength(1);\n\ntry {\n    $plan = $client->plans()->update('planId', $planForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new plan\nconst data = {\n    name: 'My strongest plan',\n    currency: 'USD',\n    setupAmount: 12.99,\n    // you could also include a trial if needed\n    recurringPeriodUnit: 'month',\n    recurringPeriodLength: 1,\n    recurringAmount: 25.99\n};\n\n// the ID is optional\nconst firstPlan = await api.plans.create({data});\n\n// or you can provide one\nconst secondPlan = await api.plans.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$plan = new \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlan([\n    'recurringInterval' => [\n        'unit' => \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_WEEK,\n        'length' => 2,\n    ],\n]);\n\ntry {\n    $plan = $service->plans()->update('planId', $plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$plan = $service->plans()->get('planId');\n$plan->setRecurringInterval(new \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval([\n    'unit' => \\Rebilly\\Sdk\\Model\\PlanSubscriptionPlanRecurringInterval::UNIT_WEEK,\n    'length' => 2,\n]));\n\ntry {\n    $plan = $service->plans()->update('planId', $plan);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Plans"],"summary":"Delete a plan","operationId":"DeletePlan","x-sdk-operation-name":"delete","description":"Deletes a plan with a specified ID.","responses":{"204":{"description":"Plan deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->plans()->delete('planId');\n"},{"lang":"JavaScript","source":"const request = await api.plans.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->plans()->delete('planId');"}]}},"/products":{"get":{"x-products":["Core"],"tags":["Products"],"summary":"Retrieve products","operationId":"GetProductCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of products.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of products retrieved.","headers":{"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/Product"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.products.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.products.getAll(params);\n\n// access the collection items, each item is a Product\nsecondCollection.items.forEach(product => console.log(product.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$productsPaginator = $service->products()->getAllPaginator(limit: 5);\nforeach ($productsPaginator as $productPage) {\n    printf(\"Products page %d/%d\\n\", $productsPaginator->key() + 1, $productsPaginator->count());\n    foreach ($productPage as $product) {\n        printf(\"Product #%s: %s\\n\", $product->getId(), $product->getName());\n    }\n}\n\n// OR\n\n$products = $service->products()->getAll(limit: 100);\nforeach ($products as $product) {\n    printf(\"Product #%s: %s\\n\", $product->getId(), $product->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Products"],"summary":"Create a product","operationId":"PostProduct","x-sdk-operation-name":"create","description":"Creates a product.","requestBody":{"$ref":"#/components/requestBodies/Product"},"responses":{"201":{"description":"Product created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the properties for the new product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '',\n    requiresShipping: true,\n    accountingCode: '100',\n    customFields: []\n};\n\n// the ID is optional\nconst firstProduct = await api.products.create({data});\n\n// or you can provide one\nconst secondProduct = await api.products.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$product = new \\Rebilly\\Sdk\\Model\\Product([\n    'name' => 'my first product',\n    'description' => 'made to be of the highest quality',\n    'taxCategoryId' => '',\n    'requiresShipping' => true,\n    'accountingCode' => '100',\n]);\n\ntry {\n    $product = $service->products()->create($product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/products/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Products"],"summary":"Retrieve a product","operationId":"GetProduct","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a product with a specified ID.","responses":{"200":{"description":"Product retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const product = await api.products.get({id: 'foobar-001'});\nconsole.log(product.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$product = $service->products()->get('productId');"}]},"put":{"x-products":["Core"],"tags":["Products"],"summary":"Upsert a product","operationId":"PutProduct","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a product with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Product"},"responses":{"200":{"description":"Product updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"201":{"description":"Product created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a new product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '',\n    requiresShipping: true,\n    accountingCode: '100',\n    customFields: []\n};\n\n// the ID is optional\nconst firstProduct = await api.products.create({data});\n\n// or you can provide one\nconst secondProduct = await api.products.create({id: 'my-second-key', data});\n\n\n\n// updating a product\nconst data = {\n    name: 'my first product',\n    description: 'made to be of the highest quality',\n    taxCategoryId: '20010',\n    requiresShipping: false,\n    accountingCode: '77',\n    customFields: []\n};\n\nconst product = await api.products.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$product = new \\Rebilly\\Sdk\\Model\\Product([\n    'requiresShipping' => false,\n    'accountingCode' => '101',\n]);\n\ntry {\n    $product = $service->products()->update('productId', $product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$product = $service->products()->get('productId');\n$product->setRequiresShipping(false)\n    ->setAccountingCode('101');\n\ntry {\n    $product = $service->products()->update('productId', $product);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Products"],"summary":"Delete a product","operationId":"DeleteProduct","x-sdk-operation-name":"delete","description":"Deletes a product with a specified ID.","responses":{"204":{"description":"Product deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.products.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->products()->delete('productId');"}]}},"/quotes":{"get":{"x-products":["Core"],"tags":["Quotes"],"summary":"Retrieve quotes","operationId":"GetQuoteCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of quotes.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of quotes retrieved.","headers":{"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/Quote"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Create a quote","operationId":"PostQuote","x-sdk-operation-name":"create","description":"Creates a quote.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}},"required":true},"responses":{"201":{"description":"Quote created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Quotes"],"summary":"Retrieve a quote","operationId":"GetQuote","x-sdk-operation-name":"get","description":"Retrieves a quote with a specified ID.","parameters":[{"$ref":"#/components/parameters/mediaTypeJsonPdf"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Quote retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Quotes"],"summary":"Upsert a quote","operationId":"PutQuote","x-sdk-operation-name":"update","description":"Creates or updates a quote with a specified ID.\n\nThe update operation can only be used for quotes with a `status` of `draft`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}},"required":true},"responses":{"200":{"description":"Quote updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"201":{"description":"Quote created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/accept":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Accept a quote","operationId":"PostQuoteAcceptance","x-sdk-operation-name":"accept","description":"Accepts an issued quote with a specified ID.","responses":{"200":{"description":"Quote accepted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/cancel":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Cancel a quote","operationId":"PostQuoteCancellation","x-sdk-operation-name":"cancel","description":"Cancels a draft or issued quote with a specified ID.","responses":{"200":{"description":"Quote canceled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Issue a quote","operationId":"PostQuoteIssuance","x-sdk-operation-name":"issue","description":"Issues a draft quote with a specified ID.","responses":{"200":{"description":"Quote issued.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/recall":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Recall a quote","operationId":"PostQuoteRecall","x-sdk-operation-name":"recall","description":"Recalls an issued quote with a specified ID so that it can be edited.\nRecalled quotes are assigned the `status` of `draft`.","responses":{"200":{"description":"Quote recalled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/reissue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Quotes"],"summary":"Reissue a quote","operationId":"PostQuoteReissue","x-sdk-operation-name":"reissue","description":"Reissues an expired, canceled, or rejected quote with a specified ID.\nThis operation assigns the quote the `status` of `issued`,\nclears the `canceledTime` and `rejectedTime` fields,\nand resets the fulfilled acceptance conditions.\nIf the request omits `expirationTime`, the quote keeps its expiration time when it has not passed,\notherwise the quote expires one month after it is reissued.\n\nThis operation restores the voided quotation invoice to the `quotation` status,\nand recalculates the invoice from the current quote items and order.\nReissuing a quote triggers the same webhooks, rules, and timeline entries as issuing it.\nTo reissue a change or reactivation quote, the order must still allow that quote type,\nand no other draft or issued quote may exist for the same order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteReissue"}}},"description":"Quote reissue resource."},"responses":{"200":{"description":"Quote reissued.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/reject":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/quotes/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Quotes timeline"],"summary":"Retrieve quote timeline messages","operationId":"GetQuoteTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves quote timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of quote timeline messages retrieved.","headers":{"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/QuoteTimeline"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Quotes timeline"],"summary":"Create a quote timeline comment","operationId":"PostQuoteTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a quote timeline comment or custom defined event.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteTimeline"}}},"description":"Quote timeline resource.","required":true},"responses":{"201":{"description":"Quote timeline comment or custom defined event created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/quotes/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the quote timeline message.","required":true,"schema":{"type":"string"}}]},"/ready-to-pay":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Ready to pay","operationId":"PostReadyToPay","x-sdk-operation-name":"readyToPay","x-sdk-resource":"Purchase","description":"Retrieves available payment methods for a specific transaction or purchase.\n\nThe order in which the payment methods are displayed to the customer should be the same as the order in the response.\n\nThe list of payment methods is generated from available gateway accounts and the last matched `adjust-ready-to-pay` action on the `ready-to-pay-requested` event.\nIf no rules match for the specific request, all methods supported by the gateway accounts are sent.\n\nTo invert this behavior, place an all matching rule at the end of the `ready-to-pay-requested` event in the rules engine,\nand include an empty `paymentMethods` property for the `adjust-ready-to-pay` action.\n\nFor more information, see [Update event rules](https://www.rebilly.com/catalog/all/rules#operation/PutEventRule) and [Gateway accounts](https://www.rebilly.com/catalog/all/gateway-accounts).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostReadyToPayRequest"}}}},"responses":{"200":{"description":"Payment methods retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReadyToPayMethods"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$readyToPayForm = new Rebilly\\Entities\\ReadyToPay();\n$readyToPayForm->setCurrency('USD');\n$readyToPayForm->setAmount(10);\n$readyToPayForm->setWebsiteId('websiteId');\n$readyToPayForm->setCustomerId('customerId');\n\n$riskMetadata = new Rebilly\\Entities\\RiskMetadata();\n$riskMetadata->setFingerprint('fingerprint');\n$readyToPayForm->setRiskMetadata($riskMetadata);\n\ntry {\n    $transaction = $client->transactions()->create($readyToPayForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$readyToPayForm = new \\Rebilly\\Sdk\\Model\\ReadyToPayAmount();\n$readyToPayForm->setCurrency('USD');\n$readyToPayForm->setAmount(10);\n$readyToPayForm->setWebsiteId('websiteId');\n$readyToPayForm->setCustomerId('customerId');\n\n$riskMetadata = new \\Rebilly\\Sdk\\Model\\RiskMetadata();\n$riskMetadata->setFingerprint('fingerprint');\n$readyToPayForm->setRiskMetadata($riskMetadata);\n\ntry {\n    $transactions = $service->purchase()->readyToPay($readyToPayForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/shipping-rates":{"get":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Retrieve shipping rates","operationId":"GetShippingRateCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of shipping rates.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of shipping rates retrieved.","headers":{"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/ShippingRate"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.shippingRates.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.shippingRates.getAll(params);\n\n// access the collection items, each item is a ShippingRate\nsecondCollection.items.forEach(shippingRate => console.log(shippingRate.fields.name));\n"}]}},"/shipping-rates/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Retrieve a shipping rate","operationId":"GetShippingRate","x-sdk-operation-name":"get","description":"Retrieves a shipping rate with a specified ID.","responses":{"200":{"description":"Shipping rate retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const shippingRate = await api.shippingRates.get({id: 'foobar-001'});\nconsole.log(shippingRate.fields.name);\n"}]},"put":{"x-products":["Core"],"tags":["Shipping rates"],"summary":"Create a shipping rate with ID","operationId":"PutShippingRate","x-sdk-operation-name":"update","description":"Creates a shipping rate with a specified ID.","responses":{"200":{"description":"Shipping rate updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"201":{"description":"Shipping rate created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShippingRate"}}},"description":"Shipping rate resource.","required":true},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a new shipping rate\nconst data = {\n    name: 'free shipping',\n    filter: '',\n    price: 0,\n    currency: 'USD'\n};\n\n// the ID is optional\nconst firstRate = await api.shippingRates.create({data});\n\n// or you can provide one\nconst secondRate = await api.shippingRates.create({id: 'my-second-key', data});\n\n\n// updating a shipping rate\nconst data = {\n  name: 'regular shipping',\n  filter: '',\n  price: 9.99,\n  currency: 'USD'\n};\n\nconst shippingRate = await api.shippingRates.update({id: 'my-second-key', data});\n"}]}},"/orders":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve orders","operationId":"GetOrderCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a collection of orders.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/orderExpand"}],"responses":{"200":{"description":"List of orders retrieved.","headers":{"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/Order"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Create an order","operationId":"PostOrder","x-sdk-operation-name":"create","description":"Creates an order.","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Order resource."},"responses":{"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/orders/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order","operationId":"GetOrder","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"parameters":[{"$ref":"#/components/parameters/orderExpand"}],"description":"Retrieves an order with a specified ID.","responses":{"200":{"description":"Order retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Upsert an order","operationId":"PutOrder","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an order with a specified ID.","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}},"description":"Order resource."},"responses":{"200":{"description":"Order updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order rejected.\nFor example, the renewal time cannot change while the next invoice is already issued with a scheduled change.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/orders/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an upcoming order invoice","operationId":"GetOrderUpcomingInvoice","x-sdk-operation-name":"getUpcomingInvoice","description":"Retrieves an upcoming invoice for a specified order.\n\nAn upcoming invoice is an invoice that has not been issued.\nIt functions as a preview of the next invoice for the order.\nFor more information, see [Invoices](https://www.rebilly.com/docs/dev-docs/invoices/).","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Upcoming invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderUpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/order-pauses":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order pauses","operationId":"GetOrderPauseCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order pauses.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order pauses retrieved.","headers":{"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/OrderPause"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Pause an order","operationId":"PostOrderPause","x-sdk-operation-name":"pause","description":"Pauses an order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}},"description":"Pause resource.","required":true},"responses":{"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-pauses/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order pause","operationId":"GetOrderPause","x-sdk-operation-name":"get","description":"Retrieves an order pause with a specified ID.","responses":{"200":{"description":"Pause retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Update an order pause","operationId":"PutOrderPause","x-sdk-operation-name":"update","description":"Updates an order pause with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"responses":{"200":{"description":"Pause updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders"],"summary":"Delete an order pause","operationId":"DeleteOrderPause","x-sdk-operation-name":"delete","description":"Deletes an order pause with a specified ID.\nIf the specified pause is `pending`, it is `revoked`.\nIf the specified pause is `ongoing`, it is `finished`.","responses":{"204":{"description":"Order pause revoked or finished.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-changes":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order changes","operationId":"GetOrderChangeCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order changes.\nTo find the pending change of an order, use `filter=orderId:{orderId};status:pending`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order changes retrieved.","headers":{"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/OrderChange"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Change order items","operationId":"PostOrderChange","x-sdk-operation-name":"create","description":"Changes the items of an order immediately, or schedules the change for the next renewal.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}},"description":"Order change resource.","required":true},"responses":{"201":{"description":"Order change created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Order change rejected.\nFor example, the order is in trial, the next renewal invoice is already issued,\nor the new items are the same as the current items.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-changes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order change","operationId":"GetOrderChange","x-sdk-operation-name":"get","description":"Retrieves an order change with a specified ID.","responses":{"200":{"description":"Order change retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders"],"summary":"Upsert an order change","operationId":"PutOrderChange","x-sdk-operation-name":"update","description":"Creates an order change with a specified ID, or replaces the items of a pending order change.\nA change that is not pending cannot be updated.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"responses":{"200":{"description":"Order change updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"201":{"description":"Order change created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderChange"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"Order change rejected, or the change is not pending.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders"],"summary":"Cancel an order change","operationId":"DeleteOrderChange","x-sdk-operation-name":"delete","description":"Cancels a pending order change with a specified ID.\nThe current items of the order stay as they are.\nA change cannot be canceled after it is locked by an issued invoice, applied, canceled, or superseded.","responses":{"204":{"description":"Order change canceled.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-cancellations":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order cancellation collection","operationId":"GetOrderCancellationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order cancellations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of canceled orders retrieved.","headers":{"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/OrderCancellation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Cancel an order","operationId":"PostOrderCancellation","x-sdk-operation-name":"create","description":"Cancels an order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}},"description":"Cancellation resource.","required":true},"responses":{"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/order-cancellations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order cancellation","operationId":"GetOrderCancellation","x-sdk-operation-name":"get","description":"Retrieves an order cancellation with a specified ID.","responses":{"200":{"description":"Order cancellation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/order-reactivations":{"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve order reactivations","operationId":"GetOrderReactivationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of order reactivations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of order reactivations retrieved.","headers":{"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/OrderReactivation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.orderReactivations.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.orderReactivations.getAll(params);\n\n// access the collection items, each item is a Member\nsecondCollection.items.forEach(order => console.log(order.fields.customerId));\n"}]}},"/order-reactivations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders"],"summary":"Retrieve an order reactivation","operationId":"GetOrderReactivation","x-sdk-operation-name":"get","description":"Retrieves an order reactivation with a specified ID.","responses":{"200":{"description":"Reactivation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const order = await api.orderReactivations.get({id: 'foobar-001'});\nconsole.log(order.fields.description);\n"}]}},"/subscriptions":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve orders","operationId":"GetSubscriptionCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of orders.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/subscriptionCollectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/subscriptionExpand"}],"responses":{"200":{"description":"List of orders retrieved.","headers":{"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/SubscriptionOrOneTimeSale"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptions = $client->subscriptions()->search([\n    'filter' => 'customerId:testCustomerId',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.subscriptions.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.subscriptions.getAll(params);\n\n// access the collection items, each item is a Subscription\nsecondCollection.items.forEach(subscription => console.log(subscription.fields.customerId));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$ordersPaginator = $service->subscriptions()->getAllPaginator(filter: 'customerId:testCustomerId');\nforeach ($ordersPaginator as $orderPage) {\n    printf(\"Orders page %d/%d\\n\", $ordersPaginator->key() + 1, $ordersPaginator->count());\n    foreach ($orderPage as $order) {\n        printf(\"Order #%s (%s): %s\\n\", $order->getId(), $order->getOrderType(), $order->getStatus());\n    }\n}\n\n// OR\n\n$orders = $service->subscriptions()->getAll(filter: 'customerId:testCustomerId', limit: 10);\nforeach ($orders as $order) {\n    printf(\"Order #%s (%s): %s\\n\", $order->getId(), $order->getOrderType(), $order->getStatus());\n}"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Create an order","operationId":"PostSubscription","x-sdk-operation-name":"create","description":"Creates an order.\n\nTo create or update an order with a specified ID, use the [`PUT /subscriptions/{id}`](https://www.rebilly.com/catalog/all/orders-(legacy)/putsubscription) operation.\n\nOrganizations that use the current order model cannot create legacy orders, and this operation returns a validation error for them.\nTo create an order with the current order model, use the [`POST /orders`](https://www.rebilly.com/catalog/all/orders/postorder) operation.","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/Subscription"},"responses":{"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionForm = new Rebilly\\Entities\\Subscription();\n$subscriptionForm->setCustomerId('customerId');\n$subscriptionForm->setWebsiteId('websiteId');\n$subscriptionForm->setItems([\n    [\n        'planId' => 'my-plan',\n        'quantity' => 1,\n    ],\n]);\n$subscriptionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $subscription = $client->subscriptions()->create($subscriptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new subscription\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    items: [\n        { plan: { id: 'my-plan-id' }, quantity: 1 },\n    ],\n    // you can append this subscription to\n    // an existing invoice by passing its ID\n    initialInvoiceId: 'my-existing-invoice-id',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    customFields: {}\n};\n\n// the ID is optional\nconst firstInvoice = await api.subscriptions.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.subscriptions.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$order = \\Rebilly\\Sdk\\Model\\Subscription::from()\n    ->setWebsiteId('websiteId')\n    ->setCustomerId('customerId')\n    ->setItems([\n        \\Rebilly\\Sdk\\Model\\SubscriptionOrOneTimeSaleItem::from()\n            ->setPlan(\n                \\Rebilly\\Sdk\\Model\\OriginalPlan::from()\n                    ->setId('planId')\n            )\n            ->setQuantity(1),\n    ]);\n\ntry {\n    $order = $service->subscriptions()->create($order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/subscriptions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve an order","operationId":"GetSubscription","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"description":"Retrieves an order with a specified ID.","responses":{"200":{"description":"Order retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscription = $client->subscriptions()->load('subscriptionId');\n"},{"lang":"JavaScript","source":"const subscription = await api.subscriptions.get({id: 'foobar-001'});\nconsole.log(subscription.fields.billingAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$order = $service->subscriptions()->get('orderId');"}]},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Upsert an order","operationId":"PutSubscription","x-sdk-operation-name":"update","description":"Creates or updates (upserts) an order with a specified ID.\n\nOrganizations that use the current order model cannot create legacy orders.\nFor these organizations, this operation only updates an existing order, and returns a validation error when the order does not exist.\nTo create an order with the current order model, use the [`POST /orders`](https://www.rebilly.com/catalog/all/orders/postorder) operation.","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/Subscription"},"responses":{"200":{"description":"Order updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"201":{"description":"Order created.","headers":{"Location":{"$ref":"#/components/headers/Location"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionForm = new Rebilly\\Entities\\Subscription();\n$subscriptionForm->setCustomerId('customerId');\n$subscriptionForm->setWebsiteId('websiteId');\n$subscriptionForm->setItems($subscriptionForm->createItems([\n    [\n        'planId' => 'my-plan',\n        'quantity' => 1,\n    ],\n]));\n$subscriptionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\ntry {\n    $subscription = $client->subscriptions()->update('subscriptionId', $subscriptionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a subscription\nconst data = {\n    customerId: 'foobar-0001',\n    websiteId: 'my-main-website',\n    items: [\n        { plan: { id: 'my-plan-id' }, quantity: 1 },\n    ],\n    // you can append this subscription to\n    // an existing invoice by passing its ID\n    initialInvoiceId: 'my-existing-invoice-id',\n    billingAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    deliveryAddress: {\n        firstName: 'Johnny',\n        lastName: 'Brown',\n        emails: [{\n            label: 'main',\n            value: 'johnny+test@grr.la',\n            primary: true\n        }],\n    },\n    customFields: {}\n};\n\n// the ID is optional\nconst firstInvoice = await api.subscriptions.create({data});\n\n// or you can provide one\nconst secondInvoice = await api.subscriptions.create({id: 'my-second-id', data});\n\n\n\n// updating a subscription\nconst data = {\n    // determines if a payment attempt will be automatic\n    autopay: false,\n    // set the next renewal time\n    renewalTime: '2018-09-26T15:34:29Z'\n};\n\nconst subscription = await api.subscriptions.update({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$order = new \\Rebilly\\Sdk\\Model\\Subscription([\n    'shipping' => new \\Rebilly\\Sdk\\Model\\ManualShipping([\n        'amount' => 14.99,\n    ]),\n]);\n\ntry {\n    $order = $service->subscriptions()->update('orderId', $order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n\n// OR\n\n$order = $service->subscriptions()->get('orderId');\n$order->setShipping(new \\Rebilly\\Sdk\\Model\\ManualShipping(['amount' => 14.99]));\n\ntry {\n    $order = $service->subscriptions()->update('orderId', $order);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a pending order","operationId":"DeleteSubscription","x-sdk-operation-name":"delete","description":"Deletes a pending order with a specified ID.","responses":{"204":{"description":"Pending order deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->subscriptions()->delete('orderId');"}]}},"/subscriptions/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Void a subscription order","operationId":"PostSubscriptionVoid","x-sdk-operation-name":"void","description":"Voids a pending order with a specified ID.","responses":{"201":{"description":"Order voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscription = $client->subscriptions()->void('subscriptionId');\n"},{"lang":"JavaScript","source":"const voidedSubscription = await api.subscriptions.void({id: 'my-subscription-id'});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$order = $service->subscriptions()->void('orderId');"}]}},"/orders/{id}/void":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Void an order","operationId":"PostOrderVoid","x-sdk-operation-name":"void","description":"Voids a pending order with a specified ID.","responses":{"201":{"description":"Order voided.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const voidedOrder = await api.orders.void({id: 'my-order-id'});\n"}]}},"/subscriptions/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Change subscription order items","operationId":"PostSubscriptionItemsChange","x-sdk-operation-name":"changeItems","parameters":[{"$ref":"#/components/parameters/subscriptionExpand"}],"description":"Changes the items or quantities of an order that contains subscription items and specifies if and when to give pro rata credits.\nTo change the items at the next renewal, use the `POST /order-changes` operation with `applyAt` set to `nextRenewal`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionChange"}}},"description":"Change items request.","required":true},"responses":{"201":{"description":"Order changed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSale"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order items rejected.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Change order items","operationId":"PostOrderItemsChange","x-sdk-operation-name":"changeItems","parameters":[{"$ref":"#/components/parameters/orderExpand"}],"description":"Changes order items or quantities and specifies if and when to give pro rata credits.\nTo change the items at the next renewal, use the `POST /order-changes` operation with `applyAt` set to `nextRenewal`.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderItemsChange"}}},"description":"Change items request.","required":true},"responses":{"201":{"description":"Order changed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Order"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Change to the order items rejected.\nFor example, the next renewal invoice is already issued with a pending order change.","$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the subscription item.","required":true,"schema":{"type":"string"}}]},"/orders/{id}/items/{itemId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"itemId","in":"path","description":"ID of the order item.","required":true,"schema":{"type":"string"}}],"patch":{"x-products":["Core"],"tags":["Orders"],"summary":"Update an order item","operationId":"PatchOrderItem","x-sdk-operation-name":"updateItem","description":"Updates an order item.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderItemUpdate"}}},"description":"Update item request.","required":true},"responses":{"200":{"description":"Order item updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionOrOneTimeSaleItem"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n  quantityFilled: 4,\n};\n\nconst order = await api.order.updateItem({\n  id: \"order-id\",\n  itemId: \"item-id\",\n  data,\n});\n"}]}},"/subscriptions/{id}/interim-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue an interim invoice","operationId":"PostSubscriptionInterimInvoice","x-sdk-operation-name":"createInterimInvoice","description":"Issues an interim invoice for a subscription order.\nUse this operation for plan changes and pro rata adjustments.\n\nThis process:\n\n  - Creates an invoice.\n  - Adds the subscription line items to the invoice.\n  - Issues the invoice.\n  - Optionally, applies payment to the invoice if a `transactionId` is supplied.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInvoice"}}},"description":"Issue an interim invoice.","required":true},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/interim-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Issue an interim invoice","operationId":"PostOrderInterimInvoice","x-sdk-operation-name":"createInterimInvoice","description":"Issues an interim invoice for an order.\nUse this operation for plan changes and pro rata adjustments.\n\nThis process:\n\n  - Creates an invoice.\n  - Adds the order line items to the invoice.\n  - Issues the invoice.\n  - Optionally, applies payment to the invoice if a `transactionId` is supplied.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionInvoice"}}},"description":"Issue an interim invoice.","required":true},"responses":{"201":{"description":"Invoice created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-pauses":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order pauses","operationId":"GetSubscriptionPauseCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order pauses.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of subscription order pauses retrieved.","headers":{"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/SubscriptionPause"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Pause a subscription order","operationId":"PostSubscriptionPause","x-sdk-operation-name":"pause","description":"Pauses a subscription order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}},"description":"Pause resource.","required":true},"responses":{"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-pauses/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order pause","operationId":"GetSubscriptionPause","x-sdk-operation-name":"get","description":"Retrieves a subscription order pause with a specified ID.","responses":{"200":{"description":"Pause retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Update a subscription order pause","operationId":"PutSubscriptionPause","x-sdk-operation-name":"update","description":"Updates a subscription order pause.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"responses":{"200":{"description":"Pause updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"201":{"description":"Pause created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionPause"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a subscription order pause","operationId":"DeleteSubscriptionPause","x-sdk-operation-name":"delete","description":"Deletes a subscription order pause with a specified ID.\nIf the specified pause is `pending`, it is `revoked`.\nIf the specified pause is `ongoing`, it is `finished`.","responses":{"204":{"description":"Subscription order pause revoked or finished.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscription-cancellations":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order cancellations","operationId":"GetSubscriptionCancellationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order cancellations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of canceled subscription orders retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellationsPaginator = $service->subscriptionCancellations()->getAllPaginator(\n    filter: 'reason:' . \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n);\nforeach ($cancellationsPaginator as $cancellationPage) {\n    printf(\"Cancellations page %d/%d\\n\", $cancellationsPaginator->key() + 1, $cancellationsPaginator->count());\n    foreach ($cancellationPage as $cancellation) {\n        printf(\n            \"Cancellation #%s (%s): %s\\n\",\n            $cancellation->getId(),\n            $cancellation->getStatus(),\n            $cancellation->getSubscriptionId(),\n        );\n    }\n}\n\n// OR\n\n$cancellations = $service->subscriptionCancellations()->getAll(\n    filter: 'reason:' . \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n    limit: 10,\n);\nforeach ($cancellations as $cancellation) {\n    printf(\n        \"Cancellation #%s (%s): %s\\n\",\n        $cancellation->getId(),\n        $cancellation->getStatus(),\n        $cancellation->getSubscriptionId(),\n    );\n}"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Cancel a subscription order","operationId":"PostSubscriptionCancellation","x-sdk-operation-name":"create","description":"Cancels a subscription order.","requestBody":{"$ref":"#/components/requestBodies/SubscriptionCancellation"},"responses":{"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$subscriptionCancellationForm = new Rebilly\\Entities\\SubscriptionCancellation();\n$subscriptionCancellationForm->setSubscriptionId('subscription-1');\n$subscriptionCancellationForm->setChurnTime(date('c'));\n\ntry {\n    $subscription = $client->subscriptionCancellations()->create($subscriptionCancellationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    churnTime: '2020-06-10T13:55:51Z',\n}\n\n// the ID is optional\nconst firstSubscriptionCancellation = await api.subscriptionCancellations.create({data});\n\n// or you can provide one\nconst secondSubscriptionCancellation = await api.subscriptionCancellations.create({id: 'custom-cancellation-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\SubscriptionCancellation([\n    'subscriptionId' => 'subscriptionId',\n    'churnTime' => new \\DateTimeImmutable(),\n    'canceledBy' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::CANCELED_BY_MERCHANT,\n    'reason' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->create($cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/subscription-cancellations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order cancellation","operationId":"GetSubscriptionCancellation","x-sdk-operation-name":"get","description":"Retrieves a subscription order cancellation with a specified ID.","responses":{"200":{"description":"Subscription order cancellation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$cancellation = $service->subscriptionCancellations()->get('cancellationId');"}]},"put":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Upsert a subscription order cancellation","operationId":"PutSubscriptionCancellation","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a subscription order cancellation with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/SubscriptionCancellation"},"responses":{"200":{"description":"Cancellation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"201":{"description":"Cancellation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    churnTime: '2020-06-10T13:55:51Z',\n}\n\n// the ID is optional\nconst firstSubscriptionCancellation = await api.subscriptionCancellations.create({data});\n\n// or you can provide one\nconst secondSubscriptionCancellation = await api.subscriptionCancellations.create({id: 'custom-cancellation-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\SubscriptionCancellation([\n    'subscriptionId' => 'subscriptionId',\n    'churnTime' => new \\DateTimeImmutable(),\n    'canceledBy' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::CANCELED_BY_MERCHANT,\n    'reason' => \\Rebilly\\Sdk\\Model\\SubscriptionCancellation::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->update('cancellationId', $cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"patch":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Update a subscription order cancellation","operationId":"PatchSubscriptionCancellation","x-sdk-operation-name":"patch","description":"Updates a subscription order cancellation with a specified ID.\nUse this operation to update a cancellation reason and description.","requestBody":{"content":{"application/json":{"schema":{"allOf":[{"properties":{"canceledBy":{"readOnly":true},"status":{"readOnly":true}}},{"$ref":"#/components/schemas/SubscriptionCancellation"}]}}},"description":"Patch cancellation resource.","required":true},"responses":{"200":{"description":"Cancellation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCancellation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$cancellation = new \\Rebilly\\Sdk\\Model\\PatchSubscriptionCancellationRequest([\n    'reason' => \\Rebilly\\Sdk\\Model\\PatchSubscriptionCancellationRequest::REASON_CONTRACT_EXPIRED,\n]);\n\ntry {\n    $cancellation = $service->subscriptionCancellations()->patch('cancellationId', $cancellation);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Delete a subscription order cancellation","operationId":"DeleteSubscriptionCancellation","x-sdk-operation-name":"delete","description":"Deletes a subscription order cancellation with a specified ID.\n\n> **Important:** Only subscription order cancellations with a `status` of `draft` can be deleted.","responses":{"204":{"description":"Subscription order cancellation deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->subscriptionCancellations()->delete('cancellationId');"}]}},"/subscription-reactivations":{"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve subscription order reactivations","operationId":"GetSubscriptionReactivationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of subscription order reactivations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of subscription order reactivations retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.subscriptionReactivations.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.subscriptionReactivations.getAll(params);\n\n// access the collection items, each item is a SubscriptionReactivation\nsecondCollection.items.forEach(subscription => console.log(subscription.fields.customerId));\n"}]},"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Reactivate a subscription order","operationId":"PostSubscriptionReactivation","x-sdk-operation-name":"reactivate","description":"Reactivates a subscription order with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}},"description":"Reactivation resource.","required":true},"responses":{"201":{"description":"Reactivation created. The order is now active.\nIf the order had a related cancellation with a `status` of `confirmed`, it is revoked.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const data = {\n    subscriptionId: 'sub_01HRF27SATGE4Z6PBJE6PD8328',\n    description: 'reactivation-reason',\n    effectiveTime: '2020-06-10T13:55:51Z',\n    renewalTime: '2020-07-10T13:55:51Z'\n};\n\nconst reactivatedSubscription = await api.subscriptionReactivations.reactivate({data});\n"}]}},"/subscription-reactivations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve a subscription order reactivation","operationId":"GetSubscriptionReactivation","x-sdk-operation-name":"get","description":"Retrieves a subscription order reactivation with a specified ID.","responses":{"200":{"description":"Reactivation retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionReactivation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const subscription = await api.subscriptionReactivations.get({id: 'foobar-001'});\nconsole.log(subscription.fields.description);\n"}]}},"/subscriptions/{id}/upcoming-invoices":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve upcoming subscription order invoice","operationId":"GetSubscriptionUpcomingInvoiceCollection","x-sdk-operation-name":"getAllUpcomingInvoices","description":"Retrieves an upcoming invoice for a specified subscription order.\n\nThis endpoint is deprecated.\nUse [Retrieve an upcoming subscription order invoice](https://www.rebilly.com/catalog/all/orders-(legacy)/getsubscriptionupcominginvoice) instead.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"deprecated":true,"responses":{"200":{"description":"Upcoming invoices retrieved.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpcomingInvoice"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/subscriptions/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Retrieve an upcoming subscription order invoice","operationId":"GetSubscriptionUpcomingInvoice","x-sdk-operation-name":"getUpcomingInvoice","description":"Retrieves an upcoming invoice for a specified subscription order.\n\nAn upcoming invoice is an invoice that has not been issued.\nIt functions as a preview of the next invoice for the order.\nFor more information, see [Invoices](https://www.rebilly.com/docs/dev-docs/invoices/).","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Upcoming invoice retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/subscriptions/{id}/upcoming-invoice/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue an upcoming invoice for early pay","operationId":"PostSubscriptionUpcomingInvoiceIssuance","x-sdk-operation-name":"issueEarlyUpcomingInvoice","description":"Issues an upcoming invoice, for a subscription order with a specified ID, for early pay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/orders/{id}/upcoming-invoice/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Orders"],"summary":"Issue an upcoming invoice for early pay","operationId":"PostOrderUpcomingInvoiceIssuance","x-sdk-operation-name":"issueEarlyUpcomingInvoice","description":"Issues an upcoming invoice, for an order with a specified ID, for early pay.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/upcoming-invoices/{invoiceId}/issue":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"invoiceId","in":"path","description":"ID of the upcoming invoice.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Issue a specific upcoming invoice for early pay","operationId":"PostUpcomingInvoiceIssuance","x-sdk-operation-name":"issueUpcomingInvoice","deprecated":true,"description":"Issues an upcoming invoice with a specified ID for early pay.\n\nThis endpoint is deprecated.\nUse [Issue an upcoming invoice for early pay](https://www.rebilly.com/catalog/all/orders-(legacy)/postsubscriptionupcominginvoiceissuance) instead.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceIssue"}}},"description":"InvoiceIssue resource.","required":true},"responses":{"201":{"description":"Upcoming invoice issued.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpcomingInvoice"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/subscriptions/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Retrieve order timeline messages","operationId":"GetSubscriptionTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of order timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of order timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.subscriptions\n    .getAllTimelineMessages({id: 'my-transaction'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-transaction', limit: 20, offset: 100};\nconst secondCollection = await api.subscriptions.getAllTimelineMessages(params);\n\n// access the collection items, each item is a SubscriptionTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Create an order timeline comment","operationId":"PostSubscriptionTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .subscriptions.createTimelineComment({id: 'my-subscription-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #subscriptions-subscription-id`;\nconst params = {\n    id: 'my-subscription-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.subscriptions.createTimelineComment(params);"}]}},"/subscriptions/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the order timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Orders timeline"],"summary":"Retrieve an order timeline message","operationId":"GetSubscriptionTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves an order timeline message with a specified ID.","responses":{"200":{"description":"Order timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.subscriptions\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]}},"/usages":{"get":{"x-products":["Core"],"tags":["Usage"],"summary":"Retrieve usage records","operationId":"GetUsageCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of usage records.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of usage records retrieved.","headers":{"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/Usage"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Usage"],"summary":"Create a usage record","operationId":"PostUsage","x-sdk-operation-name":"create","description":"Creates a usage report.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"responses":{"201":{"description":"Usage record created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Usage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/usages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"delete":{"x-products":["Core"],"tags":["Usage"],"summary":"Delete a usage record","operationId":"DeleteUsage","x-sdk-operation-name":"delete","description":"Deletes a usage record with a specified ID.","responses":{"204":{"description":"Usage record deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags":{"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve tags","operationId":"GetTagCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of tags.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of tags retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$tagsPaginator = $service->tags()->getAllPaginator(limit: 5);\nforeach ($tagsPaginator as $tagPage) {\n    printf(\"Tags page %d/%d\\n\", $tagsPaginator->key() + 1, $tagsPaginator->count());\n    foreach ($tagPage as $tag) {\n        printf(\"Tag #%s: %s\\n\", $tag->getId(), $tag->getName());\n    }\n}\n\n// OR\n\n$tags = $service->tags()->getAll();\nforeach ($tags as $tag) {\n    printf(\"Tag #%s: %s\\n\", $tag->getId(), $tag->getName());\n}"}]},"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Create a tag","operationId":"PostTag","x-sdk-operation-name":"create","description":"Creates a tag.","requestBody":{"$ref":"#/components/requestBodies/Tag"},"responses":{"201":{"description":"Tag created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$tagForm = new \\Rebilly\\Sdk\\Model\\Tag();\n$tagForm->setName('tag-name');\n$tagForm->setType(\\Rebilly\\Sdk\\Model\\Tag::TYPE_CUSTOMER);\n\ntry {\n    $service->tags()->create($tagForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/tags/{tag}":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/customers":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/customers/{customerId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"$ref":"#/components/parameters/customerId"}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag a customer","operationId":"PostTagCustomer","x-sdk-operation-name":"tagCustomer","description":"Tags a customer.","responses":{"204":{"description":"Customer tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag a customer","operationId":"DeleteTagCustomer","x-sdk-operation-name":"untagCustomer","description":"Untags a customer.","responses":{"204":{"description":"Customer untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags/{tag}/kyc-documents":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/kyc-documents/{kycDocumentId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"$ref":"#/components/parameters/kycDocumentId"}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag a KYC document","operationId":"PostTagKycDocument","x-sdk-operation-name":"tagKycDocument","description":"Tags a KYC document.","responses":{"204":{"description":"KYC document tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag a KYC document","operationId":"DeleteTagKycDocument","x-sdk-operation-name":"untagKycDocument","description":"Untags a KYC document.","responses":{"204":{"description":"KYC document untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags/{tag}/aml-checks":{"parameters":[{"$ref":"#/components/parameters/tag"}]},"/tags/{tag}/aml-checks/{amlCheckId}":{"parameters":[{"$ref":"#/components/parameters/tag"},{"name":"amlCheckId","in":"path","description":"ID of the AML check to tag.","required":true,"schema":{"type":"string"}}],"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Tag an AML check","operationId":"PostTagAmlCheck","x-sdk-operation-name":"tagAmlCheck","description":"Tags an AML check.\n\nIf an AML check in the list does not have the specified tag applied, the AML check is ignored.","responses":{"204":{"description":"AML check tagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Core"],"tags":["Tags"],"summary":"Untag an AML check","operationId":"DeleteTagAmlCheck","x-sdk-operation-name":"untagAmlCheck","description":"Untags an AML check.\n\nIf an AML check in the list does not have the specified tag applied, the AML check is ignored.","responses":{"204":{"description":"AML check untagged.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tokens":{"post":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Create a payment token","operationId":"PostToken","x-sdk-operation-name":"create","x-sdk-resource":"PaymentTokens","description":"Creates a payment token which can be exchanged into a payment instrument.\n[FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) is the recommended way to create a payment token because it minimizes PCI DSS compliance.\nOnce a payment token is created, it can only be used once.\n\nA payment token expires upon first use or within 30 minutes of the token creation, whichever comes first.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}},"description":"Payment token resource.","required":true},"security":[{"PublishableApiKey":[]},{"SecretApiKey":[]},{"JWT":[]}],"responses":{"201":{"description":"Token created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardTokenForm = new Rebilly\\Entities\\PaymentCardToken();\n$paymentCardTokenForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\n$paymentInstrumentForm = new Entities\\PaymentInstruments\\PaymentCardPaymentInstrument();\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setCvv(123);\n\n$paymentCardTokenForm->setPaymentInstrument($paymentInstrumentForm);\n\ntry {\n    $paymentCardToken = $client->paymentCardTokens()->create($paymentCardTokenForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new payment token\nconst data = {\n    method: 'payment-card',\n    paymentInstrument: {\n        pan: '4111111111111111',\n        expYear: 2022,\n        expMonth: 12,\n        cvv: '123'\n    },\n    billingAddress: {\n      firstName: 'Johnny',\n      lastName: 'Brown',\n      emails: [{\n          label: 'main',\n          value: 'johnny+test@grr.la',\n          primary: true\n      }]\n    }\n};\n\nconst token = await api.paymentTokens.create({data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentCardTokenForm = new \\Rebilly\\Sdk\\Model\\PaymentCardToken();\n$paymentCardTokenForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n]);\n\n$paymentInstrumentForm = new \\Rebilly\\Sdk\\Model\\PaymentCardTokenPaymentInstrument();\n$paymentInstrumentForm->setPan('4111111111111111');\n$paymentInstrumentForm->setExpYear(2025);\n$paymentInstrumentForm->setExpMonth(8);\n$paymentInstrumentForm->setCvv('123');\n\n$paymentCardTokenForm->setPaymentInstrument($paymentInstrumentForm);\n\ntry {\n    $paymentCardToken = $service->paymentTokens()->create($paymentCardTokenForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"get":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Retrieve tokens","operationId":"GetTokenCollection","x-sdk-operation-name":"getAll","x-sdk-resource":"PaymentTokens","description":"Retrieve a list of tokens.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of tokens retrieved.","headers":{"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/CompositeToken"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardTokens = $client->paymentCardTokens()->search([\n    'filter' => 'token:string',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.paymentTokens.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.paymentTokens.getAll(params);\n\n// access the collection items, each item is a Token\nsecondCollection.items.forEach(paymentToken => console.log(paymentToken.fields.id));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$paymentCardTokensPaginator = $service->paymentTokens()->getAllPaginator(limit: 5);\nforeach ($paymentCardTokensPaginator as $paymentCardTokensPage) {\n    printf(\"Payment card tokens page %d/%d\\n\", $paymentCardTokensPaginator->key() + 1, $paymentCardTokensPaginator->count());\n    foreach ($paymentCardTokensPage as $paymentCardToken) {\n        printf(\"Payment card token #%s\\n\", $paymentCardToken->getId());\n    }\n}\n\n// OR\n\n$paymentCardTokens = $service->paymentTokens()->getAll();\nforeach ($paymentCardTokens as $paymentCardToken) {\n    printf(\"Payment card token #%s\\n\", $paymentCardToken->getId());\n}"}]}},"/tokens/{token}":{"parameters":[{"name":"token","in":"path","description":"ID of the token.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Retrieve a token","operationId":"GetToken","x-sdk-operation-name":"get","x-sdk-resource":"PaymentTokens","description":"Retrieves a token with a specified ID.","security":[{"PublishableApiKey":[]}],"responses":{"200":{"description":"Token retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositeToken"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$paymentCardToken = $client->paymentCardTokens()->load('tokenId');\n"},{"lang":"JavaScript","source":"const paymentToken = await api.paymentTokens.get({id: 'foobar-001'});\nconsole.log(paymentToken.fields.method);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$paymentCardToken = $service->paymentTokens()->get('tokenId');"}]}},"/digital-wallets/validation":{"post":{"x-products":["Core"],"tags":["Payment tokens"],"summary":"Validate a digital wallet session","operationId":"PostDigitalWalletValidation","x-sdk-operation-name":"validate","description":"Validates a digital wallet session.\n\nWe recommend using [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) to validate a digital wallet session.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletValidation"}}},"description":"Digital wallet validation request.","required":true},"security":[{"PublishableApiKey":[]},{"SecretApiKey":[]},{"JWT":[]}],"responses":{"201":{"description":"Digital wallet validation complete.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletValidation"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Create a transaction","operationId":"PostTransaction","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a transaction of type `sale`, `authorize` or `setup`.\n\nUse this operation for the following transactions.\n\n#### Real-time decision and response\n\nIn this transaction, you send a request and inspect the `result` of the response for `approved` or `declined`.\n\n#### User approval/interaction required\n\nIn this transaction, user approval is required to complete the transaction.\nUser approval generally requires the user to interact with a third party,\nand is common in many transactions for alternative methods.\nFor example, PayPal requires user permission to complete a payment or to accept a billing agreement.\nPayment cards may also require user approval for 3D secure authentication.\n\nIf approval is required, you receive a response with a `result` value of `unknown` and a `status` value of `waiting-approval`.\nThe `_links` property of the response has a link for the `approvalUrl`.\nOpen the `approvalUrl` in an iframe or in a pop. A pop is a better workflow for mobile devices.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/TransactionRequest"},"responses":{"201":{"description":"Transaction created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transactionForm = new Rebilly\\Entities\\Transaction();\n$transactionForm->setType('sale');\n$transactionForm->setCustomerId('customerId');\n$transactionForm->setWebsiteId('websiteId');\n$transactionForm->setCurrency('USD');\n$transactionForm->setAmount(1);\n\n$paymentInstruction = new Rebilly\\Entities\\Transactions\\PaymentInstructions\\PaymentTokenInstruction();\n$paymentInstruction->setToken('payment-token');\n$transactionForm->setPaymentInstruction($paymentInstruction);\n\n$transactionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n    'dob' => '2000-06-01',\n]);\n\ntry {\n    $transaction = $client->transactions()->create($transactionForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new transaction\nconst data = {\n    customerId: 'foobar-0001',\n    type: 'sale',\n    websiteId: 'my-main-website',\n    paymentInstrument: {\n        method: 'payment-card',\n        paymentCardId: 'my-payment-card-id',\n        gatewayAccountId: 'my-gateway-account-id'\n    },\n    currency: 'USD',\n    amount: 12.99,\n    description: 'manual transaction',\n};\n\nconst transaction = await api.transactions.create({data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionForm = new \\Rebilly\\Sdk\\Model\\PostTransactionRequest([\n    'type' => 'sale',\n    'amount' => 1,\n]);\n$transactionForm->setCustomerId('customerId');\n$transactionForm->setWebsiteId('websiteId');\n$transactionForm->setCurrency('USD');\n\n$paymentInstruction = new \\Rebilly\\Sdk\\Model\\PaymentInstructionToken();\n$paymentInstruction->setToken('payment-token');\n$transactionForm->setPaymentInstruction($paymentInstruction);\n\n$transactionForm->setBillingAddress([\n    'firstName' => 'John',\n    'lastName' => 'Doe',\n    'organization' => 'Test LTD',\n    'address' => 'Test street 5',\n    'address2' => 'Test house 5',\n    'city' => 'New York',\n    'region' => 'Long Island',\n    'country' => 'US',\n    'postalCode' => '123456',\n    'emails' => [\n        [\n            'label' => 'main',\n            'value' => 'johndoe@testemail.com',\n            'primary' => true,\n        ],\n        [\n            'label' => 'secondary',\n            'value' => 'otheremail@testemail.com',\n        ],\n    ],\n    'phoneNumbers' => [\n        [\n            'label' => 'work',\n            'value' => '+123456789',\n            'primary' => true,\n        ],\n        [\n            'label' => 'home',\n            'value' => '+9874654321',\n        ],\n    ],\n    'dob' => '2000-06-01',\n]);\n\ntry {\n    $transaction = $service->transactions()->create($transactionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"get":{"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve transactions","operationId":"GetTransactionCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves 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"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of transactions retrieved.","headers":{"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/Transaction"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transactions = $client->transactions()->search([\n    'filter' => 'result:approved',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.transactions.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.transactions.getAll(params);\n\n// access the collection items, each item is a Transaction\nsecondCollection.items.forEach(transaction => console.log(transaction.fields.type));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionsPaginator = $service->transactions()->getAllPaginator(limit: 5, filter: 'result:approved');\nforeach ($transactionsPaginator as $transactionsPage) {\n    printf(\"Transactions page %d/%d\\n\", $transactionsPaginator->key() + 1, $transactionsPaginator->count());\n    foreach ($transactionsPage as $transaction) {\n        printf(\"Transaction #%s (%s): %s\\n\", $transaction->getId(), $transaction->getStatus(), $transaction->getDescription());\n    }\n}\n\n// OR\n\n$transactions = $service->transactions()->getAll(filter: 'result:approved');\nforeach ($transactions as $transaction) {\n    printf(\"Transaction #%s (%s): %s\\n\", $transaction->getId(), $transaction->getStatus(), $transaction->getDescription());\n}"}]}},"/transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve a transaction","operationId":"GetTransaction","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a transaction with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/mediaTypeJsonPdf"}],"responses":{"200":{"description":"Transaction retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transaction = $client->transactions()->load('transactionId');\n"},{"lang":"JavaScript","source":"const transaction = await api.transactions.get({id: 'foobar-001'});\nconsole.log(transaction.fields.billingAddress.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$transaction = $service->transactions()->get('transactionId');"}]},"patch":{"x-products":["Core"],"tags":["Transactions"],"summary":"Update a transaction","operationId":"PatchTransaction","x-sdk-operation-name":"patch","description":"Updates the custom fields of a transaction with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchTransactionRequest"},"responses":{"200":{"description":"Transaction updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"try {\n    $transaction = $client->transactions()->patch($transactionId, $data);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the custom fields to update for the transaction\nconst data = {\n    customFields: {\n        'myCustomField': 'myCustomData',\n        'myOtherField': 'myOtherData',        \n    }\n};\n\nconst transaction = await api.transactions.patch({id: 'my-transaction-id', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionForm = new \\Rebilly\\Sdk\\Model\\PatchTransactionRequest();\n$transactionForm->setCustomFields([\n    [\n        'name' => 'customField',\n        'value' => 'customValue',\n    ],\n]);\n\ntry {\n    $transaction = $service->transactions()->patch('transactionId', $transactionForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payouts":{"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Create a credit transaction","operationId":"PostPayout","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a transaction of type `credit`.","requestBody":{"$ref":"#/components/requestBodies/CreditTransactionRequest"},"responses":{"201":{"description":"Transaction created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/query":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Query a transaction","operationId":"PostTransactionQuery","x-sdk-operation-name":"query","description":"Queries a transaction with a specified ID.\n\nThe query interacts with the related gateway account to obtain the result, amount, and currency.\nIf after analysis, the transaction must be updated, see [Update a transaction status](https://www.rebilly.com/catalog/all/transactions/posttransactionupdate).","responses":{"201":{"description":"Transaction queried.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionQuery"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/update":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Update a transaction status","operationId":"PostTransactionUpdate","x-sdk-operation-name":"update","description":"Updates the status of a transaction with a specified ID to `completed`,\nwith a specified `result` and optional currency and amount values.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionUpdate"}}},"required":true},"responses":{"200":{"description":"Transaction updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/transactions/{id}/refund":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Core"],"tags":["Transactions"],"summary":"Refund a transaction","operationId":"PostTransactionRefund","x-sdk-operation-name":"refund","description":"Refunds a transaction with a specified ID.\n\nThe refund is in the same currency as the original transaction.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionRefund"}}},"description":"Transaction resource.","required":true},"responses":{"201":{"description":"Transaction refunded.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$transaction = $client->transactions()->refund('transactionId', 1.99);\n"},{"lang":"JavaScript","source":"// define the refund amount\nconst data = {\n    amount: 12.99\n};\n\nconst refund = await api.transactions.switch({id: 'my-transaction-id', data});\nconsole.log(refund.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$transactionRefund = new \\Rebilly\\Sdk\\Model\\TransactionRefund();\n$transactionRefund->setAmount(1.99);\n\n$transaction = $service->transactions()->refund('transactionId', $transactionRefund);"}]}},"/transactions/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve transaction timeline messages","operationId":"GetTransactionTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of transaction timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of transaction timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.transactions\n    .getAllTimelineMessages({id: 'my-transaction'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-transaction', limit: 20, offset: 100};\nconst secondCollection = await api.transactions.getAllTimelineMessages(params);\n\n// access the collection items, each item is a TransactionTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Create a transaction timeline comment","operationId":"PostTransactionTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates 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 created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .transactions.createTimelineComment({id: 'my-transaction-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #transactions-transaction-id`;\nconst params = {\n    id: 'my-transaction-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.transactions.createTimelineComment(params);"}]}},"/transactions/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the transaction timeline message.","required":true,"schema":{"type":"string"}}],"get":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve a transaction Timeline message","operationId":"GetTransactionTimeline","x-sdk-operation-name":"getTimelineMessage","description":"Retrieves a timeline message with a specified ID.","responses":{"200":{"description":"Timeline message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const message = await api.transactions\n    .getTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\nconsole.log(message.fields.eventType);"}]},"delete":{"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Delete a transaction timeline message","operationId":"DeleteTransactionTimeline","x-sdk-operation-name":"deleteTimelineMessage","description":"Deletes a transaction timeline message with a specified ID.","responses":{"204":{"description":"Transaction timeline message deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.transactions\n    .deleteTimelineMessage({id: 'foobar-001', messageId: 'message-202'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/fees/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/api-keys":{"get":{"x-products":["Users"],"tags":["API keys"],"summary":"Retrieve API keys","operationId":"GetApiKeyCollection","x-sdk-operation-name":"getAll","description":"Retrieve a list of API keys.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of API keys retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeys = $client->apiKeys()->search([\n    'filter' => 'description:Test',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.apiKeys.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.apiKeys.getAll(params);\n\n// access the collection items, each item is an ApiKey\nsecondCollection.items.forEach(apiKey => console.log(apiKey.fields.description));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeysPaginator = $service->apiKeys()->getAllPaginator(limit: 5);\nforeach ($apiKeysPaginator as $apiKeysPage) {\n    printf(\"ApiKeys page %d/%d\\n\", $apiKeysPaginator->key() + 1, $apiKeysPaginator->count());\n    foreach ($apiKeysPage as $apiKey) {\n        printf(\"ApiKey #%s: %s\\n\", $apiKey->getId(), $apiKey->getDescription());\n    }\n}\n\n// OR\n\n$apiKeys = $service->apiKeys()->getAll();\nforeach ($apiKeys as $apiKey) {\n    printf(\"ApiKey #%s: %s\\n\", $apiKey->getId(), $apiKey->getDescription());\n}"}]},"post":{"x-products":["Users"],"tags":["API keys"],"summary":"Create an API key","operationId":"PostApiKey","x-sdk-operation-name":"create","description":"Create an API key.","requestBody":{"$ref":"#/components/requestBodies/ApiKey"},"responses":{"201":{"description":"API key created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeyForm = new Rebilly\\Entities\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $client->apiKeys()->create($apiKeyForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new API key\nconst data = {\n    description: 'My new API key',\n    type: 'secret'\n};\n\n// the ID is optional\nconst firstKey = await api.apiKeys.create({data});\n\n// or you can provide one\nconst secondKey = await api.apiKeys.create({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeyForm = new \\Rebilly\\Sdk\\Model\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $service->apiKeys()->create($apiKeyForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/api-keys/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["API keys"],"summary":"Retrieve API key","operationId":"GetApiKey","x-sdk-operation-name":"get","description":"Retrieve API key with a specified ID.","responses":{"200":{"description":"API key retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeys = $client->apiKeys()->load('apiKeyID');\n"},{"lang":"JavaScript","source":"const apiKey = await api.apiKeys.get({id: 'foobar-001'});\nconsole.log(apiKey.fields.description);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$apiKeys = $service->apiKeys()->get('apiKeyID');"}]},"put":{"x-products":["Users"],"tags":["API keys"],"summary":"Upsert an API key","operationId":"PutApiKey","x-sdk-operation-name":"update","description":"Create or update (upsert) API key with a specified ID.","responses":{"200":{"description":"API key updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKey"}}}},"201":{"description":"API key created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/ApiKey"},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiKeyForm = new Rebilly\\Entities\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $client->apiKeys()->update('apiKeyID', $apiKeyForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// define values to update\nconst data = {\n    description: 'A better description'\n};\n\nconst apiKey = await api.apiKeys.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiKeyForm = new \\Rebilly\\Sdk\\Model\\ApiKey();\n$apiKeyForm->setDescription('Test key');\n\ntry {\n    $apiKey = $service->apiKeys()->update('apiKeyID', $apiKeyForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Users"],"tags":["API keys"],"summary":"Delete API key","operationId":"DeleteApiKey","x-sdk-operation-name":"delete","description":"Deletes an API key with a specified ID.","responses":{"204":{"description":"API key deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$client->apiKeys()->delete('apiKeyID');\n"},{"lang":"JavaScript","source":"const request = await api.apiKeys.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->apiKeys()->delete('apiKeyID');"}]}},"/balance-transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Balance transactions"],"summary":"Retrieve balance transactions","description":"Retrieves a list of balance transactions.\n\n> **Important:** This operation is experimental and may change.","operationId":"GetBalanceTransactionCollection","x-sdk-operation-name":"getAll","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of balance transactions retrieved.","headers":{"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/BalanceTransaction"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/balance-transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Balance transactions"],"summary":"Retrieve a balance transaction","description":"Retrieves a balance transaction with a specified identifier.\n\n> **Important:** This operation is experimental and may change.","operationId":"GetBalanceTransaction","x-sdk-operation-name":"get","responses":{"200":{"description":"Balance transaction retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceTransaction"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/billing-portals":{"get":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Retrieve billing portals","operationId":"GetBillingPortalCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of billing portals.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of billing portals retrieved.","headers":{"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/BillingPortal"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Create a billing portal","operationId":"PostBillingPortal","x-sdk-operation-name":"create","description":"Creates a billing portal.","responses":{"201":{"description":"Billing portal created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}}}},"/billing-portals/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Retrieve a billing portal","operationId":"GetBillingPortal","x-sdk-operation-name":"get","description":"Retrieves a billing portal with a specified ID.","responses":{"200":{"description":"Billing portal retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Upsert a billing portal","operationId":"PutBillingPortal","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a billing portal with a specified ID.","responses":{"200":{"description":"Billing portal updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"201":{"description":"Billing portal created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortal"}}}}},"delete":{"x-products":["Users"],"tags":["Billing portals"],"summary":"Delete a billing portal","operationId":"DeleteBillingPortal","x-sdk-operation-name":"delete","description":"Deletes a billing portal with a specified ID.","responses":{"204":{"description":"Billing portal deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/broadcast-messages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/deposit-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/cashiers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/deposit-strategies/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/checkout-forms/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/service-credentials/{type}":{"parameters":[{"$ref":"#/components/parameters/credentialType"}],"get":{"x-products":["Users"],"parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"tags":["Service credentials"],"summary":"Retrieve service credentials","operationId":"GetServiceCredentialCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of service credentials.","responses":{"200":{"description":"List of service credentials retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceCredential"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// type is required, other parameters are optional\nconst firstCollection = await api.serviceCredentials.getAll({type: 'webhook'});\n\n// alternatively you can specify one or more of them\nconst params = {type: 'webhook', limit: 20, offset: 100};\nconst secondCollection = await api.serviceCredentials.getAll(params);\n\n// access the collection items, each item is a ServiceCredential\nsecondCollection.items.forEach(serviceCredential => console.log(serviceCredential.fields.status));\n"}]},"post":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Create a service credential","operationId":"PostServiceCredential","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a service credential.","responses":{"201":{"description":"Service credential created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"303":{"description":"Existing service credential retrieved.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/PostCredential"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for the new service credential\nconst data = {\n    type: 'webhook',\n    host: 'foobar.test.com',\n    auth: {\n        type: 'none'\n    }\n};\n\nconst credential = await api.serviceCredentials.create({type: 'webhook', data});\n// use the ID to authenticate your webhook in Rebilly\nconsole.log(credential.fields.id);\n"}]}},"/service-credentials/{type}/{id}":{"parameters":[{"$ref":"#/components/parameters/credentialType"},{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Retrieve a service credential","operationId":"GetServiceCredential","x-sdk-operation-name":"get","description":"Retrieves a service credential with a specified ID.","responses":{"200":{"description":"Service credential retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const credential = await api.serviceCredentials.get({type: 'webhook', id: 'service-credential-1'});\nconsole.log(credential.fields.status);\n"}]},"patch":{"x-products":["Users"],"tags":["Service credentials"],"summary":"Update a service credential","operationId":"PatchServiceCredential","x-sdk-operation-name":"update","description":"Updates a service credential with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/PatchCredential"},"responses":{"200":{"description":"Service credential updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceCredential"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the status to update for the service credential\nconst data = {\n    type: 'webhook',\n    status: 'deactivated'\n};\n\nconst credential = await api.serviceCredentials.update({type: 'webhook', id: 'service-credential-1', data});\n"}]}},"/service-credentials/{type}/{id}/items":{"parameters":[{"$ref":"#/components/parameters/credentialType"},{"$ref":"#/components/parameters/resourceId"}]},"/custom-domains":{"get":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Retrieve custom domains","operationId":"GetCustomDomainCollection","x-sdk-operation-name":"getAll","description":"Retrieve a list of custom domains.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of custom domains retrieved.","headers":{"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/CustomDomain"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Create a custom domain","operationId":"PostCustomDomain","x-sdk-operation-name":"create","description":"Create a custom domain.","responses":{"201":{"description":"Custom domain created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomain"}}}}}},"/custom-domains/{domain}":{"parameters":[{"name":"domain","in":"path","description":"Resource domain.","required":true,"schema":{"type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w]+$"}}],"delete":{"x-products":["Users"],"tags":["Custom domains"],"summary":"Delete a custom domain","operationId":"DeleteCustomDomain","x-sdk-operation-name":"delete","description":"Delete a custom domain with a specified ID.","responses":{"204":{"description":"Custom domains deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-setting-verifications/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}],"put":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Verify an email delivery setting","operationId":"PutEmailDeliverySettingsVerification","x-sdk-operation-name":"verify","x-sdk-resource":"EmailDeliverySettings","description":"Verifies an email delivery setting.","responses":{"200":{"description":"Email delivery setting verified.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-settings":{"get":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Retrieve email delivery settings","operationId":"GetEmailDeliverySettingCollection","x-sdk-operation-name":"getAll","description":"Retrieves email delivery settings.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of email delivery settings retrieved.","headers":{"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":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Create an email delivery setting","operationId":"PostEmailDeliverySetting","x-sdk-operation-name":"create","description":"Creates an email delivery setting.\nEmail delivery settings are used together with email messages,\nor templates, to send emails.","responses":{"201":{"description":"Email delivery setting created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}},"description":"Email delivery setting resource.","required":true}}},"/email-delivery-settings/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Retrieve an email delivery setting","operationId":"GetEmailDeliverySetting","x-sdk-operation-name":"get","description":"Retrieves an email delivery setting with a specified ID.","responses":{"200":{"description":"Email delivery setting retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Delete an email delivery setting","operationId":"DeleteEmailDeliverySetting","x-sdk-operation-name":"delete","description":"Deletes an email delivery setting with a specified ID.","responses":{"204":{"description":"Email delivery setting deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"patch":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Update an email delivery setting","operationId":"PatchEmailDeliverySetting","x-sdk-operation-name":"update","description":"Updates an email delivery setting with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDeliverySetting"}}},"description":"Email delivery setting resource.","required":true},"responses":{"200":{"description":"Email delivery setting updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-delivery-settings/{id}/resend-email-verification":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Email delivery settings"],"summary":"Resend email delivery setting verification email","operationId":"PostResendEmailDeliverySettingVerification","x-sdk-operation-name":"resendVerification","description":"Resends a verification email for an email delivery setting with a specified ID.","responses":{"200":{"description":"Verification email sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/email-messages":{"get":{"x-products":["Users"],"tags":["Email messages"],"summary":"Retrieve email messages","operationId":"GetEmailMessageCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of email messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of email messages retrieved.","headers":{"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":{"x-products":["Users"],"tags":["Email messages"],"summary":"Create an email message","operationId":"PostEmailMessage","x-sdk-operation-name":"create","description":"Creates an email message.","responses":{"201":{"description":"Email message created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}},"description":"Email message resource.","required":true}}},"/email-messages/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Email messages"],"summary":"Retrieve an email message","operationId":"GetEmailMessage","x-sdk-operation-name":"get","description":"Retrieves an email message with a specified ID.","responses":{"200":{"description":"Email message retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessage"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"x-products":["Users"],"tags":["Email messages"],"summary":"Send an email message","operationId":"PatchEmailMessage","x-sdk-operation-name":"send","description":"Sends an email message.","responses":{"200":{"description":"Email message accepted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"PatchEmailMessageRequest","required":["status"],"properties":{"status":{"description":"Status of the email message.","type":"string","enum":["outbox"]}}}}},"description":"Email message status.","required":true}}},"/email-notifications":{"get":{"x-products":["Users"],"tags":["Email notifications"],"summary":"Retrieve email notification events","operationId":"GetEmailNotificationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list email notification events.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of email notification events retrieved.","headers":{"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":{"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve system events","operationId":"GetEventCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of system events.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of system events retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.events.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.events.getAll(params);\n\n// access the collection items, each item is a SystemEvent\nsecondCollection.items.forEach(event => console.log(event.fields.eventType));\n"}]}},"/events/{eventType}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve event information","operationId":"GetEvent","x-sdk-operation-name":"get","description":"Retrieves event information for a specified event type.","responses":{"200":{"description":"Rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemEvent"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const eventDetails = await api.events.get({eventType: 'gateway-account-created'});\nconsole.log(eventDetails.fields.rulesCount);"}]}},"/events/{eventType}/rules":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve event rules","operationId":"GetEventRuleCollection","x-sdk-operation-name":"getRules","description":"Retrieves rules associated with a specified event type.","responses":{"200":{"description":"Rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const event = await api.events.getRules({eventType: 'transaction-processed'});\nconsole.log(event.fields.rules);"}]},"put":{"x-products":["Users"],"tags":["Rules"],"summary":"Update event rules","operationId":"PutEventRule","x-sdk-operation-name":"createRules","description":"Updates rules associated with a specified event type.","responses":{"200":{"description":"Rules updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleSet"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/RuleSet"},"x-codeSamples":[{"lang":"JavaScript","source":"// define at least one rule\nconst data = {\n    rules: [\n        {\n            name: 'The One Rule',\n            status: 'active',\n            final: true,\n            criteria: {},\n            actions: [\n                {\n                     name: 'blocklist',\n                     status: 'active',\n                     type: 'email',\n                     ttl: 789\n                },\n                {\n                     name: 'stop-subscriptions',\n                     status: 'active'\n                }\n            ]\n        }\n\n    ]\n};\n\nconst ruleset = await api.events.createRules({eventType: 'risk-score-changed', data});\nconsole.log(ruleset.fields.version);\n\n\n\n// updating rules\n\n// define the ruleset to override the current values within\n// the event\nconst data = {\n    rules: [\n        {\n            name: 'The One Rule',\n            status: 'active',\n            final: true,\n            criteria: {},\n            actions: [\n                {\n                     name: 'blocklist',\n                     status: 'active',\n                     type: 'email',\n                     ttl: 789\n                },\n                {\n                     name: 'stop-subscriptions',\n                     status: 'active'\n                }\n            ]\n        }\n\n    ]\n};\n\nconst ruleset = await api.events.updateRules({eventType: 'risk-score-changed', data});\n// each time the event's ruleset is modified\n// the version number is incremented\nconsole.log(ruleset.fields.version);\n"}]}},"/events/{eventType}/timeline":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}]},"/events/{eventType}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"name":"messageId","in":"path","description":"ID of the rules engine timeline message.","required":true,"schema":{"type":"string"}}]},"/events/{eventType}/rules/history":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Rules"],"summary":"Retrieve change history of a ruleset","operationId":"GetEventRuleHistoryCollection","x-sdk-operation-name":"getRulesHistory","description":"Retrieves the change history of a ruleset with a specified event type.\nAll ruleset changes are recorded in the change history.","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"}],"responses":{"200":{"description":"Ruleset history retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// get the latest 20 versions for this event ID\nconst history = await api.events.getRulesVersionNumber({eventType: 'risk-score-changed', limit: 20});\n// each item exposes the version and `createdTime`\nhistory.items.forEach(edit => console.log(edit.fields.version));"}]}},"/events/{eventType}/rules/history/{version}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/rulesVersion"}]},"/events/{eventType}/rules/versions/{version}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/rulesVersion"}]},"/events/{eventType}/rules/drafts":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}]},"/events/{eventType}/rules/drafts/{id}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"},{"$ref":"#/components/parameters/resourceId"}]},"/forgot-password":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}]},"/gateway-accounts":{"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve gateway accounts","operationId":"GetGatewayAccountCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of gateway accounts.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFields"}],"responses":{"200":{"description":"List of gateway accounts retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccounts = $client->$gatewayAccounts()->search([\n    'filter' => 'currency:USD',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.gatewayAccounts.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.gatewayAccounts.getAll(params);\n\n// access the collection items, each item is a GatewayAccount\nsecondCollection.items.forEach(gatewayAccount => console.log(gatewayAccount.fields.gatewayName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountsPaginator = $service->gatewayAccounts()->getAllPaginator(limit: 5, filter: 'currency:USD');\nforeach ($gatewayAccountsPaginator as $gatewayAccountsPage) {\n    printf(\"Gateway accounts page %d/%d\\n\", $gatewayAccountsPaginator->key() + 1, $gatewayAccountsPaginator->count());\n    foreach ($gatewayAccountsPage as $gatewayAccount) {\n        printf(\"Gateway account #%s: %s\\n\", $gatewayAccount->getId(), $gatewayAccount->getGatewayName());\n    }\n}\n\n// OR\n\n$gatewayAccounts = $service->gatewayAccounts()->getAll(filter: 'currency:USD');\nforeach ($gatewayAccounts as $gatewayAccount) {\n    printf(\"Gateway account #%s: %s\\n\", $gatewayAccount->getId(), $gatewayAccount->getGatewayName());\n}"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Create a gateway account","operationId":"PostGatewayAccount","x-sdk-operation-name":"create","description":"Creates a gateway account.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"201":{"description":"Gateway account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccountForm = new Rebilly\\Entities\\GatewayAccount();\n\n$gatewayAccountForm->setGatewayName('A1Gateway');\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setOrganizationId('organizationId');\n$gatewayAccountForm->setMerchantCategoryCode(5734);\n$gatewayAccountForm->setWebsites([\n    'websiteId1',\n    'websiteId2',\n]);\n$gatewayAccountForm->setPaymentCardSchemes([\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_VISA,\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_MASTERCARD,\n]);\n$gatewayAccountForm->setMethod(Rebilly\\Entities\\PaymentMethod::METHOD_CASH);\n\n$gatewayConfig = [\n    'accountId' => 'test',\n    'password' => '123',\n];\n\n$gatewayAccountForm->setGatewayConfig($gatewayConfig);\n\ntry {\n    $gatewayAccount = $client->gatewayAccounts()->create($gatewayAccountForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new gateway account\nconst data = {\n    gatewayName: 'RebillyProcessor',\n    acquirerName: 'RebillyProcessor',\n    merchantCategoryCode: 0,\n    acceptedCurrencies: ['USD'],\n    method: 'payment-card',\n    paymentCardSchemes: [\n        'Visa', 'MasterCard', 'American Express', \n        'Discover', 'Diners Club', 'JCB'\n    ],\n    // the gatewayConfig varies for each gateway name, \n    // see the API spec for details\n    gatewayConfig: {},\n};\n\n// the ID is optional\nconst firstKey = await api.gatewayAccounts.create({data});\n\n// or you can provide one\nconst secondKey = await api.gatewayAccounts.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountForm = new \\Rebilly\\Sdk\\Model\\Stripe();\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setMerchantCategoryCode('5734');\n$gatewayAccountForm->setPaymentCardSchemes([\n    'Visa',\n    'MasterCard',\n]);\n$gatewayAccountForm->setMethod('payment-card');\n\ntry {\n    $gatewayAccount = $service->gatewayAccounts()->create($gatewayAccountForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/gateway-accounts/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieves a gateway account","operationId":"GetGatewayAccount","x-sdk-operation-name":"get","description":"Retrieves a gateway account with a specified ID.","responses":{"200":{"description":"Gateway account retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccount = $client->gatewayAccounts()->load('gatewayAccountId');\n"},{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.get({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.gatewayName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$gatewayAccount = $service->gatewayAccounts()->get('gatewayAccountId');"}]},"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Upsert a gateway account","operationId":"PutGatewayAccount","x-sdk-operation-name":"upsert","description":"Creates or updates (upserts) a gateway account with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"200":{"description":"Gateway account updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"201":{"description":"Gateway account created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$gatewayAccountForm = new Rebilly\\Entities\\GatewayAccount();\n\n$gatewayAccountForm->setGatewayName('A1Gateway');\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setOrganizationId('organizationId');\n$gatewayAccountForm->setMerchantCategoryCode(5734);\n$gatewayAccountForm->setWebsites([\n    'websiteId1',\n    'websiteId2',\n]);\n$gatewayAccountForm->setPaymentCardSchemes([\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_VISA,\n    Rebilly\\Entities\\PaymentCardScheme::SCHEME_MASTERCARD,\n]);\n$gatewayAccountForm->setMethod(Rebilly\\Entities\\PaymentMethod::METHOD_CASH);\n\n$gatewayConfig = [\n    'accountId' => 'test',\n    'password' => '123',\n];\n\n$gatewayAccountForm->setGatewayConfig($gatewayConfig);\n\ntry {\n    $gatewayAccount = $client->gatewayAccounts()->update('gatewayAccountId', $gatewayAccountForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the required properties for the new gateway account\nconst data = {\n    gatewayName: 'RebillyProcessor',\n    acquirerName: 'RebillyProcessor',\n    merchantCategoryCode: 0,\n    acceptedCurrencies: ['USD'],\n    method: 'payment-card',\n    paymentCardSchemes: [\n        'Visa', 'MasterCard', 'American Express', \n        'Discover', 'Diners Club', 'JCB'\n    ],\n    // the gatewayConfig varies for each gateway name, \n    // see the API spec for details\n    gatewayConfig: {},\n};\n\n// the ID is optional\nconst firstKey = await api.gatewayAccounts.create({data});\n\n// or you can provide one\nconst secondKey = await api.gatewayAccounts.create({id: 'my-second-id', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$gatewayAccountForm = new \\Rebilly\\Sdk\\Model\\Stripe();\n$gatewayAccountForm->setAcquirerName('Bank of Rebilly');\n$gatewayAccountForm->setMerchantCategoryCode('5734');\n$gatewayAccountForm->setPaymentCardSchemes([\n    'Visa',\n    'MasterCard',\n]);\n$gatewayAccountForm->setMethod('payment-card');\n\ntry {\n    $gatewayAccount = $service->gatewayAccounts()->update('gatewayAccountId', $gatewayAccountForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"patch":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account","operationId":"PatchGatewayAccount","x-sdk-operation-name":"update","description":"Updates a gateway account with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GatewayAccount"},"responses":{"200":{"description":"Gateway account updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// build data with only the fields you wish to update\nconst data = {\n    paymentCardSchemes: [\n            'Visa', 'MasterCard', 'American Express'\n    ]\n};\n\nconst secondKey = await api.gatewayAccounts.update({id: 'my-second-id', data});"}]}},"/gateway-accounts/{id}/close":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Close a gateway account","operationId":"PostGatewayAccountClosure","x-sdk-operation-name":"close","description":"Closes a gateway account with a specified ID.\nThis process is also known as archiving.\n\nWhen a gateway account is closed,\nthe gateway cannot process transactions and the `status` attribute is set to `closed`.\n\n>**Important:** Closing a gateway account cannot be undone. Do so with caution.","responses":{"201":{"description":"Gateway account closed.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccount"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.close({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/disable":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Disable a gateway account","operationId":"PostGatewayAccountDisablement","x-sdk-operation-name":"disable","description":"Disables a gateway account with a specified ID.\n\nWhen a gateway account is disabled,\nthe gateway cannot process transactions and the `status` attribute is set to `inactive`.","responses":{"201":{"description":"Gateway account disabled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.disable({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/downtime-schedules":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"List gateway account downtime schedules","operationId":"GetGatewayAccountDowntimeScheduleCollection","x-sdk-operation-name":"getAllDowntimeSchedules","description":"Retrieves a list of downtime schedules for a gateway account with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of gateway account downtime schedules retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.gatewayAccounts.getAllDowntimeSchedules({id: 'my-gateway'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-gateway', limit: 20, offset: 100};\nconst secondCollection = await api.gatewayAccounts.getAllDowntimeSchedules(params);\n\n// access the collection items, each item is a GatewayAccountDowntimeSchedule\nsecondCollection.items\n    .forEach(gatewayAccount => console.log(gatewayAccount.fields.reason));\n"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Create a gateway account downtime schedule","operationId":"PostGatewayAccountDowntimeSchedule","x-sdk-operation-name":"createDowntimeSchedule","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a downtime schedule for a gateway account with a specified ID.","responses":{"201":{"description":"Gateway account downtime schedule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountDowntimeSchedule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountDowntimeSchedule"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for\n// the new gateway account downtime schedule\nconst data = {\n    startTime: '2018-08-02T15:13:23Z',\n    endTime: '2018-08-02T15:13:23Z'\n};\n\n// the gateway ID is required\nconst secondKey = await api.gatewayAccounts.createDowntimeSchedule({id: 'my-second-id', data});"}]}},"/gateway-accounts/{id}/downtime-schedules/{downtimeId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"downtimeId","in":"path","description":"ID of the gateway account downtime.","required":true,"schema":{"type":"string"}}],"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account downtime schedule","operationId":"PutGatewayAccountDowntimeSchedule","x-sdk-operation-name":"updateDowntimeSchedule","description":"Updates a gateway account downtime schedule with a specified ID.","responses":{"200":{"description":"Gateway account downtime schedule updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountDowntimeSchedule"},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the required properties for\n// the update gateway account downtime schedule\nconst data = {\n    startTime: '2018-08-02T15:13:23Z',\n    endTime: '2018-08-02T15:13:23Z'\n};\n\n// the gateway ID is required\nconst secondKey = await api.gatewayAccounts\n    .updateDowntimeSchedule({id: 'my-second-id', downtimeScheduleId: 'schedule-id', data});"}]},"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Delete a gateway account downtime schedule","operationId":"DeleteGatewayAccountDowntimeSchedule","x-sdk-operation-name":"deleteDowntimeSchedule","description":"Deletes a gateway account downtime schedule with a specified ID.","responses":{"204":{"description":"Gateway account downtime schedule deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.gatewayAccounts\n    .deleteDowntimeSchedule({id: 'my-second-key', downtimeScheduleId: 'schedule-id'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/gateway-accounts/{id}/enable":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Enable a gateway account","operationId":"PostGatewayAccountEnablement","x-sdk-operation-name":"enable","description":"Enables a gateway account with a specified ID.\n\nWhen a gateway account is enabled,\nthe gateway can process transactions and the `status` attribute is set to `active`.","responses":{"201":{"description":"Gateway account enabled.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const gatewayAccount = await api.gatewayAccounts.enable({id: 'foobar-001'});\nconsole.log(gatewayAccount.fields.status);"}]}},"/gateway-accounts/{id}/limits":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve gateway account limits","operationId":"GetGatewayAccountLimitCollection","x-sdk-operation-name":"getAllVolumeLimits","description":"Retrieves a list of limits for a gateway account with a specified ID.","responses":{"200":{"description":"List of gateway account limits retrieved.","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/resourceId"},{"name":"limitId","in":"path","description":"ID of the gateway account limit.","required":true,"schema":{"type":"string","enum":["daily-money","monthly-money","daily-count","monthly-count"]}}],"put":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Update a gateway account limit","operationId":"PutGatewayAccountLimit","x-sdk-operation-name":"updateVolumeLimit","description":"Updates a gateway account limit with a specified ID.","responses":{"200":{"description":"Gateway account limit updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountLimit"}}}},"201":{"description":"Gateway account limit created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountLimit"}}}}},"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Delete a gateway account limit","operationId":"DeleteGatewayAccountLimit","x-sdk-operation-name":"deleteVolumeLimit","description":"Deletes a gateway account limit with a specified ID.","responses":{"204":{"description":"Gateway account limit deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/gateway-accounts/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Gateway accounts timeline"],"summary":"Retrieve gateway account timeline messages","operationId":"GetGatewayAccountTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of timeline messages associated with a specified gateway account ID.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of gateway account timeline messages retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional except for the `id`\nconst firstCollection = await api.gatewayAccounts\n    .getAllTimelineMessages({id: 'my-gateway'});\n\n// alternatively you can specify one or more of them\nconst params = {id: 'my-gateway', limit: 20, offset: 100};\nconst secondCollection = await api.gatewayAccounts.getAllTimelineMessages(params);\n\n// access the collection items, each item is a GatewayAccountTimeline\nsecondCollection.items\n    .forEach(message => console.log(message.fields.eventType));\n"}]},"post":{"x-products":["Users"],"tags":["Gateway accounts timeline"],"summary":"Create a gateway account timeline comment","operationId":"PostGatewayAccountTimeline","x-sdk-operation-name":"createTimelineComment","description":"Creates a timeline comment on gateway account with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountTimeline"}}},"description":"Gateway account timeline resource.","required":true},"responses":{"201":{"description":"Gateway account timeline comment created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountTimeline"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// Create a comment\nconst firstComment = await api\n    .gatewayAccounts.createTimelineComment({id: 'my-gateway-id', data: {message: 'Your comment here'}});\n\n// Using params object, mentions and references\nconst message = `Example of mentions @user@mydomain.com and references #customers-customer-id`;\nconst params = {\n    id: 'my-gateway-id',\n    data: {\n        message,\n    },\n};\nconst secondComment = await api.gatewayAccounts.createTimelineComment(params);"}]}},"/gateway-accounts/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","description":"ID of the gateway account timeline message.","required":true,"schema":{"type":"string"}}]},"/gateway-accounts/{id}/check-credentials":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Verify gateway account credentials","operationId":"PostGatewayAccountCheckCredentials","x-sdk-operation-name":"checkCredentials","description":"Verifies that supplied credentials are valid for a specified gateway account ID.","responses":{"204":{"description":"Supplied credentials are valid.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"description":"Supplied credentials are not valid."},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/gateway-accounts/{id}/financial-settings":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve financial settings of a gateway account","operationId":"GetGatewayAccountFinancialSettings","x-sdk-operation-name":"getFinancialSettings","description":"Retrieves the financial settings of a gateway account with a specified ID.\n\n> **Important:** This operation is experimental and may not be backward compatible.","responses":{"200":{"description":"Financial settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-badges":[{"name":"Experimental"}],"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Set financial settings","operationId":"PutGatewayAccountFinancialSettings","x-sdk-operation-name":"setFinancialSettings","description":"Sets financial settings for a gateway account with a specified ID.\n\n> **Important:** This operation is experimental and may not be backward compatible.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"responses":{"200":{"description":"Gateway account financial settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"201":{"description":"Gateway account financial settings created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayAccountFinancialSettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/digital-wallets/onboarding/apple-pay":{"get":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Retrieve Apple Pay domains","operationId":"GetDigitalWalletOnboardingApplePay","x-sdk-operation-name":"getApplePayDomains","description":"Retrieves the domains that Apple Pay has registered for the organization.\nApple Pay registers domains for the whole organization, not for one gateway account.","responses":{"200":{"description":"Apple Pay domains retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePayDomains"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"}}},"post":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Register a domain for Apple Pay","operationId":"PostDigitalWalletOnboardingApplePay","x-sdk-operation-name":"create","description":"Registers a domain for Apple Pay.\n\nUse this operation to register the domain with Apple Pay,\nor to check if it is already registered.\nWhen the domain is registered, you can use Apple Pay with your embedded integrations.\n\nFor more information, see [Set up Apple Pay](/docs/dev-docs/digital-wallets#set-up-apple-pay).","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}},"description":"Apple pay domain registration request.","required":true},"security":[{"SecretApiKey":[]},{"JWT":[]}],"responses":{"200":{"description":"Action executed without error.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}}},"201":{"description":"Domain registered with Apple Pay.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigitalWalletOnboardingApplePay"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/digital-wallets/onboarding/apple-pay/{domain}":{"parameters":[{"name":"domain","in":"path","description":"Domain to remove from Apple Pay.","required":true,"schema":{"type":"string","maxLength":255,"pattern":"^[@~\\-\\.\\w]+$"}}],"delete":{"x-products":["Users"],"tags":["Gateway accounts"],"summary":"Remove an Apple Pay domain","operationId":"DeleteDigitalWalletOnboardingApplePayDomain","x-sdk-operation-name":"deleteApplePayDomain","description":"Removes a domain from Apple Pay for the organization.\nApple Pay stops working on the domain.","responses":{"204":{"description":"Apple Pay domain removed.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/grid-segments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/integrations":{"get":{"x-products":["Users"],"tags":["Integrations"],"summary":"Retrieve integrations","operationId":"GetIntegrationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of integrations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"List of integrations retrieved.","headers":{"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/integrationLabel"}],"get":{"x-products":["Users"],"tags":["Integrations"],"summary":"Retrieve an integration for specific label","operationId":"GetIntegration","x-sdk-operation-name":"get","description":"Retrieves an integration with a specified label.","responses":{"200":{"description":"Integration retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/lists":{"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve lists","operationId":"GetListCollection","x-sdk-operation-name":"getAll","description":"Retrieves a collection of lists.\nThis operation returns the most recent version of each list.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFields"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Collection of lists retrieved.","headers":{"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/ValueList"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.lists.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.lists.getAll(params);\n\n// access the collection items, each item is a ValueList\nsecondCollection.items.forEach(list => console.log(list.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$listsPaginator = $service->lists()->getAllPaginator(limit: 5, filter: 'description:testDescription');\nforeach ($listsPaginator as $listPage) {\n    printf(\"Lists page %d/%d\\n\", $listsPaginator->key() + 1, $listsPaginator->count());\n    foreach ($listPage as $list) {\n        printf(\"List #%s (%s): %s\\n\", $list->getId(), $list->getDescription(), $list->getVersion());\n    }\n}\n\n// OR\n\n$lists = $service->lists()->getAll(filter: 'description:testDescription');\nforeach ($lists as $list) {\n    printf(\"List #%s (%s): %s\\n\", $list->getId(), $list->getDescription(), $list->getVersion());\n}"}]}},"/lists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve latest list version","operationId":"GetList","x-sdk-operation-name":"getLatestVersion","description":"Retrieves the latest version of a list with a specified ID.","responses":{"200":{"description":"List retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"// get the latest version\nconst latest = await api.lists.get({id: 'foobar-001'});\n\n// get an older version\nconst older = await api.lists.get({id: 'foobar-001', version: 12});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$list = $service->lists()->getLatestVersion('listId');"}]},"put":{"x-products":["Users"],"tags":["Lists"],"summary":"Upsert a list","operationId":"PutList","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a list with a specified ID.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}},"description":"List resource.","required":true},"responses":{"200":{"description":"List updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"201":{"description":"List created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// creating a list\nconst data = {\n    name: 'My value list',\n    values: [\n        'foobar-0001', 'foobar-0002',  'foobar-0003',\n        'foobar-0004', 'foobar-0005', 'foobar-0006'  \n    ]\n};\n\n// the ID is optional\nconst firstList = await api.lists.create({data});\n\n// or you can provide one\nconst secondList = await api.lists.create({id: 'my-second-key', data});\n\n\n\n// updating a list\nconst data = {\n    name: 'My better list',\n    values: [\n        'foobar-0004', 'foobar-0005', 'foobar-0006'  \n    ]\n};\n\nconst list = await api.lists.update({id: 'my-second-key', data});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$list = \\Rebilly\\Sdk\\Model\\ValueList::from()\n    ->setDescription('testDescription')\n    ->setValues(['value1', 'value2', 'value3']);\n\ntry {\n    $list = $service->lists()->update('listId', $list);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]},"delete":{"x-products":["Users"],"tags":["Lists"],"summary":"Delete a list","operationId":"DeleteList","x-sdk-operation-name":"delete","description":"Deletes a list with a specified ID.","responses":{"204":{"description":"List deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Specified list is in use in a rule and cannot be deleted."},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"const request = await api.lists.delete({id: 'my-second-key'});\n\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$service->lists()->delete('listId');"}]}},"/lists/{id}/{version}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"version","in":"path","required":true,"description":"Version of the list.","schema":{"type":"integer","minimum":1}}],"get":{"x-products":["Users"],"tags":["Lists"],"summary":"Retrieve specific list version","operationId":"GetListVersion","x-sdk-operation-name":"getByVersion","description":"Retrieves a specified version of a list with a specified ID.","responses":{"200":{"description":"List version retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValueList"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$list = $service->lists()->getByVersion('listId', 1);"}]}},"/memberships/{organizationId}/{userId}":{"parameters":[{"name":"organizationId","in":"path","required":true,"description":"Unique organization identifier.\nAn organization is an entity that represents a company.\nFor more information, see [Obtain an organization ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).","schema":{"$ref":"#/components/schemas/ResourceId"}},{"name":"userId","in":"path","required":true,"description":"ID of the user.","schema":{"$ref":"#/components/schemas/ResourceId"}}],"delete":{"x-products":["Users"],"tags":["Users"],"summary":"Delete a user membership","operationId":"DeleteUserMembership","x-sdk-operation-name":"deleteUserMembership","description":"Deletes a membership with a specified organization ID and user ID.","responses":{"204":{"description":"Membership deleted.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/organizations":{"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve organizations","operationId":"GetOrganizationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of organizations.\nIf an organization requires multi-factor authentication (MFA) and your session has not passed MFA,\nthe response includes only `id`, `name`, `country`, `features`, `settings.security`, and `_links` for that organization,\nand omits all other fields.\nIn that case, only `id`, `name`, and `features` are available as filter fields,\nand only `id` and `name` are available as sort fields.\nTo require MFA, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of organizations retrieved.","headers":{"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"}}},"post":{"x-products":["Users"],"tags":["Organizations"],"summary":"Create an organization","operationId":"PostOrganization","x-sdk-operation-name":"create","description":"Creates an organization.","requestBody":{"$ref":"#/components/requestBodies/PostOrganization"},"responses":{"201":{"description":"Organization created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organizationForm = new Rebilly\\Entities\\Organization();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $client->organizations()->create($organizationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$organizationForm = new \\Rebilly\\Sdk\\Model\\PostOrganizationRequest();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $service->organizations()->create($organizationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/organizations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve an organization","operationId":"GetOrganization","x-sdk-operation-name":"get","description":"Retrieves an organization with a specified ID.\nIf the organization requires multi-factor authentication (MFA) and your session has not passed MFA,\nthe response includes only `id`, `name`, `country`, `features`, `settings.security`, and `_links`,\nand omits all other fields.\nTo require MFA, use the [Update security settings](https://www.rebilly.com/catalog/all/organizations/putsecuritysettings) operation.","responses":{"200":{"description":"Organization retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organization = $client->organizations()->load('organizationId');\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$organization = $service->organizations()->get('organizationId');"}]},"patch":{"x-products":["Users"],"tags":["Organizations"],"summary":"Update an organization","operationId":"PatchOrganization","x-sdk-operation-name":"update","description":"Updates an organization with a specified organization ID.","requestBody":{"$ref":"#/components/requestBodies/PatchOrganization"},"responses":{"200":{"description":"Organization updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Organization"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$organizationForm = new Rebilly\\Entities\\Organization();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $client->organizations()->update('organizationId', $organizationForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$organizationForm = new \\Rebilly\\Sdk\\Model\\PatchOrganizationRequest();\n$organizationForm->setName('Test Organization');\n$organizationForm->setCountry('US');\n\ntry {\n    $organization = $service->organizations()->update('organizationId', $organizationForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/payment-cards-bank-names":{"get":{"x-products":["Users"],"tags":["Payment instruments"],"summary":"Retrieve payment card issuing bank names","operationId":"GetPaymentCardBankNameCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payment card issuing bank names.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of payment card issuing bank names retrieved.","headers":{"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","title":"GetPaymentCardsBankNamesResponse","items":{"type":"object","properties":{"name":{"description":"Name of the bank.","type":"string"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/payment-methods":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment method metadata","operationId":"GetPaymentMethodCollection","x-sdk-operation-name":"getAll","description":"Retrieves payment method metadata.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"security":[],"responses":{"200":{"description":"Payment methods metadata received.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentMethodMetadata"}}}}}}}},"/payment-methods/{apiName}":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"parameters":[{"name":"apiName","in":"path","description":"Name of the payment method API.","required":true,"schema":{"description":"Name of the payment method returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"}}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve metadata of a payment method","operationId":"GetPaymentMethod","x-sdk-operation-name":"get","description":"Retrieves the metadata of a payment method with a specified `apiName`.","security":[],"responses":{"200":{"description":"Payment method metadata received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentMethodMetadata"}}}}}}},"/payment-gateways-metadata":{"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment gateway metadata","operationId":"GetPaymentGatewayMetadataCollection","x-sdk-operation-name":"getAll","x-sdk-skip":true,"description":"Retrieves payment gateway metadata.","security":[],"responses":{"200":{"description":"Payment gateway metadata received.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentGatewayMetadata"}}}}}}}},"/payment-gateways-metadata/{apiName}":{"parameters":[{"name":"apiName","in":"path","description":"Payment gateway metadata API name.","required":true,"schema":{"description":"Name of the payment gateway returned in the API response.","type":"string","pattern":"^[\\w\\. -]+$"}}],"get":{"x-products":["Users"],"tags":["Metadata"],"summary":"Retrieve payment gateway metadata","operationId":"GetPaymentGatewayMetadata","x-sdk-operation-name":"get","x-sdk-skip":true,"description":"Retrieves metadata for a gateway with a specified ID.","security":[],"responses":{"200":{"description":"Payment gateway metadata received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentGatewayMetadata"}}}}}}},"/payout-requests":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout requests","operationId":"GetPayoutRequestCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout requests.\n\nFilter by: `id`, `customerId`, `websiteId`, `batchId`, `status`, `blocked`, `blockReason`, `splitReason`, `createdTime`, `updatedTime`, `currency`, `amount`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout requests retrieved.","headers":{"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/PayoutRequest"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create a payout request","operationId":"PostPayoutRequest","x-sdk-operation-name":"create","description":"Creates a payout request.\nIn the response, the `selectPaymentInstrumentUrl` field is used to redirect the customer to select a preferred payment instrument.\nAfter a payment instrument is selected, the customer is redirected to the `selectedPaymentInstrumentRedirectUrl` value.\n\n> **Important:** The selected payment gateway must be configured to support payout requests.\n> For more information, see the [readyToPayoutInstruction](https://www.rebilly.com/catalog/all/gateway-accounts/getgatewayaccountcollection#gateway-accounts/getgatewayaccountcollection/t=response&c=200&path=&d=0/readytopayoutinstruction) field.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}},"description":"Payout request resource.","required":true},"responses":{"201":{"description":"Payout request created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve a payout request","operationId":"GetPayoutRequest","x-sdk-operation-name":"get","description":"Retrieves a payout request with a specified ID.","responses":{"200":{"description":"Payout request retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"patch":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Update a payout request","operationId":"PatchPayoutRequest","x-sdk-operation-name":"patch","description":"Updates a payout request with a specified ID. \nUse this operation to update the status, description, and blocked state.","requestBody":{"$ref":"#/components/requestBodies/PatchPayoutRequest"},"responses":{"200":{"description":"Payout request updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequest"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}/payment-instruments":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve associated payment instruments","operationId":"GetPayoutRequestPaymentInstruments","x-sdk-operation-name":"getPaymentInstruments","description":"Retrieves the payment gateway and a list of payment instruments that are associated with a payout request with a specified ID.","responses":{"200":{"description":"Payout request associated payment instruments retrieved.","content":{"application/json":{"schema":{"type":"array","description":"List of available payment instruments per an associated gateway to offer for the payout.","items":{"type":"object","properties":{"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument to offer for the payout.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayName":{"description":"Name of the payment gateway and payment instrument to use for the payout.\nThis field is empty if the requested payment instrument has not been used yet.","x-label":"Gateway account","x-basic":true,"type":["string","null"],"allOf":[{"$ref":"#/components/schemas/GatewayName"}]},"gatewayAccountId":{"description":"ID of the gateway account to use for processing this allocation.","type":"string","maxLength":50,"example":"gateway_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayPayoutInstruction":{"description":"Payout configuration for the gateway account.","type":["string","null"],"enum":["all","covered-payout","approved-payment","none",null],"example":"covered-payout"},"exposureAmount":{"description":"Approved sales and captures, minus associated approved refunds and voids, and minus approved payouts, for the specified gateway account and payment instrument in the last 180 days.\nAllocations on the same gateway account and payment instrument that are pending, queued, processing, or waiting-completion are also subtracted.\nThe resulting amount is the usable exposure for ranking during auto-allocation.","type":"number","format":"double"},"previousAllocatedAmount":{"description":"Total amount of allocated credit for the payout request for the specified gateway and instrument.","type":"number","format":"double"},"lastPaymentTime":{"description":"Date and time when the last payment is created for the gateway and the payment instrument.\nPayments are the result of `sale` or `capture` transactions.","type":["string","null"],"format":"date-time"},"lastPayoutTime":{"description":"Date and time when the last payout is created for the gateway and the payment instrument.","type":["string","null"],"format":"date-time"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/payout-requests/{id}/timeline":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions timeline"],"summary":"Retrieve payout request timeline messages","operationId":"GetPayoutRequestTimelineCollection","x-sdk-operation-name":"getAllTimelineMessages","description":"Retrieves a list of payout request timeline messages.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of payout request timeline messages retrieved.","headers":{"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/PayoutRequestTimelineMessage"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-requests/{id}/timeline/{messageId}":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"},"description":"ID of the timeline message."}]},"/payout-request-auto-allocations":{"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create automatic payout request allocations","operationId":"PostPayoutRequestAutoAllocations","x-sdk-operation-name":"create","description":"Creates allocations for a payout request using automatically selected payment instruments and gateway accounts.\nOnly the payout request ID is required.\n\nWhen an allocation is created, the payout request transitions to the `in-progress` status,\nand the allocation starts in the `pending` status.\nThe allocation transitions to the `processing` status when payment processing begins.\nThis operation returns the created allocations.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"payoutRequestId":{"type":"string","description":"ID of the payout request to allocate automatically.\nA payout request is a customer request to withdraw funds.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"}},"required":["payoutRequestId"]}}},"description":"Payout request auto-allocation resource.","required":true},"responses":{"201":{"description":"Allocations created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-allocations":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout request allocations","operationId":"GetPayoutRequestAllocationCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout request allocations.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout request allocations retrieved.","headers":{"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/PayoutRequestAllocation"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Create a payout request allocation","operationId":"PostPayoutRequestAllocation","x-sdk-operation-name":"create","description":"Creates an allocation for a payout request.\n\nWhen an allocation is created, the payout request transitions to the `in-progress` status,\nand the allocation starts in the `pending` status.\n\nThe allocation transitions to the `processing` status when payment processing begins.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"payoutRequestId":{"type":"string","description":"ID of the payout request to allocate.","maxLength":50,"example":"pout_req_0YVDMDE2BMC6KBB5MX76RF6T80"},"paymentInstrumentId":{"type":"string","description":"ID of the payment instrument to allocate.","maxLength":50,"example":"inst_0YVB8KPKNXCBR9EDX7JHSED75N"},"gatewayAccountId":{"type":"string","description":"ID of the gateway account.","maxLength":50,"example":"gw_acc_0YVCXMF26DDNKAERE5NW727S34"},"amount":{"type":"number","format":"double","description":"Amount to allocate to this payment instrument.","x-type":"Money"}},"required":["payoutRequestId","paymentInstrumentId","gatewayAccountId","amount"]}}},"description":"Payout request allocation resource.","required":true},"responses":{"201":{"description":"Payout request allocation created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-allocations/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"patch":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Update allocation status","operationId":"PatchPayoutRequestAllocation","x-sdk-operation-name":"update","description":"Updates the status of a payout request allocation with a specified ID.\n\nOnly the `processing` and `canceled` statuses can be set with this operation.\nThe `processing` status transitions an allocation from `pending` when payment processing begins.\nThe `canceled` status stops the allocation before it is processed.\n\nThe `completed`, `waiting-completion` and `failed` statuses are set automatically during transaction processing.\nAllocations are always created in the `pending` status.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"New status for the allocation.\nUse `processing` to move an allocation from `pending` to `processing`,\nwhich begins payment processing.\nUse `canceled` to stop the allocation before it is processed.","enum":["processing","canceled"],"example":"processing"}},"required":["status"]}}}},"responses":{"200":{"description":"Payout request allocation updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestAllocation"}}}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-batches":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Core"],"tags":["Transactions"],"summary":"Retrieve payout request batches","operationId":"GetPayoutRequestBatchCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of payout request batches.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of payout request batches retrieved.","headers":{"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/PayoutRequestBatch"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/payout-request-batches/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/previews/orders":{"post":{"x-products":["Core"],"tags":["Orders (legacy)"],"summary":"Preview an order","operationId":"PostPreviewOrder","x-sdk-operation-name":"order","description":"Previews an order.\nUse this operation to preview a draft order before making an order.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPreview"}}}},"responses":{"200":{"description":"Order preview retrieved.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderPreview"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/previews/rule-actions/send-email":{"post":{"x-products":["Users"],"tags":["Rules"],"summary":"Send a test email","operationId":"PostPreviewRuleActionEmailSending","x-sdk-operation-name":"sendEmailRuleAction","description":"Sends a test email.","requestBody":{"content":{"application/json":{"schema":{"description":"Send a test email.","$ref":"#/components/schemas/RulesEmailNotification"}}},"description":"Test email resource.","required":true},"responses":{"200":{"description":"Test email sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"description":"Send a test email.","$ref":"#/components/schemas/RulesEmailNotification"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first build the email data including\n// the credential hash\nconst data = {\n    bodyText: 'hello world',\n    bodyHTML: `<strong>hello world</strong>`,\n    sender: 'john.doe+test@grr.la',\n    recipients: ['john.doe+test@grr.la'],\n    subject: 'testing email preview',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\nconst email = await api.previews.sendEmailRuleAction({data});"}]}},"/previews/webhooks":{"post":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Send a test webhook","operationId":"PostPreviewWebhook","x-sdk-operation-name":"webhook","description":"Sends a test webhook.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"204":{"description":"Test webhook sent.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first build the webhook data including\n// the credential hash\nconst data = {\n    eventsFilter: [],\n    status: 'active',\n    method: 'POST',\n    headers: {},\n    // hookb.in is a great tool for\n    // previewing webhooks\n    url: 'https://hookb.in/Oe90ZRmdeWUGWg1MGKQV',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\nconst request = await api.previews.webhooks({data});\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]}},"/profile":{"get":{"x-products":["Users"],"tags":["Profile"],"summary":"Retrieve user's own profile","operationId":"GetProfile","x-sdk-operation-name":"get","description":"Retrieves the user's own profile as requested by the user.","responses":{"200":{"description":"Profile retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const profile = await api.profile.get();\nconsole.log(profile.fields.email);"}]},"put":{"x-products":["Users"],"tags":["Profile"],"summary":"Update a user profile","operationId":"PutProfile","x-sdk-operation-name":"update","description":"Updates user profile.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Profile"}}},"description":"Profile resource.","required":true},"responses":{"200":{"description":"Profile updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// define values to update\nconst data = {\n    preferences: [],\n};\n\nconst profile = await api.profile.update({data});\n"}]}},"/roles":{"get":{"x-products":["Users"],"tags":["Roles"],"summary":"Retrieve roles","operationId":"GetRoleCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of user roles.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"List of roles retrieved.","headers":{"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/Role"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Roles"],"summary":"Create a role","operationId":"PostRole","x-sdk-operation-name":"create","description":"Creates a role that is used to assign permissions to users.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"Role resource.","required":true},"responses":{"201":{"description":"Role created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/roles/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Roles"],"summary":"Retrieve a role","operationId":"GetRole","x-sdk-operation-name":"get","description":"Retrieves a user role with a specified ID.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Role retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Roles"],"summary":"Create a role with ID","operationId":"PutRole","x-sdk-operation-name":"update","description":"Creates a user role with a specified ID.","responses":{"200":{"description":"Role updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"201":{"description":"Role created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}},"description":"Role resource.","required":true}}},"/security-settings":{"get":{"x-products":["Users"],"tags":["Organizations"],"summary":"Retrieve security settings","operationId":"GetSecuritySettings","x-sdk-operation-name":"get","x-sdk-resource":"SecuritySettings","description":"Retrieves the sign-in security settings of the organization,\nand the number of users who have multi-factor authentication (MFA) set up.\nSettings apply to the current environment only: live and sandbox are configured separately.","responses":{"200":{"description":"Security settings retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Users"],"tags":["Organizations"],"summary":"Update security settings","operationId":"PutSecuritySettings","x-sdk-operation-name":"update","x-sdk-resource":"SecuritySettings","security":[{"JWT":[]}],"description":"Updates the sign-in security settings of the organization.\nIf `requireMfa` is `true`, every user who signs in to the Rebilly UI must pass multi-factor authentication (MFA).\nIf the session of a user has not passed MFA, other operations respond with `403` and `error` is `mfa_required`.\nOnly owners and administrators who are signed in to the Rebilly UI can change this setting.\nThis setting does not apply to API keys, and a request that uses an API key cannot change this setting.\nTo turn on `requireMfa`, the session must have passed MFA.\nIf the session has not passed MFA, the response is `403` and `error` is `mfa_required_for_caller`.\nIf the number of users who have MFA set up is temporarily unavailable, `requireMfa` cannot be turned on and the response is `503`.\nSettings apply to the current environment only: live and sandbox are configured separately.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"responses":{"200":{"description":"Security settings updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySettings"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"},"503":{"description":"MFA adoption unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/send-through-attribution/{eventType}":{"parameters":[{"$ref":"#/components/parameters/systemEventType"}],"get":{"x-products":["Users"],"tags":["Email notifications"],"summary":"Retrieve email notification attributions","operationId":"GetSendThroughAttributionCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of email notifications, that have been sent through attribution, for a specified event type.","responses":{"200":{"description":"List of email notifications retrieved.","headers":{"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"}}}},"/status":{"servers":[{"url":"https://api-sandbox.rebilly.com","description":"Sandbox server"},{"url":"https://api.rebilly.com","description":"Live server"}],"get":{"x-products":["Users"],"tags":["Status"],"summary":"Retrieve API current status","operationId":"GetStatus","x-sdk-operation-name":"get","description":"Retrieve API current status.","security":[],"responses":{"200":{"description":"Status received.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Status"}}}}},"x-codeSamples":[{"lang":"JavaScript","source":"const status = await api.status.get({id: 'foobar-001'});\nconsole.log(status.fields.status);"}]}},"/tracking/api":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve API tracking logs","operationId":"GetTrackingApiCollection","x-sdk-operation-name":"getAllApiLogs","description":"Retrieves API tracking log records.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Tracking API logs retrieved.","headers":{"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-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiTrackingLog = $client->apiTracking()->search([\n    'filter' => 'status:200',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAll(params);\n\n// access the collection items, each item is a ApiTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.customerId));\n\n\n\n// alternatively, download as a CSV file\n\n// all parameters are optional\nconst firstFile = await api.tracking.downloadApiLogsCSV();\n\n// alternatively you can specify one or more of them\nconst sortedParams = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondFile = await api.tracking.downloadApiLogsCSV(sortedParams);\n\n// access the file data to view the CSV content\nconsole.log(secondFile.data);\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$apiTrackingLogsPaginator = $service->tracking()->getAllApiLogsPaginator(limit: 5, filter: 'status:200');\nforeach ($apiTrackingLogsPaginator as $apiTrackingLogsPage) {\n    printf(\"API tracking logs page %d/%d\\n\", $apiTrackingLogsPaginator->key() + 1, $apiTrackingLogsPaginator->count());\n    foreach ($apiTrackingLogsPage as $apiTrackingLog) {\n        printf(\"API tracking log #%s: %s\\n\", $apiTrackingLog->getId(), $apiTrackingLog->getRequest());\n    }\n}\n\n// OR\n\n$apiTrackingLogs = $service->tracking()->getAllApiLogs(filter: 'status:200');\nforeach ($apiTrackingLogs as $apiTrackingLog) {\n    printf(\"API tracking log #%s: %s\\n\", $apiTrackingLog->getId(), $apiTrackingLog->getRequest());\n}"}]}},"/tracking/api/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve an API tracking log","operationId":"GetTrackingApi","x-sdk-operation-name":"getApiLog","description":"Retrieves an API tracking log record with a specified ID.","responses":{"200":{"description":"Tracking API log retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTracking"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$apiTrackingLog = $client->apiTracking()->load('apiLogId');\n"},{"lang":"JavaScript","source":"const entry = await api.tracking.getApiLog({id: 'foobar-001'});\nconsole.log(entry.fields.request);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$apiTrackingLog = $service->tracking()->getApiLog('apiLogId');"}]}},"/tracking/taxes":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve tax service tracking logs","operationId":"GetTrackingTaxCollection","x-sdk-operation-name":"getAllTaxTrackingLogs","description":"Retrieves a collection of tax service tracking logs.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Tax logs retrieved.","headers":{"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/TaxTracking"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllTaxTrackingLogs();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllTaxTrackingLogs(params);\n\n// access the collection items, each item is a TaxTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.eventType));\n"}]}},"/tracking/taxes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/tracking/lists":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve value list changes","operationId":"GetTrackingListCollection","x-sdk-operation-name":"getAllListsChangesHistory","description":"Retrieves the change history of value lists.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Change history of a value list retrieved.","headers":{"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/ValueList"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllListsChangesHistory();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllListsChangesHistory(params);\n\n// access the collection items, each item is a ValueList\nsecondCollection.items.forEach(entry => console.log(entry.fields.name));\n"}]}},"/tracking/webhooks":{"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve webhook tracking logs","operationId":"GetTrackingWebhookCollection","x-sdk-operation-name":"getAllWebhookTrackingLogs","description":"Retrieves webhook tracking logs.\nLogs are sorted by creation time in descending order.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"Webhook tracking logs retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.tracking.getAllWebhookTrackingLogs();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100};\nconst secondCollection = await api.tracking.getAllWebhookTrackingLogs(params);\n\n// access the collection items, each item is a WebhookTracking\nsecondCollection.items.forEach(entry => console.log(entry.fields.eventType));\n"}]}},"/tracking/webhooks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Tracking"],"summary":"Retrieve a webhook tracking log","operationId":"GetTrackingWebhook","x-sdk-operation-name":"getWebhookTrackingLog","description":"Retrieves a webhook tracking log record with a specified ID.","responses":{"200":{"description":"Webhook tracking log record retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookTracking"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const entry = await api.tracking.getWebhookTrackingLog({id: 'foobar-001'});\nconsole.log(entry.fields.eventType);"}]}},"/tracking/webhooks/{id}/resend":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/users":{"get":{"x-products":["Users"],"tags":["Users"],"summary":"Retrieve a list of users","operationId":"GetUserCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of users.\nTo retrieve the users of the organization who have multi-factor authentication (MFA) set up,\nuse `filter=mfaEnabled:true`.\nTo retrieve the users who do not have MFA set up, including users who have not accepted their invitation,\nuse `filter=mfaEnabled:false`.\nThe `mfaEnabled` filter applies only to the list of users of an organization\nthat has [security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings).\nInactive users and Rebilly staff are not part of the `mfaEnabled` filter.\nUser objects of Rebilly staff do not include `mfaEnabled`.\nThe totals are the same as those returned by the [Retrieve security settings](https://www.rebilly.com/catalog/all/organizations/getsecuritysettings) operation.\nIf the MFA status is temporarily unavailable, the response is `503` and `error` is `mfa_status_unavailable`.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of users retrieved.","headers":{"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"},"503":{"description":"MFA status unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$users = $client->users()->search([\n    'filter' => 'firstName:John',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.users.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.users.getAll(params);\n\n// access the collection items, each item is a User\nsecondCollection.items.forEach(user => console.log(user.fields.firstName));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$usersPaginator = $service->users()->getAllPaginator(limit: 5, filter: 'firstName:John');\nforeach ($usersPaginator as $usersPage) {\n    printf(\"Users page %d/%d\\n\", $usersPaginator->key() + 1, $usersPaginator->count());\n    foreach ($usersPage as $user) {\n        printf(\"User #%s: %s %s | %s\\n\", $user->getId(), $user->getFirstName(), $user->getLastName(), $user->getEmail());\n    }\n}\n\n// OR\n\n$users = $service->users()->getAll(filter: 'firstName:John');\nforeach ($users as $user) {\n    printf(\"User #%s: %s %s | %s\\n\", $user->getId(), $user->getFirstName(), $user->getLastName(), $user->getEmail());\n}"}]},"post":{"x-products":["Users"],"tags":["Users"],"summary":"Create a user","operationId":"PostUser","x-sdk-operation-name":"create","description":"Creates a user.","requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"201":{"description":"User created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$userForm = new Rebilly\\Entities\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $client->users()->create($userForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    businessPhone: '151412345676',\n    mobilePhone: '151412345676',\n    permissions: [],\n    country: 'US',\n    preferences: {}\n};\n\n// the ID is optional\nconst firstProduct = await api.users.create({data});\n\n// or you can provide one\nconst secondProduct = await api.users.create({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$userForm = new \\Rebilly\\Sdk\\Model\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $service->users()->create($userForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/users/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Users"],"summary":"Retrieve a user","operationId":"GetUser","x-sdk-operation-name":"get","description":"Retrieves a user with a specified ID.","responses":{"200":{"description":"User retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$user = $client->users()->load('userId');\n"},{"lang":"JavaScript","source":"const user = await api.users.get({id: 'foobar-001'});\nconsole.log(user.fields.firstName);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$user = $service->users()->get('userId');"}]},"put":{"x-products":["Users"],"tags":["Users"],"summary":"Upsert a user","operationId":"PutUser","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a user with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/User"},"responses":{"200":{"description":"User updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"201":{"description":"User created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"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"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$userForm = new Rebilly\\Entities\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $client->users()->update('userId', $userForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    businessPhone: '151412345676',\n    mobilePhone: '151412345676',\n    permissions: [],\n    country: 'US',\n    preferences: {}\n};\n\n// the ID is optional\nconst firstProduct = await api.users.create({data});\n\n// or you can provide one\nconst secondProduct = await api.users.create({id: 'my-second-key', data});\n\n\n\n// updating a user\nconst data = {\n    email: 'john.doe+test@grr.la',\n    firstName: 'John',\n    lastName: 'Doe',\n    country: 'CA',\n};\n\nconst user = await api.users.update({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$userForm = new \\Rebilly\\Sdk\\Model\\User();\n$userForm->setFirstName('John');\n$userForm->setLastName('Doe');\n$userForm->setEmail('johndoe@test.com');\n\ntry {\n    $user = $service->users()->update('userId', $userForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/webhooks":{"get":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Retrieve webhooks","operationId":"GetWebhookCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of webhooks.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"List of webhooks retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.webhooks.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.webhooks.getAll(params);\n\n// access the collection items, each item is a GlobalWebhook\nsecondCollection.items.forEach(webhook => console.log(webhook.fields.name));\n"}]},"post":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Create a webhook","operationId":"PostWebhook","x-sdk-operation-name":"create","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates a webhook.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"201":{"description":"Webhook created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first set the properties for the new webhook\nconst data = {\n    // leave filter empty to enable \n    // the webhook for all events\n    eventsFilter: [],\n    status: 'active',\n    method: 'POST',\n    headers: {},\n    url: 'https://hookb.in/Oe90ZRmdeWUGWg1MGKQV',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\n// the ID is optional\nconst firstWebhook = await api.webhooks.create({data});\n\n// or you can provide one\nconst secondWebhook = await api.webhooks.create({id: 'my-second-key', data});"}]}},"/webhooks/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Retrieve a webhook","operationId":"GetWebhook","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a webhook with a specified ID.","responses":{"200":{"description":"Webhook retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"JavaScript","source":"const webhook = await api.webhooks.get({id: 'foobar-001'});\nconsole.log(webhook.fields.id);"}]},"put":{"x-products":["Users"],"tags":["Webhooks"],"summary":"Upsert a webhook","operationId":"PutWebhook","x-sdk-operation-name":"update","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Creates or updates (upserts) a webhook with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/GlobalWebhook"},"responses":{"200":{"description":"Webhook updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"201":{"description":"Webhook created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalWebhook"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"description":"Invalid data sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidError"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"}}},"delete":{"x-products":["Users"],"summary":"Delete a webhook","operationId":"DeleteWebhook","x-sdk-operation-name":"delete","description":"Deletes a webhook with a specified ID.","tags":["Webhooks"],"responses":{"204":{"description":"Webhook deleted."},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/websites":{"get":{"x-products":["Users"],"tags":["Websites"],"summary":"Retrieve websites","operationId":"GetWebsiteCollection","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a list of websites.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of websites retrieved.","headers":{"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"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websites = $client->websites()->search([\n    'filter' => 'name:TestWebsite',\n]);\n"},{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.websites.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.websites.getAll(params);\n\n// access the collection items, each item is a Website\nsecondCollection.items.forEach(website => console.log(website.fields.name));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websitesPaginator = $service->websites()->getAllPaginator(limit: 5, filter: 'name:TestWebsite');\nforeach ($websitesPaginator as $websitesPage) {\n    printf(\"Websites page %d/%d\\n\", $websitesPaginator->key() + 1, $websitesPaginator->count());\n    foreach ($websitesPage as $website) {\n        printf(\"Website #%s: %s\\n\", $website->getId(), $website->getName());\n    }\n}\n\n// OR\n\n$websites = $service->websites()->getAll(filter: 'name:TestWebsite');\nforeach ($websites as $website) {\n    printf(\"Website #%s: %s\\n\", $website->getId(), $website->getName());\n}"}]},"post":{"x-products":["Users"],"tags":["Websites"],"summary":"Create a website","operationId":"PostWebsite","x-sdk-operation-name":"create","description":"Creates a website.","requestBody":{"$ref":"#/components/requestBodies/Website"},"responses":{"201":{"description":"Website created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websiteForm = new Rebilly\\Entities\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $client->websites()->create($websiteForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// first set the properties for the new website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\n// the ID is optional\nconst firstWebsite = await api.websites.create({data});\n\n// or you can provide one\nconst secondWebsite = await api.websites.create({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websiteForm = new \\Rebilly\\Sdk\\Model\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $service->websites()->create($websiteForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/websites/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Websites"],"summary":"Retrieve a website","operationId":"GetWebsite","x-sdk-operation-name":"get","security":[{"SecretApiKey":[]},{"JWT":[]},{"ApplicationJWT":[]}],"description":"Retrieves a website with a specified ID.","responses":{"200":{"description":"Website retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$website = $client->websites()->load('websiteId');\n"},{"lang":"JavaScript","source":"const website = await api.websites.get({id: 'foobar-001'});\nconsole.log(website.fields.name);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n$website = $service->websites()->get('websiteId');"}]},"put":{"x-products":["Users"],"tags":["Websites"],"summary":"Upsert a website","operationId":"PutWebsite","x-sdk-operation-name":"update","description":"Creates or updates (upserts) a website with a specified ID.","requestBody":{"$ref":"#/components/requestBodies/Website"},"responses":{"200":{"description":"Website updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"201":{"description":"Website created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Website"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","label":"PHP-SDK-2.0","source":"$websiteForm = new Rebilly\\Entities\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $client->websites()->update('websiteId', $websiteForm);\n} catch (Rebilly\\Http\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}\n"},{"lang":"JavaScript","source":"// creating a new website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\n// the ID is optional\nconst firstWebsite = await api.websites.create({data});\n\n// or you can provide one\nconst secondWebsite = await api.websites.create({id: 'my-second-key', data});\n\n\n\n// updating a website\nconst data = {\n    name: 'My website',\n    url: 'https://www.acme.com',\n    servicePhone: '15451234567',\n    serviceEmail: 'support@acme.com',\n    customFields: {}\n};\n\nconst website = await api.websites.update({id: 'my-second-key', data});\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$websiteForm = new \\Rebilly\\Sdk\\Model\\Website();\n$websiteForm->setName('TestWebsite');\n$websiteForm->setUrl('http://testwebsite.com');\n$websiteForm->setServicePhone('+0123456789');\n$websiteForm->setServiceEmail('test@testwebsite.com');\n\ntry {\n    $website = $service->websites()->update('websiteId', $websiteForm);\n} catch (\\Rebilly\\Sdk\\Exception\\DataValidationException $e) {\n    print_r($e->getValidationErrors());\n}"}]}},"/experimental/customers/{customerId}/summary-metrics":{"parameters":[{"name":"customerId","in":"path","required":true,"description":"ID of the customer.","schema":{"type":"string"}}]},"/profile/dashboard":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Dashboards"],"summary":"Retrieve profile dashboard","operationId":"GetProfileDashboard","x-sdk-operation-name":"getDashboard","description":"Retrieves the profile dashboard configuration.","responses":{"200":{"description":"Profile dashboard retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileDashboard"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/profile/dashboard/metrics/{metric}":{"parameters":[{"name":"metric","in":"path","required":true,"description":"Name of the dashboard metric.","schema":{"$ref":"#/components/schemas/DashboardMetric"}}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Dashboards"],"summary":"Retrieve dashboard metric data","operationId":"GetProfileDashboardMetricReport","x-sdk-operation-name":"getDashboardMetricReport","description":"Retrieves the report data for a single dashboard metric.","parameters":[{"name":"periodStart","in":"query","required":true,"description":"Start date and time of the metric range.\nThe interval between `periodStart` and `periodEnd` must not exceed 100 days.","schema":{"type":"string","format":"date-time"},"example":"2024-01-01T00:00:00Z"},{"name":"periodEnd","in":"query","required":true,"description":"End date and time of the metric range.\nThe interval between `periodStart` and `periodEnd` must not exceed 100 days.","schema":{"type":"string","format":"date-time"},"example":"2024-01-31T23:59:59Z"}],"responses":{"200":{"description":"Metric report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardTileReport"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/experimental/data-exports":{"post":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Request the data export of a resource","operationId":"PostDataExport","x-sdk-operation-name":"queue","description":"Requests the export of a specific data resource.\nRequires permission to retrieve the collection of the exported resource, such as `GetTransactionCollection` for transactions.\nInvoice items require `GetInvoiceCollection`.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"requestBody":{"$ref":"#/components/requestBodies/DataExport"},"responses":{"201":{"description":"Data export request received.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/DataExportValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"JavaScript","source":"// first prepare the details of the export\nconst data = {\n    name: 'my-first-export',\n    // only CSV is currently supported\n    format: 'csv',\n    // define filters, criteria, etc. \n    // to reduce the amount of values exported\n    arguments: {},\n    dateRange: {\n        range: 'all'\n    },\n    // list email addresses that will receive\n    //  a notification once the download is ready\n    emailNotification: ['']\n};\n\nconst queuedExport = await api.exports.queue({resource: 'transaction', data});\nconsole.log(queuedExport.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExport = new \\Rebilly\\Sdk\\Model\\CustomersDataExport([\n    'name' => 'Daily customer export',\n    'format' => 'csv',\n    'fields' => [\n        'firstName',\n        'lastName',\n        'email',\n        'lifetimeRevenue/amount',\n        'lastPaymentTime',\n        'createdTime',\n    ],\n    'recurring' => [\n        'instruction' => 'RRULE:FREQ=DAILY',\n    ],\n    'dateRange' => [\n        'start' => 'yesterday',\n        'end' => 'today',\n    ],\n    'emailNotification' => [\n        'user@example.com',\n    ],\n]);\n\n$service->dataExports()->queue($dataExport);"}]},"get":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Retrieve data export requests","operationId":"GetDataExportCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of data export requests.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionExpand"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"List of data export requests retrieved.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"// all parameters are optional\nconst firstCollection = await api.exports.getAll();\n\n// alternatively you can specify one or more of them\nconst params = {limit: 20, offset: 100, sort: '-createdTime'};\nconst secondCollection = await api.exports.getAll(params);\n\n// access the collection items, each item is a DataExport\nsecondCollection.items.forEach(export => console.log(export.fields.status));\n"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExportsPaginator = $service->dataExports()->getAllPaginator(limit: 5);\nforeach ($dataExportsPaginator as $dataExportPage) {\n    printf(\"dataExports page %d/%d\\n\", $dataExportsPaginator->key() + 1, $dataExportsPaginator->count());\n    foreach ($dataExportPage as $dataExport) {\n        printf(\"DataExport #%s: %s\\n\", $dataExport->getId(), $dataExport->getName());\n    }\n}\n\n// OR\n\n$dataExports = $service->dataExports()->getAll(limit: 100);\nforeach ($dataExports as $dataExport) {\n    printf(\"DataExport #%s: %s\\n\", $dataExport->getId(), $dataExport->getName());\n}"}]}},"/experimental/data-exports/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Retrieve a data export request","operationId":"GetDataExport","x-sdk-operation-name":"get","description":"Retrieves a data export request.","parameters":[{"$ref":"#/components/parameters/collectionExpand"}],"responses":{"200":{"description":"Data export request.","headers":{"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"}},"x-codeSamples":[{"lang":"JavaScript","source":"const queuedExport = await api.exports.get({resource: 'transaction', id: 'foobar-001'});\nconsole.log(queuedExport.fields.status);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dataExport = $service->dataExports()->get('dataExportId');"}]},"delete":{"x-products":["Reports"],"tags":["Data exports"],"summary":"Delete a data export","operationId":"DeleteDataExport","x-sdk-operation-name":"delete","description":"Deletes a data export.\nRequires permission to retrieve the collection of the exported resource, such as `GetTransactionCollection` for transactions.\nInvoice items require `GetInvoiceCollection`.","responses":{"204":{"$ref":"#/components/responses/NoContent"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$service->dataExports()->delete('dataExportId');"}]}},"/organization-exports":{"get":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Retrieve organization data exports","operationId":"GetOrganizationExportCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of organization data exports.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"},{"$ref":"#/components/parameters/collectionSort"}],"responses":{"200":{"description":"List of organization data exports retrieved.","headers":{"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/OrganizationExport"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Request an organization data export","operationId":"PostOrganizationExport","x-sdk-operation-name":"create","description":"Request an organization data export.\nThe data export is asynchronously processed.","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"includeFiles":{"description":"Sets the export to include organization files.","type":"boolean","default":false,"example":true}}}}}},"responses":{"201":{"description":"Organization data export request received.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/organization-exports/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Users"],"tags":["Organization data exports"],"summary":"Retrieve an organization data export request","operationId":"GetOrganizationExport","x-sdk-operation-name":"get","description":"Retrieve an organization data export request with a specified organization ID.","responses":{"200":{"description":"Organization data export request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationExport"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/experimental/histograms/transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Histograms"],"summary":"Retrieve transaction histogram report data","operationId":"GetHistogramTransactionReport","x-sdk-operation-name":"getTransactionHistogramReport","description":"Retrieves transaction histogram report data.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nThe default value depends on the aggregation period:\n- 24 hours ago for `minute` aggregation.\n- First day of the current month for other aggregation periods.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nThe default value depends on the aggregation period:\n- Current time for `minute` aggregation.\n- Last day of the current month for other aggregation periods.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationPeriod","in":"query","description":"Aggregation period of the report.","schema":{"default":"day","type":"string","enum":["minute","hour","day","month"]}},{"name":"metric","in":"query","description":"Metric on which the report is based.","schema":{"default":"sales_count","type":"string","enum":["approval","auth_approval","avg_sales","refunds","refunds_count","sales","sales_count","all_sales_count","auth_approval_count","disputes_count","disputes_rate","credits","credits_count","unapproved_count"]}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Transaction report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistogramData"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    // seven day period\n    periodEnd: '2017-09-28T23:59:59Z',\n    aggregationField: 'website',\n    aggregationPeriod: 'day',\n    metric: 'approval'\n};\nconst report = await api.histograms.getTransactionHistogramReport(params);\nconsole.log(report.fields.data);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$histogram = $service->histograms()->getTransactionHistogramReport(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'website',\n    'day',\n    'sales',\n);"}]}},"/experimental/reports/api-log-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an API log summary report","operationId":"GetApiLogSummaryReport","x-sdk-operation-name":"getApiLogSummary","description":"Retrieves an API log summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiLogSummary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getApiLogSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getApiLogSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/aml-checks":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an AML checks report","operationId":"GetAmlCheckReport","x-sdk-operation-name":"getAmlChecks","description":"Retrieves an AML checks report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided or null, the report starts from the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided or null, the report ends at the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"metric","in":"query","description":"Metric on which the report is based.","schema":{"default":"aml_checks","type":"string","enum":["aml_checks","aml_check_hits"]}},{"name":"includePropagatedResults","in":"query","description":"Specifies if propagated AML checks are included.","schema":{"type":"boolean"}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlChecks"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/aml-checks-inherited-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve AML inherited-match report","operationId":"GetAmlInheritedMatchSummaryReport","x-sdk-operation-name":"getAmlChecksInheritedSummary","description":"Retrieves a summary of AML checks that inherit status from another check,\ngrouped by provenance reason, for the selected period.\n\nEach category row contains the number of checks. This value is used to calculate the percentage of all inherited checks in the period.\nPropagated checks, which are reviewed without a human reviewer, are included in the total.\n\nUse the collection filter to filter results by AML check fields from the AML checks report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf this value is not provided or is `null`, the report starts on the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf this value is not provided or is `null`, the report ends on the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlChecksInheritedSummary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/aml-audit-reports":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an AML audit report","operationId":"GetAmlAuditReport","x-sdk-operation-name":"getAmlAuditReport","description":"Retrieves an Anti-Money Laundering (AML) audit report for a person with a specified ID.\nThe maximum reporting period is 180 days.\n\nThe report includes linked customers, screening summary metrics, screening history, and related transactions for the selected period.\n\nUse the `Accept` header to select the response format: `application/json` (default), `application/pdf`, or `text/csv`.\n\nEach section of the report includes at most 10,000 records, and the `truncated` property is `true` when a section reaches that limit.","parameters":[{"name":"personId","in":"query","required":true,"description":"ID of the person for the report.","schema":{"type":"string","maxLength":50}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf this value is not provided or is `null`, the report starts 90 days before the current date and time at midnight utc.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf this value is not provided or is `null`, the report ends at the current date and time.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/mediaTypeJsonPdfCsv"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportAmlAuditReport"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"text/csv":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/experimental/reports/cumulative-subscriptions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a cumulative subscriptions report","operationId":"GetCumulativeSubscriptionReport","x-sdk-operation-name":"getCumulativeSubscriptions","description":"Retrieves a cumulative subscriptions report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"day","enum":["day","month","affiliate_month"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CumulativeSubscriptions"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getCumulativeSubscriptions(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getCumulativeSubscriptions(\n    'day',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/dashboard":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve dashboard data","operationId":"GetDashboardReport","x-sdk-operation-name":"getDashboardMetrics","description":"Retrieves dashboard data.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"metrics","in":"query","description":"Comma-separated list of metrics.","schema":{"type":"string"}},{"name":"segments","in":"query","description":"Dashboard report segments as a JSON array.","schema":{"type":"string"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$dashboard = $service->reports()->getDashboardMetrics(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    metrics: 'approvalRate,salesCount,salesValue,refundsValue',\n);"}]}},"/experimental/reports/dcc-markup":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a DCC markup report","operationId":"GetDccMarkupReport","x-sdk-operation-name":"getDccMarkup","description":"Retrieves a Dynamic Currency Conversion (DCC) markup report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","bin","country","baseCurrency","quoteCurrency"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    filter: `gatewayAccounts:f9b4fa10-df1d-48a3-85b3-ff6bd7ce0ed2; \\\n            transactionResult:approved,canceled,declined,unknown`,\n    tz: 0\n};\nconst report = await api.reports.getDccMarkup(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getDccMarkup(\n    'day',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/declined-transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a declined transactions report","operationId":"GetDeclinedTransactionReport","x-sdk-operation-name":"getDeclinedTransactions","description":"Retrieves a report on declined transactions.","parameters":[{"name":"aggregationField","in":"query","description":"Aggregation field of the report.\nIf a value is not provided, `gatewayResponseMessage` is used.","schema":{"type":"string","enum":["gatewayResponseMessage","gatewayResponseOriginalMessage"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided, the start date of the previous month is used.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided, the end date of current month is used.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportDeclinedTransactions"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/deferred-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a deferred revenue report","operationId":"GetDeferredRevenueReport","x-sdk-operation-name":"getDeferredRevenue","description":"Retrieves a deferred revenue report which displays monthly total liability and liability changes over months.\n\nThis deferred revenue report provides a month-by-month overview of deferred revenue recognized revenue and liabilities as of a given report date.\nIt presents the total deferred revenue for each month,\nthe amount recognized as revenue both cumulatively and within the specific month,\nas well as the remaining deferred revenue liability up to that month.","parameters":[{"name":"currency","in":"query","description":"Currency of the revenue.\nIf no value is provided, the reporting currency of the organization is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"asOfDate","in":"query","description":"Date and time up to which revenue is recognized for the report.\nIf no value is provided, the end of the current month is used.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportDeferredRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getDeferredRevenue({\n    currency: 'USD',\n    asOfDate: '2025-10-31T00:00:00Z',\n});\n"}]}},"/experimental/reports/disputes":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a disputes report","operationId":"GetDisputeReport","x-sdk-operation-name":"getDisputes","description":"Retrieves a disputes report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"website","enum":["website","gatewayAcquirer","currency","bin","country","rebillNumber","retryNumber","gatewayAccount"]}},{"name":"periodMonth","in":"query","description":"Report month in `YYYY-MM` format.\nIf no value is provided, current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodMonth: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getDisputes(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getDisputes(\n    'website',\n    '2022-01',\n    limit: 5,\n);"}]}},"/experimental/reports/events-triggered":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve events triggered summary report","operationId":"GetTriggeredEventReport","x-sdk-operation-name":"getEventsTriggeredSummary","description":"Retrieves an events triggered summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getEventsTriggeredSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getEventsTriggeredSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/events-triggered/{eventType}/rules":{"parameters":[{"name":"eventType","in":"path","required":true,"description":"Type of system event.","schema":{"$ref":"#/components/schemas/EventType"}}],"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a rules matched summary report","operationId":"GetTriggeredEventRuleReport","x-sdk-operation-name":"getTriggeredEventRuleReport","description":"Retrieves a rules matched summary report that is based on triggered events.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRulesMatchedSummary(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTriggeredEventRuleReport(\n    'account-password-reset-requested',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/future-renewals":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a future renewals report","operationId":"GetFutureRenewalReport","x-sdk-operation-name":"getFutureRenewals","description":"Retrieves a future renewals report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nThis date must be in the future.\nIf no value is provided, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2032-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nThis date must be in the future.\nIf no value is provided, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}$","example":"2032-02"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getFutureRenewals(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getFutureRenewals(\n    '2022-10',\n    '2022-11',\n    limit: 5,\n);"}]}},"/experimental/reports/journal":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a journal report","operationId":"GetJournalReport","x-sdk-operation-name":"getJournal","description":"Retrieves a journal report which displays revenue for each account.\n\nA revenue journal is a detailed revenue waterfall report that describes revenue recognized in a specific month,\naggregated by product ID, product accounting code, or plan ID.\nIt contains information on booked revenue,\nrecognized revenue for each aggregation field in the booked period,\nand the remaining revenue up to the selected month.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"bookedFrom","in":"query","description":"Year and month from which revenue is booked.\nIf this value is omitted, booked revenue is recorded from the first booked amount.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"bookedTo","in":"query","description":"Year and month in which revenue is booked until.\nIf this value is omitted, booked revenue is recorded until the most recently booked amount.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"recognizedAt","in":"query","description":"Year and month when revenue is recognized.\nIf this value is omitted, current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.\nIf no value is provided, the report aggregates by `product.id`.","schema":{"type":"string","enum":["product.accountingCode","product.id","plan.id"]}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportJournal"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    currency: 'USD',\n    bookedFrom: '2022-01',\n    bookedTo: '2022-06',\n    recognizedAt: '2022-06',\n    aggregationField: 'product.accountingCode',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getJournal(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getJournal(\n    'USD',\n    '2022-04',\n    'product.id',\n    limit: 5,\n);"}]}},"/experimental/reports/journal-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a journal summary report","operationId":"GetJournalSummaryReport","x-sdk-operation-name":"getJournalSummary","description":"Retrieves a journal summary report which displays recognized revenue by journal account name for each calendar month.\nIt includes both monthly and annual journal entries, and sums the revenue per account for each month.\n\n- Rows: Represent individual journal account names, corresponding to product or revenue categories.\n- Columns: Represent monthly periods, showing the total recognized revenue in each journal account for that month.","parameters":[{"name":"periodStart","in":"query","description":"Year and month from which the report is generated.\nIf no value is provided or is `null`,\nthe report starts from one year ago.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2025-06"}},{"name":"periodEnd","in":"query","description":"Year and month up to which the report is generated.\nIf no value is provided or is `null`,\nthe report ends at the current month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2025-09"}},{"name":"currency","in":"query","description":"Currency for the journal entries in the report.\nIf no value is provided, the organization reporting currency is used.","schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.\nIf no value is provided,\nthe report aggregates by `journalRecord.creditAccountId`.","schema":{"type":"string","enum":["journalRecord.creditAccountId","journalRecord.debitAccountId"]}},{"name":"amountField","in":"query","description":"Report amount field.\nIf no value is provided, the report uses `journalRecord.recognizedAmount`.","schema":{"type":"string","enum":["journalRecord.estimatedAmount","journalRecord.recognizedAmount"]}},{"name":"journalAccountIds","in":"query","description":"Comma-separated list of journal account IDs to filter the report.\nIf no value is provided, all journal accounts are included.","schema":{"type":"string","example":"jrn_acc_01JXFPKZP4QE4CR3GTT23K8R5J,jrn_acc_01JXFPM6M3CYJ496E5NSCBPM49"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/JournalSummaryReport"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/experimental/reports/kyc-acceptance-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC acceptance summary report","operationId":"GetKycAcceptanceSummaryReport","x-sdk-operation-name":"getKycAcceptanceSummary","description":"Retrieves a Know Your Customer (KYC) acceptance summary report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"type":"object","title":"GetKycAcceptanceSummaryResponse","properties":{"data":{"description":"KYC acceptance data.","type":"array","items":{"type":"object","description":"Amount of accepted KYC documents.","readOnly":true,"properties":{"documentType":{"allOf":[{"description":"Type of KYC document.","example":"address-proof"},{"$ref":"#/components/schemas/KycDocumentTypes"}]},"statusStatistics":{"type":"object","description":"Statistics for each status.","properties":{"accepted":{"type":"object","description":"Statistics for the `accepted` status.","properties":{"total":{"type":"integer","description":"Total amount of accepted documents.","example":6},"automatically":{"type":"integer","description":"Amount of documents that have been accepted automatically.","example":4},"manually":{"type":"integer","description":"Amount of documents that have been accepted by reviewer.","example":2},"afterAutoRejected":{"type":"integer","description":"Amount of documents that have been rejected automatically and then accepted by reviewer.","example":2}}},"rejected":{"type":"object","description":"Statistics for the `rejected` status.","properties":{"total":{"type":"integer","description":"Total amount of rejected documents.","example":2},"automatically":{"type":"integer","description":"Amount of documents that have been rejected automatically.","example":1},"manually":{"type":"integer","description":"Amount of documents that have been rejected by reviewer.","example":1},"afterAutoAccepted":{"type":"integer","description":"Amount of documents that have been accepted automatically and then rejected by reviewer.","example":1}}},"pending":{"type":"object","description":"Statistics for the `pending` status.","properties":{"total":{"type":"integer","description":"Total amount of pending documents.","example":0}}},"archived":{"type":"object","description":"Statistics for the `archived` status.","properties":{"total":{"type":"integer","description":"Total amount of archived documents.","example":0}}}}},"total":{"type":"integer","description":"Total amount of documents.","example":8},"accuracyRate":{"type":"number","description":"Percentage of automatically accepted and rejected documents that remain in the same status after review.\nCalculated based on the following: `(non-archived total - accepted auto rejected - rejected auto accepted)/non-archived total`.","example":62.5},"acceptanceRate":{"type":"number","description":"Percentage of accepted documents from the total number of KYC documents.\nCalculated based on the following: `accepted total / total of non-archived documents`.","example":75},"manualReviewTime":{"type":"number","description":"Median duration in minutes between review and created time for manually reviewed documents."}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycAcceptanceSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/kyc-rejection-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC rejections report","operationId":"GetKycRejectionSummaryReport","x-sdk-operation-name":"getKycRejectionSummary","description":"Retrieves a Know Your Customer (KYC) rejection report by type and by rejection reasons.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportKycRejections"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycRejectionSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/kyc-request-summary":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a KYC requests report","operationId":"GetKycRequestSummaryReport","x-sdk-operation-name":"getKycRequestSummary","description":"Retrieves a Know Your Customer (KYC) request report by type and by rejection reasons.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportKycRequests"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getKycRequestSummary(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/monthly-recurring-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a MRR report","operationId":"GetMonthlyRecurringRevenueReport","x-sdk-operation-name":"getMonthlyRecurringRevenue","description":"Retrieves a Monthly Recurring Revenue (MRR) report.\n\nUse MRR reports to view information on the predictable recurring revenue for your business over a period of months.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided or is `null`,\nthe report starts at the beginning of the previous month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided or `null`,\nthe report ends at the current month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-06"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportMonthlyRecurringRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getMonthlyRecurringRevenue({\n    periodStart: '2016-09',\n    periodEnd: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getMonthlyRecurringRevenue(\n    'USD',\n    '2022-01',\n    '2022-03',\n    limit: 5,\n);"}]}},"/experimental/reports/annual-recurring-revenue":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve an ARR report","operationId":"GetAnnualRecurringRevenueReport","x-sdk-operation-name":"getAnnualRecurringRevenue","description":"Retrieves an Annual Recurring Revenue (ARR) report.\n\nUse ARR reports to view information on the predictable recurring revenue for your business over a period of months.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.\nIf no value is provided, the organization reporting currency is used.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided or is `null`,\nthe report starts at the beginning of the previous month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided or is `null`,\nthe report ends at the current month.","required":true,"schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-06"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportAnnualRecurringRevenue"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getAnnualRecurringRevenue({\n    periodStart: '2016-09',\n    periodEnd: '2018-09',\n    currency: 'USD',\n});\n"}]}},"/experimental/reports/renewal-sales":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a renewal sales report","operationId":"GetRenewalSaleReport","x-sdk-operation-name":"getRenewalSales","description":"Retrieves a renewal sales report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nDefaults to the start of the current month.\n","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nDefaults to the end of the current month.\n","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-02"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09',\n    periodEnd: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRenewalSales(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRenewalSales(\n    '2022-01',\n    '2022-03',\n    limit: 5,\n);"}]}},"/experimental/reports/retention-percentage":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a retention percentage report","operationId":"GetRetentionPercentageReport","x-sdk-operation-name":"getRetentionPercentage","description":"Retrieves a retention percentage report.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year"]}},{"name":"aggregationPeriod","in":"query","description":"Report aggregation period.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year","cycle"]}},{"name":"includeSwitchedSubscriptions","in":"query","description":"Specifies whether to include switched subscriptions.","schema":{"type":"string","enum":["true","false"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided, defaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided, defaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'month',\n    aggregationPeriod: 'month',\n    periodStart: '2016-09-01T00:00:00Z',\n    periodEnd: '2017-09-01T00:00:00Z',\n    includeSwitchedSubscriptions: false,\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRetentionPercentage(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRetentionPercentage(\n    'day',\n    'month',\n    periodStart: new \\DateTimeImmutable('2022-01-01'),\n    periodEnd: new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/retention-value":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a retention value report","operationId":"GetRetentionValueReport","x-sdk-operation-name":"getRetentionValue","description":"Retrieves the total number of new customers for each aggregation period and the corresponding value for each customer over time.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year","leadsSource","leadsMedium","leadsCampaign","leadsContent","leadsTerm","leadsAffiliate","leadsSubAffiliate","leadsSalesAgent","bin"]}},{"name":"aggregationPeriod","in":"query","description":"Report aggregation period.","schema":{"type":"string","default":"month","enum":["day","month","quarter","year"]}},{"name":"includeRefunds","in":"query","description":"Specifies whether to include refunds.","schema":{"type":"string","default":false,"enum":["true","false"]}},{"name":"includeDisputes","in":"query","description":"Specifies whether to include disputes.","schema":{"type":"string","default":false,"enum":["true","false"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided, defaults to the start of the current month.\n","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided, defaults to the end of the current month.\n","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionCriteria"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'month',\n    aggregationPeriod: 'month',\n    periodStart: '2016-09-01T00:00:00Z',\n    periodEnd: '2017-09-01T00:00:00Z',\n    includeRefunds: true,\n    includeDisputes: false,\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getRetentionValue(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRetentionValue(\n    'month',\n    'day',\n    periodStart: new \\DateTimeImmutable('2022-01-01'),\n    periodEnd: new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/revenue-waterfall":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a revenue waterfall report","operationId":"GetRevenueWaterfallReport","x-sdk-operation-name":"getRevenueWaterfall","description":"Retrieves a revenue waterfall report.\n\nUse revenue waterfall reports to view revenue that is recognized up to a given month.\nRevenue waterfall reports contain information on booked revenue,\nrecognized revenue for the months in the issued period,\nand the remaining revenue up to the specified month.","parameters":[{"name":"currency","in":"query","description":"Revenue currency.","required":true,"schema":{"$ref":"#/components/schemas/CurrencyCode"}},{"name":"issuedFrom","in":"query","description":"Date from which revenue invoice is issued.\nIf not provided or null, the report starts from the previous month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-01"}},{"name":"issuedTo","in":"query","description":"Date to which revenue invoice is issued.\nIf not provided or null, the report ends at the current month.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}},{"name":"recognizedTo","in":"query","description":"Month up to which revenue is recognized.\nIf not provided or null, the current month is used.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","example":"2022-04"}}],"responses":{"200":{"description":"Report retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportRevenueWaterfall"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const report = await api.reports.getRevenueWaterfall({\n    issuedFrom: '2016-09',\n    issuedTo: '2017-09',\n    recognizedTo: '2017-09',\n    limit: 20,\n    offset: 0,\n    tz: 0\n});"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getRevenueWaterfall(\n    'USD',\n    '2022-01',\n    '2022-02',\n    '2022-02',\n);"}]}},"/experimental/reports/subscription-cancellation":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a subscription cancellation report","operationId":"GetSubscriptionCancellationReport","x-sdk-operation-name":"getSubscriptionCancellation","description":"Retrieves a subscription cancellation report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"planId","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"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'day',\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getSubscriptionCancellation(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getSubscriptionCancellation(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'leadSource.source',\n    limit: 5,\n);"}]}},"/experimental/reports/subscription-renewal":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a subscription renewal report","operationId":"GetSubscriptionRenewalReport","x-sdk-operation-name":"getSubscriptionRenewal","description":"Retrieves a subscription renewal report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-09-21T00:00:00Z',\n    periodEnd: '2017-09-28T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getSubscriptionRenewal(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getSubscriptionRenewal(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/tax":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a tax report","operationId":"GetTaxReport","x-sdk-operation-name":"getTax","description":"Retrieves a tax report, which displays taxes collected on sales.\nTax amounts are aggregated by state and municipality.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf no value is provided,\nthe report starts from the beginning of the previous month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided,\nthe report ends at the end of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"accountingMethod","in":"query","description":"Accounting method to use when generating the report.\nIf no value is provided, cash is used.","schema":{"type":"string","enum":["cash","accrual"]}},{"$ref":"#/components/parameters/collectionLimit"},{"name":"offset","in":"query","description":"Starting point within the collection of items to return.","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Report retrieved.","headers":{"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/ReportTax"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2023-01-01 00:00-00',\n    periodEnd: '2023-03-31 23:59:59',\n    accountingMethod: 'cash',\n    limit: 20,\n    offset: 0,\n};\nconst report = await api.reports.getTax(params);\n"}]}},"/experimental/reports/time-series-transaction":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a time series transactions report","operationId":"GetTimeSeriesTransactionReport","x-sdk-operation-name":"getTimeSeriesTransaction","description":"Retrieves a report of sale and capture transactions, with one row for each day of the period.\nEach row holds an aggregation of every transaction of the day,\nand a breakdown of that day by the `subaggregate` field.\nTransactions occur on the day of the `processedTime` value.","parameters":[{"name":"type","in":"query","description":"Aggregate the transactions of each day by count, sum of amounts, approval rate, or incomplete rate.","schema":{"type":"string","default":"count","enum":["count","amount","approval-rate","incomplete-rate"]}},{"name":"subaggregate","in":"query","description":"Group the transactions of each day by this field, one subaggregate for each value.","schema":{"type":"string","default":"gateway-account","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":"Date and time when the report starts.\nIf no value is provided, the report begins on the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf no value is provided, the report ends on the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    periodStart: '2017-08-29T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    type: 'count',\n    subaggregate: 'gateway-account',\n    limit: 20,\n    offset: 0\n};\nconst report = await api.reports.getTimeSeriesTransaction(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTimeSeriesTransaction(\n    'approval-rate',\n    'leads.sales-agent',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n);"}]}},"/experimental/reports/transactions-time-dispute":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a transaction time dispute report","operationId":"GetTransactionTimeDisputeReport","x-sdk-operation-name":"getTransactionsTimeDispute","description":"Retrieves a dispute delay in days report.\nThis report describes the amount of time between a transaction and a dispute.","parameters":[{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"gatewayAccount","enum":["website","processor","currency","bin","country","rebillNumber","retryNumber","gatewayAccount","transactionAmount"]}},{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not specified, defaults to the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not specified, defaults to the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionFilter"}],"responses":{"200":{"description":"Report retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getTransactionsTimeDispute(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTransactionsTimeDispute(\n    'rebillNumber',\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    limit: 5,\n);"}]}},"/experimental/reports/transactions":{"get":{"x-badges":[{"name":"Experimental"}],"x-products":["Reports"],"tags":["Reports"],"summary":"Retrieve a transactions report","operationId":"GetTransactionReport","x-sdk-operation-name":"getTransactions","description":"Retrieves a transactions report.","parameters":[{"name":"periodStart","in":"query","description":"Date and time when the report starts.\nIf not provided or null, the report starts from the first day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"periodEnd","in":"query","description":"Date and time when the report ends.\nIf not provided or null, the report ends at the last day of the current month.","schema":{"type":"string","format":"date-time"}},{"name":"aggregationField","in":"query","description":"Report aggregation field.","schema":{"type":"string","default":"website","enum":["website","country","currency","bin","rebillNumber","transactionResult","transactionType","gatewayAccount","gateway","retryNumber","plan","cardBrand","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 retrieved.","headers":{"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"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}},"x-codeSamples":[{"lang":"JavaScript","source":"const params = {\n    aggregationField: 'website',\n    periodStart: '2017-09-22T00:00:00Z',\n    periodEnd: '2017-09-29T23:59:59Z',\n    limit: 20,\n    offset: 0,\n    tz: 0\n};\nconst report = await api.reports.getTransactions(params);"},{"lang":"PHP","source":"$service = new \\Rebilly\\Sdk\\Service($client);\n\n$report = $service->reports()->getTransactions(\n    new \\DateTimeImmutable('2022-01-01'),\n    new \\DateTimeImmutable('now'),\n    'leadSource.subAffiliate',\n    limit: 5,\n);"}]}},"/experimental/subscriptions/{subscriptionId}/summary-metrics":{"parameters":[{"name":"subscriptionId","in":"path","required":true,"description":"ID of the subscription order.","schema":{"type":"string"}}]},"/storefront/account/reset-password/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}]},"/storefront/account/verification/{token}":{"parameters":[{"$ref":"#/components/parameters/token"}]},"/storefront/billing-portals/{slug}":{"parameters":[{"name":"slug","in":"path","description":"Resource slug.","required":true,"schema":{"type":"string","maxLength":100,"pattern":"^[@~\\-\\.\\w]+$"}}]},"/storefront/deposit-strategies/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/deposit-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/cashiers/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/checkout-forms/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/custom-fields/{resource}":{"parameters":[{"$ref":"#/components/parameters/storefrontCustomFieldResource"}]},"/storefront/invoices/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/upcoming-invoice":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-documents/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-liveness-sessions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/kyc-liveness-sessions/{id}/finish":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/cancellation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/orders/{id}/pause":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/subscriptions/{id}/change-items":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/order-changes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}/deactivation":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payment-instruments/{id}/setup":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/payout-requests/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/plans/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/products/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}/accept":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/quotes/{id}/reject":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}/dcc":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/storefront/transactions/{id}/{token}/continue":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/token"}]},"/storefront/transactions/{id}/{token}/bypass":{"parameters":[{"$ref":"#/components/parameters/resourceId"},{"$ref":"#/components/parameters/token"}]},"/storefront/websites/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/risk-score-rules":{"get":{"x-products":["Core"],"tags":["Risk score"],"summary":"Retrieve risk score rules","operationId":"GetRiskScoreRules","x-sdk-operation-name":"getAll","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves risk score rules.","responses":{"200":{"description":"Risk score rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskScoreRules"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/risk-score-rules/blocklists":{"get":{"x-products":["Core"],"tags":["Risk score"],"summary":"Retrieve risk score blocklist rules","operationId":"GetRiskScoreBlocklistRules","x-sdk-operation-name":"getAllBlocklistRules","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves risk score blocklist rules.","responses":{"200":{"description":"Risk score blocklist rules retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskScoreBlocklist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}}},"/allowlists":{"get":{"x-products":["Core"],"tags":["Allowlists"],"summary":"Retrieve allowlist collection","operationId":"GetAllowlistCollection","x-sdk-operation-name":"getAllowlistCollection","security":[{"SecretApiKey":[]},{"JWT":[]}],"description":"Retrieves allowlist collection.","parameters":[{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"}],"responses":{"200":{"description":"Allowlist collection retrieved.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Allowlist"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Allowlists"],"summary":"Create allowlist record","operationId":"PostAllowlist","x-sdk-operation-name":"storeAllowlist","security":[{"PublishableApiKey":[]}],"description":"Creates allowlist record.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Allowlist"}}},"description":"Allowlist record.","required":true},"responses":{"201":{"description":"Allowlist record created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Allowlist"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/allowlists/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}]},"/tags-rules":{"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve tags rules list","operationId":"GetTagRuleCollection","x-sdk-operation-name":"getAll","description":"Retrieves a list of tags rules.","parameters":[{"$ref":"#/components/parameters/collectionLimit"},{"$ref":"#/components/parameters/collectionOffset"},{"$ref":"#/components/parameters/collectionSort"},{"$ref":"#/components/parameters/collectionFilter"},{"$ref":"#/components/parameters/collectionQuery"}],"responses":{"200":{"description":"List of tags rules retrieved.","headers":{"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/TagUntagRule"}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"}}},"post":{"x-products":["Core"],"tags":["Tags"],"summary":"Create tags rule","operationId":"PostTagRule","x-sdk-operation-name":"create","description":"Creates a tags rule.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}},"description":"Tags rule resource.","required":true},"responses":{"201":{"description":"Tags rule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}}}},"/tags-rules/{id}":{"parameters":[{"$ref":"#/components/parameters/resourceId"}],"get":{"x-products":["Core"],"tags":["Tags"],"summary":"Retrieve a tags rule","operationId":"GetTagRule","x-sdk-operation-name":"get","description":"Retrieves a tags rule with a specified ID.","responses":{"200":{"description":"Tags rule retrieved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"}}},"put":{"x-products":["Core"],"tags":["Tags"],"summary":"Create a tags rule with specified ID","operationId":"PutTagRule","x-sdk-operation-name":"update","description":"Creates a tags rule with a specified ID.","responses":{"200":{"description":"Tags rule updated.","headers":{"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"201":{"description":"Tags rule created.","headers":{"Location":{"$ref":"#/components/headers/Location"},"Rate-Limit-Limit":{"$ref":"#/components/headers/Rate-Limit-Limit"},"Rate-Limit-Remaining":{"$ref":"#/components/headers/Rate-Limit-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"},"429":{"$ref":"#/components/responses/TooManyRequests"}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUntagRule"}}},"description":"Tags rule resource.","required":true}}}},"webhooks":{"application-instance-disabled":{"post":{"summary":"Application instance disabled","operationId":"application-instance-disabled","deprecated":true,"x-products":["Users"],"tags":["Application owners"],"requestBody":{"$ref":"#/components/requestBodies/ApplicationInstanceDisabled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"application-instance-enabled":{"post":{"summary":"Application instance enabled","operationId":"application-instance-enabled","deprecated":true,"x-products":["Users"],"tags":["Application owners"],"requestBody":{"$ref":"#/components/requestBodies/ApplicationInstanceEnabled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"aml-list-possibly-matched":{"post":{"summary":"AML list possibly matched","operationId":"aml-list-possibly-matched","x-products":["Core"],"tags":["AML"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"balance-transaction-settled":{"post":{"summary":"Balance transaction settled","operationId":"balance-transaction-settled","tags":["Balance transactions"],"x-products":["Users"],"requestBody":{"$ref":"#/components/requestBodies/BalanceTransactionSettled"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-application-removed":{"post":{"summary":"Coupon application removed","operationId":"coupon-application-removed","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-applied":{"post":{"summary":"Coupon applied","operationId":"coupon-applied","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-expiration-modified":{"post":{"summary":"Coupon expiration modified","operationId":"coupon-expiration-modified","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-expired":{"post":{"summary":"Coupon expired","operationId":"coupon-expired","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-issued":{"post":{"summary":"Coupon issued","operationId":"coupon-issued","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-modified":{"post":{"summary":"Coupon modified","operationId":"coupon-modified","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-redeemed":{"post":{"summary":"Coupon redeemed","operationId":"coupon-redeemed","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"coupon-redemption-canceled":{"post":{"summary":"Coupon redemption canceled","operationId":"coupon-redemption-canceled","x-products":["Core"],"tags":["Coupons"],"requestBody":{"$ref":"#/components/requestBodies/CouponRedemptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-applied":{"post":{"summary":"Credit memo applied","operationId":"credit-memo-applied","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-created":{"post":{"summary":"Credit memo created","operationId":"credit-memo-created","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-modified":{"post":{"summary":"Credit memo modified","operationId":"credit-memo-modified","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-partially-applied":{"post":{"summary":"Credit memo partially applied","operationId":"credit-memo-partially-applied","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"credit-memo-voided":{"post":{"summary":"Credit memo voided","operationId":"credit-memo-voided","x-products":["Core"],"tags":["Credit memos"],"requestBody":{"$ref":"#/components/requestBodies/CreditMemoWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-created":{"post":{"summary":"Customer created","operationId":"customer-created","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-merged":{"post":{"summary":"Customer merged","operationId":"customer-merged","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/MergedCustomer"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-one-time-password-requested":{"post":{"summary":"Customer one-time-password requested","operationId":"customer-one-time-password-requested","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-redirected-offsite":{"post":{"summary":"Customer redirected offsite","operationId":"customer-redirected-offsite","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/CustomerRedirect"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-returned":{"post":{"summary":"Customer returned","operationId":"customer-returned","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/CustomerRedirect"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-tax-number-validated":{"post":{"summary":"Customer tax number validated","operationId":"customer-tax-number-validated","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerTaxNumberValidated"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"customer-updated":{"post":{"summary":"Customer updated","operationId":"customer-updated","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"dispute-created":{"post":{"summary":"Dispute created","operationId":"dispute-created","x-products":["Core"],"tags":["Disputes"],"requestBody":{"$ref":"#/components/requestBodies/DisputeWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"dispute-modified":{"post":{"summary":"Dispute modified","operationId":"dispute-modified","x-products":["Core"],"tags":["Disputes"],"requestBody":{"$ref":"#/components/requestBodies/DisputeWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"experian-check-performed":{"post":{"summary":"Experian check performed","operationId":"experian-check-performed","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/ExperianCheckPerformed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"hard-usage-limit-reached":{"post":{"summary":"Hard usage limit reached","operationId":"hard-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-hard-usage-limit-reached":{"post":{"summary":"Hard usage limit reached","operationId":"orders-experimental-hard-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-tax-calculation-failed":{"post":{"summary":"Invoice tax calculation failed","operationId":"invoice-tax-calculation-failed","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceTaxCalculationFailed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-downtime-ended":{"post":{"summary":"Gateway account downtime ended","operationId":"gateway-account-downtime-ended","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-downtime-started":{"post":{"summary":"Gateway account downtime started","operationId":"gateway-account-downtime-started","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-limit-reached":{"post":{"summary":"Gateway account limit reached","operationId":"gateway-account-limit-reached","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountAndGatewayAccountLimit"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-onboarding-completed":{"post":{"summary":"Gateway account onboarding completed","operationId":"gateway-account-onboarding-completed","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-onboarding-failed":{"post":{"summary":"Gateway account onboarding failed","operationId":"gateway-account-onboarding-failed","x-products":["Users"],"tags":["Gateway accounts"],"requestBody":{"$ref":"#/components/requestBodies/GatewayAccountWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"gateway-account-requested":{"post":{"summary":"Gateway account requested","operationId":"gateway-account-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-abandoned":{"post":{"summary":"Invoice abandoned","operationId":"invoice-abandoned","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-created":{"post":{"summary":"Invoice created","operationId":"invoice-created","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-issued":{"post":{"summary":"Invoice issued","operationId":"invoice-issued","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-modified":{"post":{"summary":"Invoice modified","operationId":"invoice-modified","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-paid":{"post":{"summary":"Invoice paid","operationId":"invoice-paid","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-partially-paid":{"post":{"summary":"Invoice partially paid","operationId":"invoice-partially-paid","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-refunded":{"post":{"summary":"Invoice refunded","operationId":"invoice-refunded","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-partially-refunded":{"post":{"summary":"Invoice partially refunded","operationId":"invoice-partially-refunded","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due":{"post":{"summary":"Invoice past due","operationId":"invoice-past-due","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder":{"post":{"summary":"Invoice past due reminder","operationId":"invoice-past-due-reminder","deprecated":true,"x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-15-days":{"post":{"summary":"Renewal invoice reminder, 15 days past due","description":"Sends a reminder when an unpaid renewal invoice is 15 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 30 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-15-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-30-days":{"post":{"summary":"Renewal invoice reminder, 30 days past due","description":"Sends a reminder when an unpaid renewal invoice is 30 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 60 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-30-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-60-days":{"post":{"summary":"Renewal invoice reminder, 60 days past due","description":"Sends a reminder when an unpaid renewal invoice is 60 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 90 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-60-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-past-due-reminder-90-days":{"post":{"summary":"Renewal invoice reminder, 90 days past due","description":"Sends a reminder when an unpaid renewal invoice is 90 days past its due date.\nThe reminder is sent once for that due date,\nand remains available until 120 days after the due date.\nFor more information, see [Invoice past due reminders](https://www.rebilly.com/docs/dev-docs/invoices/#invoice-past-due-reminders).","operationId":"invoice-past-due-reminder-90-days","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoicePastDueReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-reissued":{"post":{"summary":"Invoice reissued","operationId":"invoice-reissued","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"invoice-voided":{"post":{"summary":"Invoice voided","operationId":"invoice-voided","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-accepted":{"post":{"summary":"KYC document accepted","operationId":"kyc-document-accepted","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-created":{"post":{"summary":"KYC document created","operationId":"kyc-document-created","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-modified":{"post":{"summary":"KYC document modified","operationId":"kyc-document-modified","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-rejected":{"post":{"summary":"KYC document rejected","operationId":"kyc-document-rejected","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-reviewed":{"post":{"summary":"KYC document reviewed","operationId":"kyc-document-reviewed","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-document-archived":{"post":{"summary":"KYC document archived","operationId":"kyc-document-archived","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycDocumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-attempted":{"post":{"summary":"KYC request attempted","operationId":"kyc-request-attempted","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-failed":{"post":{"summary":"KYC request failed","operationId":"kyc-request-failed","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-fulfilled":{"post":{"summary":"KYC request fulfilled","operationId":"kyc-request-fulfilled","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"kyc-request-partially-fulfilled":{"post":{"summary":"KYC request partially fulfilled","operationId":"kyc-request-partially-fulfilled","x-products":["Core"],"tags":["KYC documents"],"requestBody":{"$ref":"#/components/requestBodies/KycRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"lead-source-changed":{"post":{"summary":"Lead source changed","operationId":"lead-source-changed","x-products":["Core"],"tags":["Customers"],"requestBody":{"$ref":"#/components/requestBodies/CustomerWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"offsite-payment-completed":{"post":{"summary":"Offsite payment completed","operationId":"offsite-payment-completed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-abandon-reminder":{"post":{"summary":"Order abandoned reminder","operationId":"order-abandon-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/OrderAbandonReminderSent"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-abandon-reminder":{"post":{"summary":"Order abandoned reminder","operationId":"orders-experimental-order-abandon-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAbandonReminderSent"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-abandoned":{"post":{"summary":"Order abandoned","operationId":"order-abandoned","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-abandoned":{"post":{"summary":"Order abandoned","operationId":"orders-experimental-order-abandoned","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-completed":{"post":{"summary":"Order completed","operationId":"order-completed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-completed":{"post":{"summary":"Order completed","operationId":"orders-experimental-order-completed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"organization-tax-number-validated":{"post":{"summary":"Organization tax number validated","operationId":"organization-tax-number-validated","x-products":["Core"],"tags":["Organizations"],"requestBody":{"$ref":"#/components/requestBodies/OrganizationTaxNumberValidated"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-created":{"post":{"summary":"Payment card created","operationId":"payment-card-created","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder":{"post":{"summary":"Payment card expiration reminder","operationId":"payment-card-expiration-reminder","deprecated":true,"x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-14-days":{"post":{"summary":"Payment card expiration reminder, 14 days before expiration","description":"Sends a reminder when the active default payment card of a customer is 14 days from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration,\nand remains available until 7 days before the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-14-days","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-7-days":{"post":{"summary":"Payment card expiration reminder, 7 days before expiration","description":"Sends a reminder when the active default payment card of a customer is 7 days from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration,\nand remains available until 1 day before the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-7-days","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expiration-reminder-1-day":{"post":{"summary":"Payment card expiration reminder, 1 day before expiration","description":"Sends a reminder when the active default payment card of a customer is 1 day from expiring.\nThe reminder is sent only when the customer has an order that contains subscription items,\nand that order has started and is not churned.\nThe reminder is sent once for that expiration, and remains available until the card expires.\nFor more information, see [Payment card expiration reminders](https://www.rebilly.com/docs/dev-docs/payment-instruments/#payment-card-expiration-reminders).","operationId":"payment-card-expiration-reminder-1-day","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardExpirationReminderWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-card-expired":{"post":{"summary":"Payment card expired","operationId":"payment-card-expired","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentCardWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payment-instrument-modified":{"post":{"summary":"Payment instrument modified","operationId":"payment-instrument-modified","x-products":["Core"],"tags":["Payment instruments"],"requestBody":{"$ref":"#/components/requestBodies/PaymentInstrumentWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-created":{"post":{"summary":"Payout request batch created","operationId":"payout-request-batch-created","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-deleted":{"post":{"summary":"Payout request batch deleted","operationId":"payout-request-batch-deleted","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchDeletedWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-batch-modified":{"post":{"summary":"Payout request batch modified","operationId":"payout-request-batch-modified","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestBatchWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-canceled":{"post":{"summary":"Payout request canceled","operationId":"payout-request-canceled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-changed":{"post":{"summary":"Payout request changed","operationId":"payout-request-changed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestChangedWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-created":{"post":{"summary":"Payout request created","operationId":"payout-request-created","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-fulfilled":{"post":{"summary":"Payout request fulfilled","operationId":"payout-request-fulfilled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"payout-request-modified":{"post":{"summary":"Payout request modified","operationId":"payout-request-modified","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/PayoutRequestWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-accepted":{"post":{"summary":"Quote accepted","operationId":"quote-accepted","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-canceled":{"post":{"summary":"Quote canceled","operationId":"quote-canceled","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-created":{"post":{"summary":"Quote created","operationId":"quote-created","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-expired":{"post":{"summary":"Quote expired","operationId":"quote-expired","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-issued":{"post":{"summary":"Quote issued","operationId":"quote-issued","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-recalled":{"post":{"summary":"Quote recalled","operationId":"quote-recalled","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-rejected":{"post":{"summary":"Quote rejected","operationId":"quote-rejected","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"quote-updated":{"post":{"summary":"Quote updated","operationId":"quote-updated","x-products":["Core"],"tags":["Quotes"],"requestBody":{"$ref":"#/components/requestBodies/QuoteWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"ready-to-pay-requested":{"post":{"summary":"Ready to pay requested","operationId":"ready-to-pay-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/ReadyToPayRequested"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-issued":{"post":{"summary":"Renewal invoice issued","operationId":"renewal-invoice-issued","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/RenewalInvoiceIssued"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-renewal-invoice-issued":{"post":{"summary":"Renewal invoice issued","operationId":"orders-experimental-renewal-invoice-issued","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/RenewalInvoiceIssued"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-payment-canceled":{"post":{"summary":"Renewal invoice payment canceled","operationId":"renewal-invoice-payment-canceled","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceAndTransaction"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"renewal-invoice-payment-declined":{"post":{"summary":"Renewal invoice payment declined","operationId":"renewal-invoice-payment-declined","x-products":["Core"],"tags":["Invoices"],"requestBody":{"$ref":"#/components/requestBodies/InvoiceAndTransaction"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"risk-score-changed":{"post":{"summary":"Risk score changed","operationId":"risk-score-changed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"soft-usage-limit-reached":{"post":{"summary":"Soft usage limit reached","operationId":"soft-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-soft-usage-limit-reached":{"post":{"summary":"Soft usage limit reached","operationId":"orders-experimental-soft-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-activated":{"post":{"summary":"Subscription order activated","operationId":"subscription-activated","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-activated":{"post":{"summary":"Subscription order activated","operationId":"orders-experimental-subscription-activated","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-canceled":{"post":{"summary":"Subscription order canceled","operationId":"subscription-canceled","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-canceled":{"post":{"summary":"Subscription order canceled","operationId":"orders-experimental-subscription-canceled","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-churned":{"post":{"summary":"Subscription order churned","operationId":"subscription-churned","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-churned":{"post":{"summary":"Subscription order churned","operationId":"orders-experimental-subscription-churned","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-created":{"post":{"summary":"Subscription order created","operationId":"subscription-created","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-created":{"post":{"summary":"Subscription order created","operationId":"orders-experimental-subscription-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-downgraded":{"post":{"summary":"Subscription order downgraded","operationId":"subscription-downgraded","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-downgraded":{"post":{"summary":"Subscription order downgraded","operationId":"orders-experimental-subscription-downgraded","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-items-changed":{"post":{"summary":"Subscription items changed","operationId":"subscription-items-changed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-items-changed":{"post":{"summary":"Subscription items changed","operationId":"orders-experimental-subscription-items-changed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-modified":{"post":{"summary":"Order modified","operationId":"subscription-modified","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-modified":{"post":{"summary":"Order modified","operationId":"orders-experimental-subscription-modified","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-quantity-filled-limit-reached":{"post":{"summary":"Subscription quantity filled limit reached","operationId":"subscription-quantity-filled-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionQuantityFilledLimitReached"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-quantity-filled-limit-reached":{"post":{"summary":"Subscription quantity filled limit reached","operationId":"orders-experimental-subscription-quantity-filled-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionQuantityFilledLimitReached"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-reactivated":{"post":{"summary":"Subscription order reactivated","operationId":"subscription-reactivated","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-reactivated":{"post":{"summary":"Subscription order reactivated","operationId":"orders-experimental-subscription-reactivated","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder":{"post":{"summary":"Subscription renewal reminder","operationId":"subscription-renewal-reminder","deprecated":true,"x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-30-days":{"post":{"summary":"Subscription renewal reminder, 30 days before renewal","description":"Sends a reminder when an active order that contains subscription items is 30 days from renewal.\nThe reminder is sent only when the recurring interval of the order is 90 days or more.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal,\nand remains available until 7 days before the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-30-days","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-7-days":{"post":{"summary":"Subscription renewal reminder, 7 days before renewal","description":"Sends a reminder when an active order that contains subscription items is 7 days from renewal.\nThe reminder is sent only when the recurring interval of the order is 14 days or more.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal,\nand remains available until 1 day before the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-7-days","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewal-reminder-1-day":{"post":{"summary":"Subscription renewal reminder, 1 day before renewal","description":"Sends a reminder when an active order that contains subscription items is 1 day from renewal.\nThe reminder is sent only when the recurring interval of the order is longer than 1 day.\nThe reminder is not sent for a paused order, or for the renewal at the end of a trial.\nThe reminder is sent once for that renewal, and remains available until the order renews.\nFor more information, see [Subscription renewal reminders](https://www.rebilly.com/docs/dev-docs/orders/#subscription-renewal-reminders).","operationId":"subscription-renewal-reminder-1-day","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionRenewalReminder"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-renewed":{"post":{"summary":"Subscription order renewed","operationId":"subscription-renewed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-renewed":{"post":{"summary":"Subscription order renewed","operationId":"orders-experimental-subscription-renewed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-converted":{"post":{"summary":"Subscription order trial converted","operationId":"subscription-trial-converted","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-converted":{"post":{"summary":"Subscription order trial converted","operationId":"orders-experimental-subscription-trial-converted","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-end-reminder":{"post":{"summary":"Subscription order trial end reminder","operationId":"subscription-trial-end-reminder","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-end-reminder":{"post":{"summary":"Subscription order trial end reminder","operationId":"orders-experimental-subscription-trial-end-reminder","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-trial-ended":{"post":{"summary":"Subscription order trial ended","operationId":"subscription-trial-ended","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-trial-ended":{"post":{"summary":"Subscription order trial ended","operationId":"orders-experimental-subscription-trial-ended","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-upgraded":{"post":{"summary":"Subscription order upgraded","operationId":"subscription-upgraded","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-upgraded":{"post":{"summary":"Subscription order upgraded","operationId":"orders-experimental-subscription-upgraded","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-paused":{"post":{"summary":"Subscription order paused","operationId":"subscription-paused","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-paused":{"post":{"summary":"Subscription order paused","operationId":"orders-experimental-subscription-paused","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-created":{"post":{"summary":"Subscription order pause created","operationId":"subscription-pause-created","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-created":{"post":{"summary":"Subscription order pause created","operationId":"orders-experimental-subscription-pause-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-modified":{"post":{"summary":"Subscription order pause modified","operationId":"subscription-pause-modified","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-modified":{"post":{"summary":"Subscription order pause modified","operationId":"orders-experimental-subscription-pause-modified","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-pause-revoked":{"post":{"summary":"Subscription order pause revoked","operationId":"subscription-pause-revoked","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-pause-revoked":{"post":{"summary":"Subscription order pause revoked","operationId":"orders-experimental-subscription-pause-revoked","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-created":{"post":{"summary":"Order change created","operationId":"orders-experimental-order-change-created","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-canceled":{"post":{"summary":"Order change canceled","operationId":"orders-experimental-order-change-canceled","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-change-applied":{"post":{"summary":"Order change applied","operationId":"orders-experimental-order-change-applied","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/OrderAndOrderChange"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"subscription-resumed":{"post":{"summary":"Subscription order resumed","operationId":"subscription-resumed","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-subscription-resumed":{"post":{"summary":"Subscription order resumed","operationId":"orders-experimental-subscription-resumed","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionAndSubscriptionPause"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-amount-discrepancy-found":{"post":{"summary":"Transaction amount discrepancy found","operationId":"transaction-amount-discrepancy-found","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-declined":{"post":{"summary":"Transaction declined","operationId":"transaction-declined","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-discrepancy-found":{"post":{"summary":"Transaction discrepancy found","operationId":"transaction-discrepancy-found","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-process-requested":{"post":{"summary":"Transaction process requested","operationId":"transaction-process-requested","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-processed":{"post":{"summary":"Transaction processed","operationId":"transaction-processed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-reconciled":{"post":{"summary":"Transaction reconciled","operationId":"transaction-reconciled","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-partially-refunded":{"post":{"summary":"Transaction partially refunded","operationId":"transaction-partially-refunded","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-refunded":{"post":{"summary":"Transaction refunded","operationId":"transaction-refunded","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-voided":{"post":{"summary":"Transaction voided","operationId":"transaction-voided","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWithChildWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"transaction-timeout-resolved":{"post":{"summary":"Transaction timeout resolved","operationId":"transaction-timeout-resolved","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"trial-usage-limit-reached":{"post":{"summary":"Trial usage limit reached","operationId":"trial-usage-limit-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-trial-usage-limit-reached":{"post":{"summary":"Trial usage limit reached","operationId":"orders-experimental-trial-usage-limit-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/UsageLimitWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"waiting-gateway-transaction-completed":{"post":{"summary":"Waiting gateway transaction completed","operationId":"waiting-gateway-transaction-completed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/TransactionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"data-export-completed":{"post":{"summary":"Data export completed","operationId":"data-export-completed","x-products":["Reports"],"tags":["Data exports"],"requestBody":{"$ref":"#/components/requestBodies/DataExportWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"data-export-failed":{"post":{"summary":"Data export failed","operationId":"data-export-failed","x-products":["Reports"],"tags":["Data exports"],"requestBody":{"$ref":"#/components/requestBodies/DataExportWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"order-delinquency-reached":{"post":{"summary":"Order delinquency time reached","operationId":"order-delinquency-reached","x-products":["Core"],"tags":["Orders (legacy)"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"orders-experimental-order-delinquency-reached":{"post":{"summary":"Order delinquency time reached","operationId":"orders-experimental-order-delinquency-reached","x-products":["Core"],"tags":["Orders"],"requestBody":{"$ref":"#/components/requestBodies/SubscriptionWebhook"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}},"autodeposit-lookup-performed":{"post":{"summary":"Autodeposit lookup performed","operationId":"autodeposit-lookup-performed","x-products":["Core"],"tags":["Transactions"],"requestBody":{"$ref":"#/components/requestBodies/AutodepositLookupPerformed"},"responses":{"2xx":{"description":"Returns any 2xx status to indicate that data is received."}}}}}},"operationId":"PostPreviewWebhook","operationSource":{"kind":"code-sample","operationType":"http","method":"POST","path":"/previews/webhooks","servers":[{"url":"/_mock/catalog/all","description":"Mock server","isMockServer":true},{"url":"https://api-sandbox.rebilly.com/organizations/{organizationId}","description":"Sandbox server","variables":{"organizationId":{"default":"{organizationId}"}}},{"url":"https://api.rebilly.com/organizations/{organizationId}","description":"Live server","variables":{"organizationId":{"default":"{organizationId}"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"SecretApiKey","type":"apiKey","name":"REB-APIKEY","in":"header"}],"scopes":[]},{"schemes":[{"id":"JWT","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/GlobalWebhook"}},"responseCodes":["204","401","403","422","429"],"pointer":"/previews/webhooks","openApiOperationId":"PostPreviewWebhook","summary":"Send a test webhook","securityGroups":[{"SecretApiKey":[]},{"JWT":[]}],"definitionSamples":[{"lang":"JavaScript","source":"// first build the webhook data including\n// the credential hash\nconst data = {\n    eventsFilter: [],\n    status: 'active',\n    method: 'POST',\n    headers: {},\n    // hookb.in is a great tool for\n    // previewing webhooks\n    url: 'https://hookb.in/Oe90ZRmdeWUGWg1MGKQV',\n    // created prior to the test\n    credentialHash: 'dcf6e32f2daee457a1db8ce5fdfbe200'\n};\n\nconst request = await api.previews.webhooks({data});\n// the request does not return any fields but\n// you can confirm the success using the status code\nconsole.log(request.response.status); // 204"}]},"options":{"feedback":{"type":"mood","settings":{"comment":{"satisfiedLabel":"What did you like about this page?"},"optionalEmail":{"hide":false}}},"metadata":{"description":"All Rebilly APIs.","redocly_category":"API Reference"},"excludeFromSearch":true,"mockServer":{"url":"/_mock/catalog/all","position":"first","description":"Mock server"}},"pointer":"/paths/~1previews~1webhooks/post"}},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Alternatively, use the Rebilly UI to ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/automations/webhooks#test-a-webhook"},"children":["test a webhook"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you leave the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eventsFilter"]}," field empty all events are active for the webhook."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-event-notification","__idx":9},"children":["Example event notification"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All events are described in the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.rebilly.com/docs/dev-docs/api/"},"children":["Rebilly API documentation"]},". for an example, see the ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/dev-docs/api/invoices/invoice-paid/"},"children":["invoice paid event"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information on Rebilly resources, see ",{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://www.rebilly.com/docs/dev-docs/concepts/"},"children":["Concepts"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retry-policy-for-webhooks","__idx":10},"children":["Retry policy for webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a webhook is triggered and an HTTP 200 OK response is not received, the webhook is marked for retry."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In both the sandbox and live environments, the webhook is automatically resent after approximately 5 minutes."," ","The webhook is then resent at exponentially increasing intervals of approximately 1, 2, 4, 8, and 16 hours."," ","In total, the webhook is retried up to 6 times."," ","If still unsuccessful, it is not attempted again."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the sandbox environment, if the webhook is unsuccessful after 48 hours and 70 consecutive attempts, the corresponding webhook subscriber is disabled."]}]},"frontmatter":{"seo":{"title":"Webhooks configuration","description":"Learn how to use webhooks with the Rebilly API.","keywords":"Developer docs","lang":"en-US"},"redirects":{"/docs/developer-docs/webhooks/":{},"/docs/content/dev-docs/concept/webhooks/":{},"/docs/content/concepts-and-features/concept/webhooks/":{},"/docs/concepts-and-features/concept/webhooks/":{},"/docs/dev-docs/webhooks/":{}}},"tagList":["accordion","admonition","code-group","partial","replay-openapi","ui-icon"],"title":"Webhooks configuration","lastModified":"2026-10-13T14:55:53.000Z"}