# Core APIs

The most common APIs used to automate common workflows.

Version: latest
License: Rebilly

Metadata:
  - description: The most common APIs used to automate common workflows.
  - redocly_category: API Reference

## Servers

Sandbox server
```
https://api-sandbox.rebilly.com/organizations/{organizationId}
```

Variables:
- `organizationId`: [object Object]
  Default: "{organizationId}"

Live server
```
https://api.rebilly.com/organizations/{organizationId}
```

Variables:
- `organizationId`: [object Object]
  Default: "{organizationId}"

## Security

### JWT

[object Object],[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

### ApplicationJWT

[object Object],[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

### PublishableApiKey

[object Object],[object Object]

Type: apiKey
In: header
Name: Authorization

### SecretApiKey

Never share your secret keys.
Keep them guarded and secure.

Use your secret API key only to make requests from the server side.
To authenticate, provide your secret key in the request header.

Type: apiKey
In: header
Name: REB-APIKEY

### CustomerJWT

[object Object],[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [Core APIs](https://www.rebilly.com/_bundle/docs/dev-docs/api/index.yaml)

## Customers

 - [GET /customers](https://www.rebilly.com/docs/dev-docs/api/customers/getcustomercollection.md): Retrieves a list of customers.
 - [POST /customers](https://www.rebilly.com/docs/dev-docs/api/customers/postcustomer.md): Creates a new customer and customer ID. The customer's primary address is used as the default address for payment instruments, subscriptions, and invoices if none are provided. If the customer already
 - [GET /customers/{id}](https://www.rebilly.com/docs/dev-docs/api/customers/getcustomer.md): Retrieves a customer with a specified ID.
 - [PUT /customers/{id}](https://www.rebilly.com/docs/dev-docs/api/customers/putcustomer.md): Creates or updates (upserts) a customer with a specified ID. If the customer already has an identifier within your system, and you want to create a customer with a specified ID — use this operation to
 - [DELETE /customers/{id}](https://www.rebilly.com/docs/dev-docs/api/customers/deletecustomer.md): Merges one duplicate customer to another target customer and deletes the former.
 - [GET /customers/{id}/lead-source](https://www.rebilly.com/docs/dev-docs/api/customers/getcustomerleadsource.md): Retrieves lead source data for a customer with a specified ID. A lead source is the marketing campaign that generates customer interaction, a sale, or a trial. For more information, see [Lead source a
 - [PUT /customers/{id}/lead-source](https://www.rebilly.com/docs/dev-docs/api/customers/putcustomerleadsource.md): Creates a lead source for a customer with a specified ID. A lead source is the marketing campaign that generates customer interaction, a sale, or a trial. For more information, see [Lead source attrib
 - [DELETE /customers/{id}/lead-source](https://www.rebilly.com/docs/dev-docs/api/customers/deletecustomerleadsource.md): Deletes lead source data for a customer with a specified ID.
 - [GET /customers/{id}/credit-balance](https://www.rebilly.com/docs/dev-docs/api/customers/getcustomercreditbalance.md): Retrieves a customer's credit balance grouped by currency.
 - [POST /customers/{id}/compliance-screening-report](https://www.rebilly.com/docs/dev-docs/api/customers/postcustomercompliancescreeningreport.md): Creates a compliance screening report that includes Know Your Customer (KYC) and Anti-Money Laundering (AML) results for a customer. The report is stored as a PDF customer attachment. Requires the KYC
 - [POST customer-created](https://www.rebilly.com/docs/dev-docs/api/customers/customer-created.md)
 - [POST customer-merged](https://www.rebilly.com/docs/dev-docs/api/customers/customer-merged.md)
 - [POST customer-one-time-password-requested](https://www.rebilly.com/docs/dev-docs/api/customers/customer-one-time-password-requested.md)
 - [POST customer-tax-number-validated](https://www.rebilly.com/docs/dev-docs/api/customers/customer-tax-number-validated.md)
 - [POST customer-updated](https://www.rebilly.com/docs/dev-docs/api/customers/customer-updated.md)
 - [POST experian-check-performed](https://www.rebilly.com/docs/dev-docs/api/customers/experian-check-performed.md)
 - [POST lead-source-changed](https://www.rebilly.com/docs/dev-docs/api/customers/lead-source-changed.md)
## Customer authentication

 - [GET /authentication-options](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationoption.md): Retrieves customer authentication options.
 - [PUT /authentication-options](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/putauthenticationoption.md): Changes customer authentication options.
 - [GET /authentication-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationtokencollection.md): Retrieves a list of customer authentication tokens.
 - [POST /authentication-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postauthenticationtoken.md): Logs in a customer.
 - [GET /authentication-tokens/{token}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getauthenticationtokenverification.md): Verifies a customer's authentication token.
 - [DELETE /authentication-tokens/{token}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deleteauthenticationtoken.md): Logs out a customer.
 - [POST /authentication-tokens/{token}/exchange](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postauthenticationtokenexchange.md): Exchanges an authentication token for a JWT. By default, this operation invalidates the exchanged authentication token.
 - [GET /credentials](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getcredentialcollection.md): Retrieves a list of authentication credentials.
 - [POST /credentials](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postcredential.md): Creates an authentication credential.
 - [GET /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getcredential.md): Retrieves a credential with a specified ID.
 - [PUT /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/putcredential.md): Creates or updates (upserts) an authentication credential with a specified ID.
 - [DELETE /credentials/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deletecredential.md): Deletes an authentication credential with a specified ID.
 - [GET /password-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getpasswordtokencollection.md): Retrieves a list of reset password tokens.
 - [POST /password-tokens](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/postpasswordtoken.md): Creates a reset password token.
 - [GET /password-tokens/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/getpasswordtoken.md): Retrieves a reset password token with a specified ID.
 - [DELETE /password-tokens/{id}](https://www.rebilly.com/docs/dev-docs/api/customer-authentication/deletepasswordtoken.md): Deletes a reset password token with a specified ID.
## Account registration settings

 - [GET /account-registration-settings](https://www.rebilly.com/docs/dev-docs/api/account-registration-settings/getaccountregistrationsettingscollection.md): Retrieves a list of all account registration settings.
 - [POST /account-registration-settings](https://www.rebilly.com/docs/dev-docs/api/account-registration-settings/postaccountregistrationsettings.md): Creates a new account registration settings resource.
 - [GET /account-registration-settings/{id}](https://www.rebilly.com/docs/dev-docs/api/account-registration-settings/getaccountregistrationsettings.md): Retrieves account registration settings with a specified ID.
 - [PUT /account-registration-settings/{id}](https://www.rebilly.com/docs/dev-docs/api/account-registration-settings/putaccountregistrationsettings.md): Creates or updates account registration settings with a specified ID.
 - [DELETE /account-registration-settings/{id}](https://www.rebilly.com/docs/dev-docs/api/account-registration-settings/deleteaccountregistrationsettings.md): Deletes account registration settings with a specified ID. Default account registration settings cannot be deleted.
## Tags

 - [GET /tags](https://www.rebilly.com/docs/dev-docs/api/tags/gettagcollection.md): Retrieves a list of tags.
 - [POST /tags](https://www.rebilly.com/docs/dev-docs/api/tags/posttag.md): Creates a tag.
 - [GET /tags/{tag}](https://www.rebilly.com/docs/dev-docs/api/tags/gettag.md): Retrieves a tag with a specified name.
 - [PATCH /tags/{tag}](https://www.rebilly.com/docs/dev-docs/api/tags/patchtag.md): Updates a tag with a specified name.
 - [DELETE /tags/{tag}](https://www.rebilly.com/docs/dev-docs/api/tags/deletetag.md): Deletes a tag with a specified name. This is an asynchronous operation.
 - [POST /tags/{tag}/customers](https://www.rebilly.com/docs/dev-docs/api/tags/posttagcustomercollection.md): Tags a list of customers. If a customer in the list already has the specified tag applied, the customer is ignored. This is an asynchronous operation.
 - [DELETE /tags/{tag}/customers](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagcustomercollection.md): Untag a list of customers. If a customer in the list does not have the specified tag applied, the customer is ignored. This is an asynchronous operation.
 - [POST /tags/{tag}/customers/{customerId}](https://www.rebilly.com/docs/dev-docs/api/tags/posttagcustomer.md): Tags a customer.
 - [DELETE /tags/{tag}/customers/{customerId}](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagcustomer.md): Untags a customer.
 - [POST /tags/{tag}/kyc-documents](https://www.rebilly.com/docs/dev-docs/api/tags/posttagkycdocumentcollection.md): Tags a list of KYC documents. If a KYC document in the list already has the specified tag applied, the KYC document is ignored. This is an asynchronous operation.
 - [DELETE /tags/{tag}/kyc-documents](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagkycdocumentcollection.md): Untags a list of KYC documents. If a KYC document in the list does not have the specified tag applied, the KYC document is ignored. This is an asynchronous operation.
 - [POST /tags/{tag}/kyc-documents/{kycDocumentId}](https://www.rebilly.com/docs/dev-docs/api/tags/posttagkycdocument.md): Tags a KYC document.
 - [DELETE /tags/{tag}/kyc-documents/{kycDocumentId}](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagkycdocument.md): Untags a KYC document.
 - [POST /tags/{tag}/aml-checks](https://www.rebilly.com/docs/dev-docs/api/tags/posttagamlcheckcollection.md): Tags a list of AML checks. If an AML check in the list already has the specified tag applied, the AML check is ignored. This is an asynchronous operation.
 - [DELETE /tags/{tag}/aml-checks](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagamlcheckcollection.md): Untags a list of AML checks. If an AML check in the list does not have the specified tag applied, the AML check is ignored. This is an asynchronous operation.
 - [POST /tags/{tag}/aml-checks/{amlCheckId}](https://www.rebilly.com/docs/dev-docs/api/tags/posttagamlcheck.md): Tags an AML check. If an AML check in the list does not have the specified tag applied, the AML check is ignored.
 - [DELETE /tags/{tag}/aml-checks/{amlCheckId}](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagamlcheck.md): Untags an AML check. If an AML check in the list does not have the specified tag applied, the AML check is ignored.
 - [GET /tags-rules](https://www.rebilly.com/docs/dev-docs/api/tags/gettagrulecollection.md): Retrieves a list of tags rules.
 - [POST /tags-rules](https://www.rebilly.com/docs/dev-docs/api/tags/posttagrule.md): Creates a tags rule.
 - [GET /tags-rules/{id}](https://www.rebilly.com/docs/dev-docs/api/tags/gettagrule.md): Retrieves a tags rule with a specified ID.
 - [PUT /tags-rules/{id}](https://www.rebilly.com/docs/dev-docs/api/tags/puttagrule.md): Creates a tags rule with a specified ID.
 - [DELETE /tags-rules/{id}](https://www.rebilly.com/docs/dev-docs/api/tags/deletetagrule.md): Deletes a tags rule with a specified ID.
## Customers timeline

 - [GET /customer-timeline-custom-events](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/getcustomertimelinecustomeventtypecollection.md): Retrieves a list of customer timeline custom event types.
 - [POST /customer-timeline-custom-events](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/postcustomertimelinecustomeventtype.md): Creates a customer timeline custom event type.
 - [GET /customer-timeline-custom-events/{id}](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/getcustomertimelinecustomeventtype.md): Retrieves a customer timeline custom event type with a specified ID.
 - [GET /customers/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/getcustomertimelinecollection.md): Retrieves customer timeline messages.
 - [POST /customers/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/postcustomertimeline.md): Creates a customer timeline comment or custom defined event.
 - [GET /customers/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/getcustomertimeline.md): Retrieves a customer message with a specified ID.
 - [DELETE /customers/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/customers-timeline/deletecustomertimeline.md): Deletes a customer timeline message with a specified ID.
## Payment instruments

 - [GET /payment-instruments](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/getpaymentinstrumentcollection.md): Retrieves a list of payment instruments.
 - [POST /payment-instruments](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/postpaymentinstrument.md): Creates a payment instrument. If the payment card, bank account, or alternative payment instrument already exists it is updated.
 - [GET /payment-instruments/{id}](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/getpaymentinstrument.md): Retrieves a payment instrument with a specified ID.
 - [PATCH /payment-instruments/{id}](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/patchpaymentinstrument.md): Updates the values of a payment instrument with a specified ID.
 - [POST /payment-instruments/{id}/deactivation](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/postpaymentinstrumentdeactivation.md): Deactivates a payment instrument with a specified ID.
 - [POST /payment-instruments/{id}/name-inquiry](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/postpaymentinstrumentnameinquiry.md): Performs a name check inquiry on a payment instrument. Use this operation to confirm the name that is associated with a payment instrument. This operation supports payment cards only, using VISA ANI r
 - [POST payment-card-created](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/payment-card-created.md)
 - [POST payment-card-expiration-reminder](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/payment-card-expiration-reminder.md)
 - [POST payment-card-expired](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/payment-card-expired.md)
 - [POST payment-instrument-modified](https://www.rebilly.com/docs/dev-docs/api/payment-instruments/payment-instrument-modified.md)
## Payment tokens

 - [POST /tokens](https://www.rebilly.com/docs/dev-docs/api/payment-tokens/posttoken.md): Creates a payment token which can be exchanged into a payment instrument. [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) is the recommended way to create a payment token because it
 - [GET /tokens](https://www.rebilly.com/docs/dev-docs/api/payment-tokens/gettokencollection.md): Retrieve a list of tokens.
 - [GET /tokens/{token}](https://www.rebilly.com/docs/dev-docs/api/payment-tokens/gettoken.md): Retrieves a token with a specified ID.
 - [POST /digital-wallets/validation](https://www.rebilly.com/docs/dev-docs/api/payment-tokens/postdigitalwalletvalidation.md): Validates a digital wallet session. We recommend using [FramePay](https://docs.rebilly.com/docs/developer-docs/framepay/) to validate a digital wallet session.
## Transactions

 - [POST /ready-to-pay](https://www.rebilly.com/docs/dev-docs/api/transactions/postreadytopay.md): Retrieves available payment methods for a specific transaction or purchase. The order in which the payment methods are displayed to the customer should be the same as the order in the response. The li
 - [POST /transactions](https://www.rebilly.com/docs/dev-docs/api/transactions/posttransaction.md): Creates a transaction of type `sale`, `authorize` or `setup`. Use this operation for the following transactions. #### Real-time decision and response In this transaction, you send a request and inspec
 - [GET /transactions](https://www.rebilly.com/docs/dev-docs/api/transactions/gettransactioncollection.md): Retrieves a list of transactions.
 - [GET /transactions/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/gettransaction.md): Retrieves a transaction with a specified ID.
 - [PATCH /transactions/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/patchtransaction.md): Updates the custom fields of a transaction with a specified ID.
 - [POST /payouts](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayout.md): Creates a transaction of type `credit`.
 - [POST /transactions/{id}/query](https://www.rebilly.com/docs/dev-docs/api/transactions/posttransactionquery.md): Queries a transaction with a specified ID. The query interacts with the related gateway account to obtain the result, amount, and currency. If after analysis, the transaction must be updated, see [Upd
 - [POST /transactions/{id}/update](https://www.rebilly.com/docs/dev-docs/api/transactions/posttransactionupdate.md): Updates the status of a transaction with a specified ID to `completed`, with a specified `result` and optional currency and amount values.
 - [POST /transactions/{id}/refund](https://www.rebilly.com/docs/dev-docs/api/transactions/posttransactionrefund.md): Refunds a transaction with a specified ID. The refund is in the same currency as the original transaction.
 - [GET /payout-requests](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestcollection.md): Retrieves a list of payout requests. Filter by: `id`, `customerId`, `websiteId`, `batchId`, `status`, `blocked`, `blockReason`, `splitReason`, `createdTime`, `updatedTime`, `currency`, `amount`.
 - [POST /payout-requests](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequest.md): Creates a payout request. In the response, the `selectPaymentInstrumentUrl` field is used to redirect the customer to select a preferred payment instrument. After a payment instrument is selected, the
 - [GET /payout-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequest.md): Retrieves a payout request with a specified ID.
 - [PUT /payout-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/putpayoutrequest.md): Creates or updates (upserts) a payout request with a specified ID.
 - [PATCH /payout-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/patchpayoutrequest.md): Updates a payout request with a specified ID. Use this operation to update the status, description, and blocked state.
 - [POST /payout-requests/{id}/split](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestsplitlegacy.md): Splits a payout request that is in `pending`, `ready`, or `approved` status into two or more separate requests. Use this operation when the full amount cannot be processed due to amount restrictions,
 - [GET /payout-requests/{id}/payment-instruments](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestpaymentinstruments.md): Retrieves the payment gateway and a list of payment instruments that are associated with a payout request with a specified ID.
 - [POST /payout-request-splits](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestsplit.md): Splits a payout request that is in `pending`, `ready`, or `approved` status into two or more separate requests. Use this operation when the full amount cannot be processed due to amount restrictions,
 - [GET /payout-request-allocations](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestallocationcollection.md): Retrieves a list of payout request allocations.
 - [POST /payout-request-allocations](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestallocation.md): Creates an allocation for a payout request. When an allocation is created, the payout request transitions to the `in-progress` status, and the allocation starts in the `pending` status. The allocation
 - [POST /payout-request-allocations/auto](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestautoallocation.md): Creates an automatic payout request allocation using system-selected parameters. Only the payout request ID is required; all allocation details are determined automatically. When an allocation is crea
 - [GET /payout-request-allocations/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestallocation.md): Retrieves a payout request allocation with a specified ID.
 - [PATCH /payout-request-allocations/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/patchpayoutrequestallocation.md): Updates the status of a payout request allocation with a specified ID. Only the `processing` and `canceled` statuses can be set with this operation. The `processing` status transitions an allocation f
 - [POST /payout-request-allocations/process](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestallocationsprocess.md): Initiates the processing of one or more payout request allocations. Only allocations with status `pending` are processed. Each allocation is processed by creating a transaction. Rejects the request wi
 - [GET /payout-request-batches](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestbatchcollection.md): Retrieves a list of payout request batches.
 - [POST /payout-request-batches](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestbatch.md): Creates a batch of payout requests for batch processing. The batch links multiple payout requests together so they can be auto-allocated and processed together. Each payout request can be assigned to
 - [GET /payout-request-batches/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestbatch.md): Retrieves a payout request batch with a specified ID.
 - [PATCH /payout-request-batches/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/patchpayoutrequestbatch.md): Partially updates a payout request batch with a specified ID. Use this operation to update the description and allocation order.
 - [DELETE /payout-request-batches/{id}](https://www.rebilly.com/docs/dev-docs/api/transactions/deletepayoutrequestbatch.md): Deletes a payout request batch with a specified ID and clears the `batchId` field from every payout request in the batch. This operation preserves every payout request, status, and blocked state. This
 - [POST /payout-request-batches/{id}/auto-allocate](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestbatchautoallocate.md): Creates allocations automatically for all payout requests in the batch using the auto-allocation algorithm. Each payout request is processed independently.
 - [POST /payout-request-batches/{id}/approve](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestbatchapprove.md): Approves all payout requests in a specified batch. Each payout request is processed independently. Only payout requests with a status of `ready` can be approved.
 - [POST /payout-request-batches/{id}/block](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestbatchblock.md): Blocks all payout requests in a specified batch. Each payout request is processed independently.
 - [POST /payout-request-batches/{id}/payout-requests](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequeststobatch.md): Adds payout requests to a batch with a specified ID. Accepts payout requests in any status, with or without allocations. A batch contains a maximum of 1000 payout requests. Provide exactly one of the
 - [POST /payout-request-batches/{id}/payout-requests/remove](https://www.rebilly.com/docs/dev-docs/api/transactions/postremovepayoutrequestsfrombatch.md): Removes specified payout requests from a batch with a specified ID by clearing `batchId` on each request. This operation preserves each payout request, status, and blocked state. Removes requests rega
 - [POST /payout-request-batches/{id}/unblock](https://www.rebilly.com/docs/dev-docs/api/transactions/postpayoutrequestbatchunblock.md): Unblocks every blocked payout request in a batch with a specified ID. Leaves payout requests without a block unchanged. Processes all requests in the batch, up to the 1000-request batch limit, without
 - [GET /payout-request-batches/preview](https://www.rebilly.com/docs/dev-docs/api/transactions/getpayoutrequestbatchpreview.md): Retrieves aggregate information for the payout requests that match a specified filter. If more than 1000 payout requests match the filter, only the oldest 1000 are included in the preview.
 - [POST customer-redirected-offsite](https://www.rebilly.com/docs/dev-docs/api/transactions/customer-redirected-offsite.md)
 - [POST customer-returned](https://www.rebilly.com/docs/dev-docs/api/transactions/customer-returned.md)
 - [POST gateway-account-requested](https://www.rebilly.com/docs/dev-docs/api/transactions/gateway-account-requested.md)
 - [POST offsite-payment-completed](https://www.rebilly.com/docs/dev-docs/api/transactions/offsite-payment-completed.md)
 - [POST payout-request-canceled](https://www.rebilly.com/docs/dev-docs/api/transactions/payout-request-canceled.md)
 - [POST payout-request-created](https://www.rebilly.com/docs/dev-docs/api/transactions/payout-request-created.md)
 - [POST payout-request-fulfilled](https://www.rebilly.com/docs/dev-docs/api/transactions/payout-request-fulfilled.md)
 - [POST payout-request-modified](https://www.rebilly.com/docs/dev-docs/api/transactions/payout-request-modified.md)
 - [POST ready-to-pay-requested](https://www.rebilly.com/docs/dev-docs/api/transactions/ready-to-pay-requested.md)
 - [POST risk-score-changed](https://www.rebilly.com/docs/dev-docs/api/transactions/risk-score-changed.md)
 - [POST transaction-amount-discrepancy-found](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-amount-discrepancy-found.md)
 - [POST transaction-declined](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-declined.md)
 - [POST transaction-discrepancy-found](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-discrepancy-found.md)
 - [POST transaction-process-requested](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-process-requested.md)
 - [POST transaction-processed](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-processed.md)
 - [POST transaction-reconciled](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-reconciled.md)
 - [POST transaction-partially-refunded](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-partially-refunded.md)
 - [POST transaction-refunded](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-refunded.md)
 - [POST transaction-voided](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-voided.md)
 - [POST transaction-timeout-resolved](https://www.rebilly.com/docs/dev-docs/api/transactions/transaction-timeout-resolved.md)
 - [POST waiting-gateway-transaction-completed](https://www.rebilly.com/docs/dev-docs/api/transactions/waiting-gateway-transaction-completed.md)
 - [POST autodeposit-lookup-performed](https://www.rebilly.com/docs/dev-docs/api/transactions/autodeposit-lookup-performed.md)
## Disputes

 - [GET /disputes](https://www.rebilly.com/docs/dev-docs/api/disputes/getdisputecollection.md): Retrieves a list of all disputes.
 - [POST /disputes](https://www.rebilly.com/docs/dev-docs/api/disputes/postdispute.md): Creates a new dispute.
 - [GET /disputes/{id}](https://www.rebilly.com/docs/dev-docs/api/disputes/getdispute.md): Retrieves a dispute with a specified ID.
 - [PUT /disputes/{id}](https://www.rebilly.com/docs/dev-docs/api/disputes/putdispute.md): Creates or updates (upserts) a dispute with a specified ID.
 - [POST dispute-created](https://www.rebilly.com/docs/dev-docs/api/disputes/dispute-created.md)
 - [POST dispute-modified](https://www.rebilly.com/docs/dev-docs/api/disputes/dispute-modified.md)
## Fees

 - [GET /fees](https://www.rebilly.com/docs/dev-docs/api/fees/getfeecollection.md): Retrieves a list of fee entries. > **Important:** This operation is experimental and may not be backward compatible.
 - [POST /fees](https://www.rebilly.com/docs/dev-docs/api/fees/postfee.md): Creates a fee entry. > **Important:** This operation is experimental and may not be backward compatible.
 - [GET /fees/{id}](https://www.rebilly.com/docs/dev-docs/api/fees/getfee.md): Retrieves a fee entry. > **Important:** This operation is experimental and may not be backward compatible.
 - [PUT /fees/{id}](https://www.rebilly.com/docs/dev-docs/api/fees/putfee.md): Creates or updates (upserts) a fee entry. > **Important:** This operation is experimental and may not be backward compatible.
 - [PATCH /fees/{id}](https://www.rebilly.com/docs/dev-docs/api/fees/patchfee.md): Patches a fee entry. > **Important:** This operation is experimental and may not be backward compatible.
 - [DELETE /fees/{id}](https://www.rebilly.com/docs/dev-docs/api/fees/deletefee.md): Deletes a fee entry. > **Important:** This operation is experimental and may not be backward compatible.
## Transactions timeline

 - [GET /transactions/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/gettransactiontimelinecollection.md): Retrieves a list of transaction timeline messages.
 - [POST /transactions/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/posttransactiontimeline.md): Creates a transaction timeline comment.
 - [GET /transactions/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/gettransactiontimeline.md): Retrieves a timeline message with a specified ID.
 - [DELETE /transactions/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/deletetransactiontimeline.md): Deletes a transaction timeline message with a specified ID.
 - [GET /payout-requests/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/getpayoutrequesttimelinecollection.md): Retrieves a list of payout request timeline messages.
 - [POST /payout-requests/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/postpayoutrequesttimeline.md): Creates a payout request timeline comment.
 - [GET /payout-requests/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/getpayoutrequesttimelinemessage.md): Retrieves a payout request timeline message with a specified ID.
 - [DELETE /payout-requests/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/transactions-timeline/deletepayoutrequesttimelinemessage.md): Deletes a payout request timeline message with a specified ID.
## Orders

 - [GET /subscriptions](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncollection.md): Retrieves a list of orders.
 - [POST /subscriptions](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscription.md): Creates an order. To create or update an order with a specified ID, use the [Upsert an order](../PutSubscription) operation.
 - [GET /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscription.md): Retrieves an order with a specified ID.
 - [PUT /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscription.md): Creates or updates (upserts) an order with a specified ID.
 - [DELETE /subscriptions/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscription.md): Deletes a pending order with a specified ID.
 - [POST /subscriptions/{id}/void](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionvoid.md): Voids a pending order with a specified ID.
 - [POST /subscriptions/{id}/change-items](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionitemschange.md): Changes subscription order items or quantities, and designates if or when pro-rata credits should be given.
 - [PATCH /subscriptions/{id}/items/{itemId}](https://www.rebilly.com/docs/dev-docs/api/orders/patchsubscriptionitem.md): Updates a subscription order item. This is an experimental endpoint and may be changed or removed in the future.
 - [POST /subscriptions/{id}/interim-invoice](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptioninteriminvoice.md): Issues an interim invoice for a subscription order. Use this operation for plan changes and pro rata adjustments. This process: - Creates an invoice. - Adds the subscription line items to the invoice.
 - [GET /subscription-pauses](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionpausecollection.md): Retrieves a list of subscription order pauses.
 - [POST /subscription-pauses](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionpause.md): Pauses a subscription order with a specified ID.
 - [GET /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionpause.md): Retrieves a subscription order pause with a specified ID.
 - [PUT /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscriptionpause.md): Updates a subscription order pause.
 - [DELETE /subscription-pauses/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscriptionpause.md): Deletes a subscription order pause with a specified ID. If the specified pause is `pending`, it is `revoked`. If the specified pause is `ongoing`, it is `finished`.
 - [GET /subscription-cancellations](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncancellationcollection.md): Retrieves a list of subscription order cancellations.
 - [POST /subscription-cancellations](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptioncancellation.md): Cancels a subscription order.
 - [GET /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptioncancellation.md): Retrieves a subscription order cancellation with a specified ID.
 - [PUT /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/putsubscriptioncancellation.md): Creates or updates (upserts) a subscription order cancellation with a specified ID.
 - [PATCH /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/patchsubscriptioncancellation.md): Updates a subscription order cancellation with a specified ID. Use this operation to update a cancellation reason and description.
 - [DELETE /subscription-cancellations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/deletesubscriptioncancellation.md): Deletes a subscription order cancellation with a specified ID. > **Important:** Only subscription order cancellations with a `status` of `draft` can be deleted.
 - [GET /subscription-reactivations](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionreactivationcollection.md): Retrieves a list of subscription order reactivations.
 - [POST /subscription-reactivations](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionreactivation.md): Reactivates a subscription order with a specified ID.
 - [GET /subscription-reactivations/{id}](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionreactivation.md): Retrieves a subscription order reactivation with a specified ID.
 - [GET /subscriptions/{id}/upcoming-invoice](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionupcominginvoice.md): Retrieves an upcoming invoice for a specified subscription order. An upcoming invoice is an invoice that has not been issued. It functions as a preview of the next invoice for the order. For more info
 - [POST /subscriptions/{id}/upcoming-invoice/issue](https://www.rebilly.com/docs/dev-docs/api/orders/postsubscriptionupcominginvoiceissuance.md): Issues an upcoming invoice, for a subscription order with a specified ID, for early pay.
 - [POST /previews/orders](https://www.rebilly.com/docs/dev-docs/api/orders/postprevieworder.md): Previews an order. Use this operation to preview a draft order before making an order.
 - [GET /subscriptions/{id}/upcoming-invoices](https://www.rebilly.com/docs/dev-docs/api/orders/getsubscriptionupcominginvoicecollection.md): Retrieves an upcoming invoice for a specified subscription order. This endpoint is deprecated. Use [Retrieve an upcoming invoice](../GetSubscriptionUpcomingInvoice) instead.
 - [POST /subscriptions/{id}/upcoming-invoices/{invoiceId}/issue](https://www.rebilly.com/docs/dev-docs/api/orders/postupcominginvoiceissuance.md): Issues an upcoming invoice with a specified ID for early pay. This endpoint is deprecated. Use [Issue an upcoming invoice for early pay](../PostSubscriptionUpcomingInvoiceIssuance) instead.
 - [POST hard-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/hard-usage-limit-reached.md)
 - [POST order-abandon-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/order-abandon-reminder.md)
 - [POST order-abandoned](https://www.rebilly.com/docs/dev-docs/api/orders/order-abandoned.md)
 - [POST order-completed](https://www.rebilly.com/docs/dev-docs/api/orders/order-completed.md)
 - [POST renewal-invoice-issued](https://www.rebilly.com/docs/dev-docs/api/orders/renewal-invoice-issued.md)
 - [POST soft-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/soft-usage-limit-reached.md)
 - [POST subscription-activated](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-activated.md)
 - [POST subscription-canceled](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-canceled.md)
 - [POST subscription-churned](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-churned.md)
 - [POST subscription-created](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-created.md)
 - [POST subscription-downgraded](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-downgraded.md)
 - [POST subscription-items-changed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-items-changed.md)
 - [POST subscription-modified](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-modified.md)
 - [POST subscription-quantity-filled-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-quantity-filled-limit-reached.md)
 - [POST subscription-reactivated](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-reactivated.md)
 - [POST subscription-renewal-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-renewal-reminder.md)
 - [POST subscription-renewed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-renewed.md)
 - [POST subscription-trial-converted](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-converted.md)
 - [POST subscription-trial-end-reminder](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-end-reminder.md)
 - [POST subscription-trial-ended](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-trial-ended.md)
 - [POST subscription-upgraded](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-upgraded.md)
 - [POST subscription-paused](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-paused.md)
 - [POST subscription-pause-created](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-created.md)
 - [POST subscription-pause-modified](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-modified.md)
 - [POST subscription-pause-revoked](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-pause-revoked.md)
 - [POST subscription-resumed](https://www.rebilly.com/docs/dev-docs/api/orders/subscription-resumed.md)
 - [POST trial-usage-limit-reached](https://www.rebilly.com/docs/dev-docs/api/orders/trial-usage-limit-reached.md)
 - [POST order-delinquency-reached](https://www.rebilly.com/docs/dev-docs/api/orders/order-delinquency-reached.md)
## Invoices

 - [GET /invoices](https://www.rebilly.com/docs/dev-docs/api/invoices/getinvoicecollection.md): Retrieves a list of invoices.
 - [POST /invoices](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoice.md): Creates an invoice.
 - [GET /invoices/{id}](https://www.rebilly.com/docs/dev-docs/api/invoices/getinvoice.md): Retrieves an invoice with a specified ID.
 - [PUT /invoices/{id}](https://www.rebilly.com/docs/dev-docs/api/invoices/putinvoice.md): Creates or updates (upserts) an invoice with a specified ID. Returns a conflict error if the specified ID belongs to an upcoming invoice.
 - [GET /invoices/{id}/items](https://www.rebilly.com/docs/dev-docs/api/invoices/getinvoiceitemcollection.md): Retrieves invoice items with a specified invoice ID.
 - [POST /invoices/{id}/items](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoiceitem.md): Creates an invoice item.
 - [GET /invoices/{id}/items/{itemId}](https://www.rebilly.com/docs/dev-docs/api/invoices/getinvoiceitem.md): Retrieves an invoice item.
 - [PUT /invoices/{id}/items/{itemId}](https://www.rebilly.com/docs/dev-docs/api/invoices/putinvoiceitem.md): Updates an invoice item.
 - [DELETE /invoices/{id}/items/{itemId}](https://www.rebilly.com/docs/dev-docs/api/invoices/deleteinvoiceitem.md): Deletes an invoice item.
 - [POST /invoices/{id}/issue](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoiceissuance.md): Issues an invoice with a specified ID. The invoice must be in `draft` status.
 - [POST /invoices/{id}/abandon](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoiceabandonment.md): Abandons an invoice with a specified ID.
 - [POST /invoices/{id}/void](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoicevoid.md): Voids an invoice with a specified ID.
 - [POST /invoices/{id}/recalculate](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoicerecalculation.md): Recalculates shipping rates, taxes, and discounts on an invoice with a specified ID. One use case for this operation to apply a revoked coupon, or coupon that is redeemed by a customer after the invo
 - [POST /invoices/{id}/reissue](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoicereissuance.md): Reissues an invoice with a specified ID. The status of the invoice must be `unpaid`, `partially paid`, `past due` or `abandoned`.
 - [GET /invoices/{id}/transaction-allocations](https://www.rebilly.com/docs/dev-docs/api/invoices/getinvoicetransactionallocationcollection.md): Retrieves amounts from a transaction that are allocated as invoice payments.
 - [POST /invoices/{id}/allocate-credit-balance](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoiceallocatecreditbalance.md): Allocates existing allocatable credit memos related to the invoice customer. Specific credit memos cannot be provided in the request and are selected automatically. Allocation can be capped with `amou
 - [POST /invoices/{id}/transaction](https://www.rebilly.com/docs/dev-docs/api/invoices/postinvoicetransaction.md): Applies a transaction to an invoice. The invoice status must be `unpaid`, and the transaction must have a non-zero unused amount.
 - [POST invoice-tax-calculation-failed](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-tax-calculation-failed.md)
 - [POST invoice-abandoned](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-abandoned.md)
 - [POST invoice-created](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-created.md)
 - [POST invoice-issued](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-issued.md)
 - [POST invoice-modified](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-modified.md)
 - [POST invoice-paid](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-paid.md)
 - [POST invoice-partially-paid](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-partially-paid.md)
 - [POST invoice-refunded](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-refunded.md)
 - [POST invoice-partially-refunded](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-partially-refunded.md)
 - [POST invoice-past-due](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-past-due.md)
 - [POST invoice-past-due-reminder](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-past-due-reminder.md)
 - [POST invoice-reissued](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-reissued.md)
 - [POST invoice-voided](https://www.rebilly.com/docs/dev-docs/api/invoices/invoice-voided.md)
 - [POST renewal-invoice-payment-canceled](https://www.rebilly.com/docs/dev-docs/api/invoices/renewal-invoice-payment-canceled.md)
 - [POST renewal-invoice-payment-declined](https://www.rebilly.com/docs/dev-docs/api/invoices/renewal-invoice-payment-declined.md)
## Usage

 - [GET /usages](https://www.rebilly.com/docs/dev-docs/api/usage/getusagecollection.md): Retrieves a list of usage records.
 - [POST /usages](https://www.rebilly.com/docs/dev-docs/api/usage/postusage.md): Creates a usage report.
 - [GET /usages/{id}](https://www.rebilly.com/docs/dev-docs/api/usage/getusage.md): Retrieves a usage record with a specified ID.
 - [DELETE /usages/{id}](https://www.rebilly.com/docs/dev-docs/api/usage/deleteusage.md): Deletes a usage record with a specified ID.
## Credit memos

 - [GET /credit-memos](https://www.rebilly.com/docs/dev-docs/api/credit-memos/getcreditmemocollection.md): Retrieves a list of credit memos.
 - [POST /credit-memos](https://www.rebilly.com/docs/dev-docs/api/credit-memos/postcreditmemo.md): Creates a credit memo.
 - [GET /credit-memos/{id}](https://www.rebilly.com/docs/dev-docs/api/credit-memos/getcreditmemo.md): Retrieves a credit memo with a specified ID.
 - [PUT /credit-memos/{id}](https://www.rebilly.com/docs/dev-docs/api/credit-memos/putcreditmemo.md): Creates or updates (upserts) a credit memo with a specified ID.
 - [PATCH /credit-memos/{id}](https://www.rebilly.com/docs/dev-docs/api/credit-memos/patchcreditmemo.md): Partially updates a credit memo with a specified ID.
 - [POST /credit-memos/{id}/void](https://www.rebilly.com/docs/dev-docs/api/credit-memos/postcreditmemovoid.md): Voids a credit memo with a specified ID.
 - [POST /credit-memos/{id}/refund](https://www.rebilly.com/docs/dev-docs/api/credit-memos/postcreditmemorefund.md): Refunds a credit memo with a specified ID. The transactions of the last invoice for the order or the invoice directly related to the credit memo are refunded.
 - [POST credit-memo-applied](https://www.rebilly.com/docs/dev-docs/api/credit-memos/credit-memo-applied.md)
 - [POST credit-memo-created](https://www.rebilly.com/docs/dev-docs/api/credit-memos/credit-memo-created.md)
 - [POST credit-memo-modified](https://www.rebilly.com/docs/dev-docs/api/credit-memos/credit-memo-modified.md)
 - [POST credit-memo-partially-applied](https://www.rebilly.com/docs/dev-docs/api/credit-memos/credit-memo-partially-applied.md)
 - [POST credit-memo-voided](https://www.rebilly.com/docs/dev-docs/api/credit-memos/credit-memo-voided.md)
## Plans

 - [GET /plans](https://www.rebilly.com/docs/dev-docs/api/plans/getplancollection.md): Retrieves a list of plans.
 - [POST /plans](https://www.rebilly.com/docs/dev-docs/api/plans/postplan.md): Creates a plan.
 - [GET /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/getplan.md): Retrieves a plan with a specified ID.
 - [PUT /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/putplan.md): Creates or updates (upserts) a plan with a specified ID.
 - [DELETE /plans/{id}](https://www.rebilly.com/docs/dev-docs/api/plans/deleteplan.md): Deletes a plan with a specified ID.
## Products

 - [GET /products](https://www.rebilly.com/docs/dev-docs/api/products/getproductcollection.md): Retrieves a list of products.
 - [POST /products](https://www.rebilly.com/docs/dev-docs/api/products/postproduct.md): Creates a product.
 - [GET /products/{id}](https://www.rebilly.com/docs/dev-docs/api/products/getproduct.md): Retrieves a product with a specified ID.
 - [PUT /products/{id}](https://www.rebilly.com/docs/dev-docs/api/products/putproduct.md): Creates or updates (upserts) a product with a specified ID.
 - [DELETE /products/{id}](https://www.rebilly.com/docs/dev-docs/api/products/deleteproduct.md): Deletes a product with a specified ID.
## Coupons

 - [Coupon restriction types](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-restriction-types.md): ### Coupon restriction types The following coupon description types are available: - `restrict-to-countries`: Restricts a coupon for use in specific countries. - `discounts-per-redemption`: Restricts
 - [GET /coupons-redemptions](https://www.rebilly.com/docs/dev-docs/api/coupons/getcouponredemptioncollection.md): Retrieves a list of coupon redemptions.
 - [POST /coupons-redemptions](https://www.rebilly.com/docs/dev-docs/api/coupons/postcouponredemption.md): Redeems a coupon.
 - [GET /coupons-redemptions/{id}](https://www.rebilly.com/docs/dev-docs/api/coupons/getcouponredemption.md): Retrieves a coupon redemption with a specified ID.
 - [POST /coupons-redemptions/{id}/cancel](https://www.rebilly.com/docs/dev-docs/api/coupons/postcouponredemptioncancellation.md): Cancels a coupon redemption with a specified ID.
 - [GET /coupons](https://www.rebilly.com/docs/dev-docs/api/coupons/getcouponcollection.md): Retrieves a list of coupons.
 - [POST /coupons](https://www.rebilly.com/docs/dev-docs/api/coupons/postcoupon.md): Creates a coupon.
 - [GET /coupons/{id}](https://www.rebilly.com/docs/dev-docs/api/coupons/getcoupon.md): Retrieves a coupon with a specified ID.
 - [PUT /coupons/{id}](https://www.rebilly.com/docs/dev-docs/api/coupons/putcoupon.md): Creates or updates (upserts) a coupon with a specified coupon ID.
 - [POST /coupons/{id}/expiration](https://www.rebilly.com/docs/dev-docs/api/coupons/postcouponexpiration.md): Specifies the expiration time of a coupon with a specified ID. The `expiredTime` of a coupon must be greater than its `issuedTime`. > **Note:** This operation cannot be performed on expired coupons.
 - [POST coupon-application-removed](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-application-removed.md)
 - [POST coupon-applied](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-applied.md)
 - [POST coupon-expiration-modified](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-expiration-modified.md)
 - [POST coupon-expired](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-expired.md)
 - [POST coupon-issued](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-issued.md)
 - [POST coupon-modified](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-modified.md)
 - [POST coupon-redeemed](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-redeemed.md)
 - [POST coupon-redemption-canceled](https://www.rebilly.com/docs/dev-docs/api/coupons/coupon-redemption-canceled.md)
## Quotes

 - [GET /quotes](https://www.rebilly.com/docs/dev-docs/api/quotes/getquotecollection.md): Retrieves a list of quotes.
 - [POST /quotes](https://www.rebilly.com/docs/dev-docs/api/quotes/postquote.md): Creates a quote.
 - [GET /quotes/{id}](https://www.rebilly.com/docs/dev-docs/api/quotes/getquote.md): Retrieves a quote with a specified ID.
 - [PUT /quotes/{id}](https://www.rebilly.com/docs/dev-docs/api/quotes/putquote.md): Creates or updates a quote with a specified ID. The update operation can only be used for quotes with a `status` of `draft`.
 - [PATCH /quotes/{id}](https://www.rebilly.com/docs/dev-docs/api/quotes/patchquote.md): Partially updates a quote with a specified ID. The update operation can only be used for quotes with a `status` of `draft`.
 - [POST /quotes/{id}/accept](https://www.rebilly.com/docs/dev-docs/api/quotes/postquoteacceptance.md): Accepts an issued quote with a specified ID.
 - [POST /quotes/{id}/cancel](https://www.rebilly.com/docs/dev-docs/api/quotes/postquotecancellation.md): Cancels a draft or issued quote with a specified ID.
 - [POST /quotes/{id}/issue](https://www.rebilly.com/docs/dev-docs/api/quotes/postquoteissuance.md): Issues a draft quote with a specified ID.
 - [POST /quotes/{id}/recall](https://www.rebilly.com/docs/dev-docs/api/quotes/postquoterecall.md): Recalls an issued quote with a specified ID so that it can be edited. Recalled quotes are assigned the `status` of `draft`.
 - [POST /quotes/{id}/reject](https://www.rebilly.com/docs/dev-docs/api/quotes/postquoterejection.md): Rejects an issued quote with specified ID.
 - [POST quote-accepted](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-accepted.md)
 - [POST quote-canceled](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-canceled.md)
 - [POST quote-created](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-created.md)
 - [POST quote-expired](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-expired.md)
 - [POST quote-issued](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-issued.md)
 - [POST quote-recalled](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-recalled.md)
 - [POST quote-rejected](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-rejected.md)
 - [POST quote-updated](https://www.rebilly.com/docs/dev-docs/api/quotes/quote-updated.md)
## Quotes timeline

 - [GET /quotes/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/quotes-timeline/getquotetimelinecollection.md): Retrieves quote timeline messages.
 - [POST /quotes/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/quotes-timeline/postquotetimeline.md): Creates a quote timeline comment or custom defined event.
 - [GET /quotes/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/quotes-timeline/getquotetimeline.md): Retrieves a quote timeline message with a specified ID.
 - [DELETE /quotes/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/quotes-timeline/deletequotetimeline.md): Deletes a quote timeline message with a specified ID.
## Shipping rates

 - [GET /shipping-rates](https://www.rebilly.com/docs/dev-docs/api/shipping-rates/getshippingratecollection.md): Retrieves a list of shipping rates.
 - [POST /shipping-rates](https://www.rebilly.com/docs/dev-docs/api/shipping-rates/postshippingrate.md): Creates a shipping rate.
 - [GET /shipping-rates/{id}](https://www.rebilly.com/docs/dev-docs/api/shipping-rates/getshippingrate.md): Retrieves a shipping rate with a specified ID.
 - [PUT /shipping-rates/{id}](https://www.rebilly.com/docs/dev-docs/api/shipping-rates/putshippingrate.md): Creates a shipping rate with a specified ID.
 - [DELETE /shipping-rates/{id}](https://www.rebilly.com/docs/dev-docs/api/shipping-rates/deleteshippingrate.md): Deletes a shipping rate with a specified ID.
## Orders timeline

 - [GET /subscriptions/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/orders-timeline/getsubscriptiontimelinecollection.md): Retrieves a list of order timeline messages.
 - [POST /subscriptions/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/orders-timeline/postsubscriptiontimeline.md): Creates an order timeline comment.
 - [GET /subscriptions/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/orders-timeline/getsubscriptiontimeline.md): Retrieves an order timeline message with a specified ID.
 - [DELETE /subscriptions/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/orders-timeline/deletesubscriptiontimeline.md): Deletes an order timeline message with a specified ID.
## Invoices timeline

 - [GET /invoices/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/invoices-timeline/getinvoicetimelinecollection.md): Retrieves a list of invoice timeline messages.
 - [POST /invoices/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/invoices-timeline/postinvoicetimeline.md): Creates an invoice timeline comment.
 - [GET /invoices/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/invoices-timeline/getinvoicetimeline.md): Retrieves an invoice timeline message with a specified ID.
 - [DELETE /invoices/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/invoices-timeline/deleteinvoicetimeline.md): Deletes an invoice timeline message with a specified ID.
## Credit memos timeline

 - [GET /credit-memos/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/credit-memos-timeline/getcreditmemotimelinecollection.md): Retrieves a list of credit memo timeline messages.
 - [POST /credit-memos/{id}/timeline](https://www.rebilly.com/docs/dev-docs/api/credit-memos-timeline/postcreditmemotimeline.md): Creates a credit memo timeline message.
 - [GET /credit-memos/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/credit-memos-timeline/getcreditmemotimeline.md): Retrieves a credit memo timeline message with a specified ID.
 - [DELETE /credit-memos/{id}/timeline/{messageId}](https://www.rebilly.com/docs/dev-docs/api/credit-memos-timeline/deletecreditmemotimeline.md): Deletes a credit memo timeline message with a specified ID.
## Blocklists

 - [GET /blocklists](https://www.rebilly.com/docs/dev-docs/api/blocklists/getblocklistcollection.md): Retrieves a list of all blocklists.
 - [POST /blocklists](https://www.rebilly.com/docs/dev-docs/api/blocklists/postblocklist.md): Creates a blocklist.
 - [GET /blocklists/{id}](https://www.rebilly.com/docs/dev-docs/api/blocklists/getblocklist.md): Retrieves a blocklist with a specified ID.
 - [PUT /blocklists/{id}](https://www.rebilly.com/docs/dev-docs/api/blocklists/putblocklist.md): Creates a blocklist with a specified ID.
 - [DELETE /blocklists/{id}](https://www.rebilly.com/docs/dev-docs/api/blocklists/deleteblocklist.md): Deletes a blocklist with a specified ID.
## Allowlists

 - [GET /allowlists](https://www.rebilly.com/docs/dev-docs/api/allowlists/getallowlistcollection.md): Retrieves allowlist collection.
 - [POST /allowlists](https://www.rebilly.com/docs/dev-docs/api/allowlists/postallowlist.md): Creates allowlist record.
 - [GET /allowlists/{id}](https://www.rebilly.com/docs/dev-docs/api/allowlists/getallowlist.md): Retrieves allowlist record.
 - [DELETE /allowlists/{id}](https://www.rebilly.com/docs/dev-docs/api/allowlists/deleteallowlist.md): Deletes allowlist record with a specified ID.
## KYC documents

 - [Credit file proof](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/credit-file-proof.md): ### Credit file proof The `credit-file-proof` KYC document request type is only available in the API, this option is not available in the [KYC document gatherer](https://www.rebilly.com/docs/kyc-and-a
 - [POST /kyc-requests](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycrequest.md): Creates a KYC request. The customer is redirected to the `kycGatherer` link. After the customer completes the KYC process, they are redirected back to the `redirectUrl` link. Corresponding webhooks, s
 - [GET /kyc-requests](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycrequestcollection.md): Retrieves a list of KYC requests.
 - [GET /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycrequest.md): Retrieves a KYC request with a specified ID.
 - [PATCH /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/patchkycrequest.md): Updates a KYC request with a specified ID.
 - [DELETE /kyc-requests/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/deletekycrequest.md): Deletes a KYC request with a specified ID.
 - [GET /kyc-documents](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycdocumentcollection.md): Retrieves a list of KYC documents.
 - [POST /kyc-documents](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocument.md): Creates a KYC document.
 - [GET /kyc-documents/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycdocument.md): Retrieves a KYC document with a specified ID.
 - [PUT /kyc-documents/{id}](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/putkycdocument.md): Creates or updates (upserts) a KYC document with a specified ID.
 - [POST /kyc-documents/{id}/acceptance](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentacceptance.md): Accepts a KYC document and changes the documents `status` to `accepted`. The review time and reviewer information is also updated. > **Note:** Use this operation for manual overrides.
 - [POST /kyc-documents/{id}/matches](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentmatches.md): Updates the document matches of a KYC document with a specified ID. > **Note:** Use this operation for manual overrides. The request body schema depends on the KYC document `documentType`. The operat
 - [POST /kyc-documents/{id}/rejection](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentrejection.md): Rejects a KYC document and changes the `status` to `rejected`. The review time and reviewer information is also updated. > **Note:** Use this operation for manual overrides.
 - [POST /kyc-documents/{id}/review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentreview.md): Updates the `reviewTime` and `reviewerId` of a KYC document with a specified ID.
 - [POST /kyc-documents/{id}/start-review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentstartreview.md): Starts the review process of a KYC document with a specified ID. This operation also sets the KYC document `reviewStartTime` to the current date-time, and updates the review information.
 - [POST /kyc-documents/{id}/stop-review](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/postkycdocumentstopreview.md): Stops the review of a KYC document with a specified ID. This operation also sets the KYC document `reviewStartTime` and the reviewer information to null. Use this operation when the reviewer must stop
 - [GET /kyc-settings](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/getkycsettings.md): Retrieves KYC settings.
 - [PUT /kyc-settings](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/putkycsettings.md): Updates KYC settings.
 - [POST kyc-document-accepted](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-accepted.md)
 - [POST kyc-document-created](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-created.md)
 - [POST kyc-document-modified](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-modified.md)
 - [POST kyc-document-rejected](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-rejected.md)
 - [POST kyc-document-reviewed](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-reviewed.md)
 - [POST kyc-document-archived](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-document-archived.md)
 - [POST kyc-request-attempted](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-attempted.md)
 - [POST kyc-request-failed](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-failed.md)
 - [POST kyc-request-fulfilled](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-fulfilled.md)
 - [POST kyc-request-partially-fulfilled](https://www.rebilly.com/docs/dev-docs/api/kyc-documents/kyc-request-partially-fulfilled.md)
## AML

 - [GET /aml-checks](https://www.rebilly.com/docs/dev-docs/api/aml/getamlcheckcollection.md): Retrieves a list of AML checks. These checks are records of customer data and potentially matching data in AML lists.
 - [GET /aml-checks/{id}](https://www.rebilly.com/docs/dev-docs/api/aml/getamlcheck.md): Retrieves the results of a customer's AML check. Customer metadata and an array of matching AML hits is returned.
 - [POST /aml-checks/{id}/start-review](https://www.rebilly.com/docs/dev-docs/api/aml/postamlcheckstartreview.md): Starts the manual review process for an AML check with a specified ID. This operation also sets the AML check `reviewStartTime` to the current date-time, and updates the review information.
 - [POST /aml-checks/{id}/stop-review](https://www.rebilly.com/docs/dev-docs/api/aml/postamlcheckstopreview.md): Stops the manual review process for an AML check with a specified ID. This operation also sets the AML check `reviewStartTime` and the reviewer information to null. Use this operation when the reviewe
 - [POST /aml-checks/{id}/review](https://www.rebilly.com/docs/dev-docs/api/aml/postamlcheckreview.md): Reviews an AML check. The AML check can be either confirmed or marked as a false positive.
 - [GET /aml-settings](https://www.rebilly.com/docs/dev-docs/api/aml/getamlsettings.md): Retrieves AML settings.
 - [PUT /aml-settings](https://www.rebilly.com/docs/dev-docs/api/aml/putamlsettings.md): Updates AML settings.
 - [POST aml-list-possibly-matched](https://www.rebilly.com/docs/dev-docs/api/aml/aml-list-possibly-matched.md)
## Risk score

 - [GET /risk-score-rules](https://www.rebilly.com/docs/dev-docs/api/risk-score/getriskscorerules.md): Retrieves risk score rules.
 - [PUT /risk-score-rules](https://www.rebilly.com/docs/dev-docs/api/risk-score/putriskscorerules.md): Modifies risk score rules.
 - [GET /risk-score-rules/blocklists](https://www.rebilly.com/docs/dev-docs/api/risk-score/getriskscoreblocklistrules.md): Retrieves risk score blocklist rules.
 - [PUT /risk-score-rules/blocklists](https://www.rebilly.com/docs/dev-docs/api/risk-score/putriskscoreblocklistrules.md): Modifies risk score blocklist rules.
## Custom fields

 - [GET /custom-fields/{resource}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/getcustomfieldcollection.md): Retrieves the custom fields schema for a specified resource.
 - [GET /custom-fields/{resource}/{name}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/getcustomfield.md): Retrieves a specified custom field schema for a specified resource.
 - [PUT /custom-fields/{resource}/{name}](https://www.rebilly.com/docs/dev-docs/api/custom-fields/putcustomfield.md): Creates or alters a specified custom field schema for a specified resource.
## Files

 - [GET /attachments](https://www.rebilly.com/docs/dev-docs/api/files/getattachmentcollection.md): Retrieves a list of attachments. You may sort attachments by: `id`, `name`, `relatedId`, `relatedType`, `fileId`, `createdTime`, and `updatedTime`.
 - [POST /attachments](https://www.rebilly.com/docs/dev-docs/api/files/postattachment.md): Attaches a file to one or multiple objects, such as: customer, dispute, transaction, order, plan, product, invoice, or timeline comment. Attachments enable you to quickly find and use files related to
 - [GET /attachments/{id}](https://www.rebilly.com/docs/dev-docs/api/files/getattachment.md): Retrieves an attachment with a specified ID.
 - [PUT /attachments/{id}](https://www.rebilly.com/docs/dev-docs/api/files/putattachment.md): Updates an attachment with a specified ID.
 - [DELETE /attachments/{id}](https://www.rebilly.com/docs/dev-docs/api/files/deleteattachment.md): Deletes an attachment with a specified ID.
 - [GET /files](https://www.rebilly.com/docs/dev-docs/api/files/getfilecollection.md): Retrieves a list of files.
 - [POST /files](https://www.rebilly.com/docs/dev-docs/api/files/postfile.md): Creates a file. Additionally, a file can be sent by: - Multipart/form-data POST request: In this request, the file is uploaded and all property names are the same as the JSON names. - File body reques
 - [GET /files/{id}](https://www.rebilly.com/docs/dev-docs/api/files/getfile.md): Retrieves a file with a specified ID.
 - [PUT /files/{id}](https://www.rebilly.com/docs/dev-docs/api/files/putfile.md): Updates a file with a specified ID. > **Note:** Files can only be uploaded by POST request. For more information, see the Create a file operation.
 - [DELETE /files/{id}](https://www.rebilly.com/docs/dev-docs/api/files/deletefile.md): Deletes a file with a specified ID.
 - [GET /files/{id}/download](https://www.rebilly.com/docs/dev-docs/api/files/getfiledownload.md): Downloads a file with a specified ID.
## Search

 - [GET /search](https://www.rebilly.com/docs/dev-docs/api/search/getsearch.md): Searches merchant data to return resources such as customers, invoices, orders, transactions.
