# Core API v2

Official ODUS Core API reference. ODUS is a payment orchestration platform that simplifies payment processing by integrating multiple payment gateways into a single API.

## Base URLs

- Production URL: `https://api.odus.com`
- Sandbox URL: `https://sandbox-api.odus.com`

## OpenAPI document

https://api.odus.com/openapi.v2.json is the machine-readable source of every page listed here (OpenAPI 3.1.1).

## Endpoints

### Accounts

- [List accessible accounts](https://docs.odus.com/docs/api/core/v2/account-controller-find-all-paginated.md): `GET /v2/accounts`
- [Get currently logged in to account details](https://docs.odus.com/docs/api/core/v2/account-controller-get-self.md): `GET /v2/accounts/self`

### Customer Blacklist

- [Find all Blacklist entries](https://docs.odus.com/docs/api/core/v2/blacklist-controller-find-all-paginated.md): `GET /v2/blacklist`
- [Create a Blacklist entry](https://docs.odus.com/docs/api/core/v2/blacklist-controller-create.md): `POST /v2/blacklist`
- [Find one Blacklist entry](https://docs.odus.com/docs/api/core/v2/blacklist-controller-find-one.md): `GET /v2/blacklist/{id}`
- [Delete a Blacklist entry](https://docs.odus.com/docs/api/core/v2/blacklist-controller-delete-entry.md): `POST /v2/blacklist/{id}/delete`

### Cascades

- [Find all Cascades](https://docs.odus.com/docs/api/core/v2/cascade-controller-find-all-paginated.md): `GET /v2/cascades`
- [Create a Cascade](https://docs.odus.com/docs/api/core/v2/cascade-controller-create.md): `POST /v2/cascades`
- [Find one Cascade](https://docs.odus.com/docs/api/core/v2/cascade-controller-find-one.md): `GET /v2/cascades/{id}`
- [Update a Cascade](https://docs.odus.com/docs/api/core/v2/cascade-controller-update.md): `POST /v2/cascades/{id}`

### Customers

- [Find all Customers](https://docs.odus.com/docs/api/core/v2/customer-controller-find-all-paginated.md): `GET /v2/customers`
- [Find one Customer](https://docs.odus.com/docs/api/core/v2/customer-controller-find-one.md): `GET /v2/customers/{id}`
- [Update a Customer](https://docs.odus.com/docs/api/core/v2/customer-controller-update.md): `POST /v2/customers/{id}`
- [Manage Customer Restrictions](https://docs.odus.com/docs/api/core/v2/customer-controller-manage-restrictions.md): `POST /v2/customers/{id}/restrictions`

### Events

- [List Events](https://docs.odus.com/docs/api/core/v2/event-controller-find-all-paginated.md): `GET /v2/events`

### Gateway Operations

- [Find all Gateway Operations](https://docs.odus.com/docs/api/core/v2/gateway-operation-controller-find-all-paginated.md): `GET /v2/gateway-operations`
- [Find one Gateway Operation](https://docs.odus.com/docs/api/core/v2/gateway-operation-controller-find-one.md): `GET /v2/gateway-operations/{id}`

### Gateway Profiles

- [Find all Gateway Profiles](https://docs.odus.com/docs/api/core/v2/gateway-profile-controller-find-all-paginated.md): `GET /v2/gateway-profiles`
- [Create a Gateway Profile](https://docs.odus.com/docs/api/core/v2/gateway-profile-controller-create.md): `POST /v2/gateway-profiles`
- [Find one Gateway Profile](https://docs.odus.com/docs/api/core/v2/gateway-profile-controller-find-one.md): `GET /v2/gateway-profiles/{id}`
- [Update a Gateway Profile](https://docs.odus.com/docs/api/core/v2/gateway-profile-controller-update.md): `POST /v2/gateway-profiles/{id}`

### Invoices

- [Find all Invoices](https://docs.odus.com/docs/api/core/v2/invoice-controller-find-all-paginated.md): `GET /v2/invoices`
- [Find one Invoice](https://docs.odus.com/docs/api/core/v2/invoice-controller-find-one.md): `GET /v2/invoices/{id}`
- [Void an Invoice](https://docs.odus.com/docs/api/core/v2/invoice-controller-void.md): `POST /v2/invoices/{id}/void`

### Merchant Configuration

- [Get the Merchant Configuration](https://docs.odus.com/docs/api/core/v2/merchant-config-controller-get.md): `GET /v2/merchant-config`
- [Update the Merchant Configuration](https://docs.odus.com/docs/api/core/v2/merchant-config-controller-set.md): `POST /v2/merchant-config`

### Payments

- [Find all Payments](https://docs.odus.com/docs/api/core/v2/payment-controller-find-all-paginated.md): `GET /v2/payments`
- [Create a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-create.md): `POST /v2/payments`
- [Find one Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-find-one.md): `GET /v2/payments/{id}`
- [Update a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-update.md): `POST /v2/payments/{id}`
- [Authorize a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-authorize.md): `POST /v2/payments/{id}/authorize`
- [Capture a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-capture.md): `POST /v2/payments/{id}/capture`
- [Reverse a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-reverse.md): `POST /v2/payments/{id}/reverse`
- [Record a Chargeback](https://docs.odus.com/docs/api/core/v2/payment-controller-create-chargeback.md): `POST /v2/payments/{id}/chargebacks`
- [Start Checkout Session](https://docs.odus.com/docs/api/core/v2/payment-controller-start-checkout-session.md): `GET /v2/payments/{id}/checkout-details`
- [Create Apple Pay Session](https://docs.odus.com/docs/api/core/v2/payment-controller-start-apple-pay-session.md): `POST /v2/payments/{id}/apple-pay-sessions`
- [Find the route executions of a Payment](https://docs.odus.com/docs/api/core/v2/payment-controller-find-all-route-executions-paginated.md): `GET /v2/payments/{id}/route-executions`

### Payment Methods

- [Find all Payment Methods](https://docs.odus.com/docs/api/core/v2/payment-method-controller-find-all-paginated.md): `GET /v2/payment-methods`
- [Find one Payment Method](https://docs.odus.com/docs/api/core/v2/payment-method-controller-find-one.md): `GET /v2/payment-methods/{id}`

### Prices

- [Find all Prices](https://docs.odus.com/docs/api/core/v2/price-controller-find-all-paginated.md): `GET /v2/prices`
- [Create a Price](https://docs.odus.com/docs/api/core/v2/price-controller-create.md): `POST /v2/prices`
- [Find one Price](https://docs.odus.com/docs/api/core/v2/price-controller-find-one.md): `GET /v2/prices/{id}`
- [Update a Price](https://docs.odus.com/docs/api/core/v2/price-controller-update.md): `POST /v2/prices/{id}`
- [Delete a Price](https://docs.odus.com/docs/api/core/v2/price-controller-delete.md): `POST /v2/prices/{id}/delete`

### Products

- [Find all Products](https://docs.odus.com/docs/api/core/v2/product-controller-find-all-paginated.md): `GET /v2/products`
- [Create a Product](https://docs.odus.com/docs/api/core/v2/product-controller-create.md): `POST /v2/products`
- [Find one Product](https://docs.odus.com/docs/api/core/v2/product-controller-find-one.md): `GET /v2/products/{id}`
- [Update a Product](https://docs.odus.com/docs/api/core/v2/product-controller-update.md): `POST /v2/products/{id}`

### Reports

- [Payment summary report](https://docs.odus.com/docs/api/core/v2/reporting-controller-get-payment-summary-report.md): `GET /v2/reports/payment-summary`
- [Customer value report](https://docs.odus.com/docs/api/core/v2/reporting-controller-get-customer-value-report.md): `GET /v2/reports/customer-value`
- [Projected billing report](https://docs.odus.com/docs/api/core/v2/reporting-controller-get-projected-billing-report.md): `GET /v2/reports/projected-billing`

### Logs

- [Find all Request Logs](https://docs.odus.com/docs/api/core/v2/request-log-controller-find-all-paginated.md): `GET /v2/logs`
- [Find one Request Log](https://docs.odus.com/docs/api/core/v2/request-log-controller-find-one.md): `GET /v2/logs/{id}`

### Retry Policies

- [Get the Retry Policy](https://docs.odus.com/docs/api/core/v2/retry-policy-controller-get.md): `GET /v2/retry-policy`
- [Set the Retry Policy](https://docs.odus.com/docs/api/core/v2/retry-policy-controller-set.md): `POST /v2/retry-policy`

### Search

- [Global search](https://docs.odus.com/docs/api/core/v2/search-controller-search.md): `GET /v2/search`

### Secret Keys

- [Find all Secret Keys](https://docs.odus.com/docs/api/core/v2/secret-key-controller-find-all-paginated.md): `GET /v2/secret-keys`
- [Create a Secret Key](https://docs.odus.com/docs/api/core/v2/secret-key-controller-create.md): `POST /v2/secret-keys`
- [Find one Secret Key](https://docs.odus.com/docs/api/core/v2/secret-key-controller-find-one.md): `GET /v2/secret-keys/{id}`
- [Update a Secret Key](https://docs.odus.com/docs/api/core/v2/secret-key-controller-update.md): `POST /v2/secret-keys/{id}`
- [Delete a Secret Key](https://docs.odus.com/docs/api/core/v2/secret-key-controller-delete.md): `POST /v2/secret-keys/{id}/delete`

### Statistics

- [Get data for upcoming calendar events](https://docs.odus.com/docs/api/core/v2/statistics-controller-get-calendar-data.md): `GET /v2/statistics/calendar`

### Subscriptions

- [List all Subscriptions](https://docs.odus.com/docs/api/core/v2/subscription-controller-find-all-paginated.md): `GET /v2/subscriptions`
- [Retrieve a Subscription](https://docs.odus.com/docs/api/core/v2/subscription-controller-find-one.md): `GET /v2/subscriptions/{id}`
- [Update a Subscription](https://docs.odus.com/docs/api/core/v2/subscription-controller-update.md): `POST /v2/subscriptions/{id}`
- [List related Subscriptions](https://docs.odus.com/docs/api/core/v2/subscription-controller-find-related.md): `GET /v2/subscriptions/{id}/related`
- [Cancel a Subscription](https://docs.odus.com/docs/api/core/v2/subscription-controller-cancel.md): `POST /v2/subscriptions/{id}/cancel`
- [Resume a Subscription](https://docs.odus.com/docs/api/core/v2/subscription-controller-resume.md): `POST /v2/subscriptions/{id}/resume`
- [Reactivate a Subscription](https://docs.odus.com/docs/api/core/v2/subscription-controller-reactivate.md): `POST /v2/subscriptions/{id}/reactivate`
- [Preview a Subscription update](https://docs.odus.com/docs/api/core/v2/subscription-controller-generate-update-preview.md): `POST /v2/subscriptions/{id}/preview`

### Transactions

- [Find all Transactions](https://docs.odus.com/docs/api/core/v2/transaction-controller-find-all-paginated.md): `GET /v2/transactions`
- [Find one Transaction](https://docs.odus.com/docs/api/core/v2/transaction-controller-find-one.md): `GET /v2/transactions/{id}`

### Webhook Subscribers

- [Find all Webhook Subscribers](https://docs.odus.com/docs/api/core/v2/webhook-subscriber-controller-find-all-paginated.md): `GET /v2/webhook-subscribers`
- [Create a Webhook Subscriber](https://docs.odus.com/docs/api/core/v2/webhook-subscriber-controller-create.md): `POST /v2/webhook-subscribers`
- [Find one Webhook Subscriber](https://docs.odus.com/docs/api/core/v2/webhook-subscriber-controller-find-one.md): `GET /v2/webhook-subscribers/{id}`
- [Update a Webhook Subscriber](https://docs.odus.com/docs/api/core/v2/webhook-subscriber-controller-update.md): `POST /v2/webhook-subscribers/{id}`

### Webhook Deliveries

- [Find all Webhook Deliveries](https://docs.odus.com/docs/api/core/v2/webhook-controller-find-all-deliveries-paginated.md): `GET /v2/webhook-deliveries`

### Routes

- [Find all Routes](https://docs.odus.com/docs/api/core/v2/route-controller-find-all-paginated.md): `GET /v2/routes`
- [Create a Route](https://docs.odus.com/docs/api/core/v2/route-controller-create.md): `POST /v2/routes`
- [Find one Route](https://docs.odus.com/docs/api/core/v2/route-controller-find-one.md): `GET /v2/routes/{id}`
- [Update a Route](https://docs.odus.com/docs/api/core/v2/route-controller-update.md): `POST /v2/routes/{id}`
- [Find all versions of a Route](https://docs.odus.com/docs/api/core/v2/route-controller-find-all-versions-paginated.md): `GET /v2/routes/{id}/versions`
- [Publish a Route version](https://docs.odus.com/docs/api/core/v2/route-controller-publish-version.md): `POST /v2/routes/{id}/versions`
- [Find one version of a Route](https://docs.odus.com/docs/api/core/v2/route-controller-find-version.md): `GET /v2/routes/{id}/versions/{version}`
- [Activate a Route version](https://docs.odus.com/docs/api/core/v2/route-controller-activate.md): `POST /v2/routes/{id}/activate`
- [Find a Route's draft](https://docs.odus.com/docs/api/core/v2/route-controller-find-draft.md): `GET /v2/routes/{id}/draft`
- [Save a Route draft](https://docs.odus.com/docs/api/core/v2/route-controller-save-draft.md): `POST /v2/routes/{id}/draft`
- [Delete a Route draft](https://docs.odus.com/docs/api/core/v2/route-controller-delete-draft.md): `POST /v2/routes/{id}/draft/delete`
- [Publish a Route draft](https://docs.odus.com/docs/api/core/v2/route-controller-publish-draft.md): `POST /v2/routes/{id}/draft/publish`
- [Evaluate a Route](https://docs.odus.com/docs/api/core/v2/route-evaluation-controller-evaluate.md): `POST /v2/routes/{id}/evaluation`

## Webhook events

- [customer.created](https://docs.odus.com/docs/api/core/v2/webhook-customer-created.md)
- [customer.updated](https://docs.odus.com/docs/api/core/v2/webhook-customer-updated.md)
- [blacklist.added](https://docs.odus.com/docs/api/core/v2/webhook-blacklist-added.md)
- [blacklist.removed](https://docs.odus.com/docs/api/core/v2/webhook-blacklist-removed.md)
- [subscription.active](https://docs.odus.com/docs/api/core/v2/webhook-subscription-active.md)
- [subscription.cancelled](https://docs.odus.com/docs/api/core/v2/webhook-subscription-cancelled.md)
- [subscription.updated](https://docs.odus.com/docs/api/core/v2/webhook-subscription-updated.md)
- [payment.created](https://docs.odus.com/docs/api/core/v2/webhook-payment-created.md)
- [payment.succeeded](https://docs.odus.com/docs/api/core/v2/webhook-payment-succeeded.md)
- [payment.captured](https://docs.odus.com/docs/api/core/v2/webhook-payment-captured.md)
- [payment.attempt_failed](https://docs.odus.com/docs/api/core/v2/webhook-payment-attempt-failed.md)
- [payment.requires_action](https://docs.odus.com/docs/api/core/v2/webhook-payment-requires-action.md)
- [payment.updated](https://docs.odus.com/docs/api/core/v2/webhook-payment-updated.md)
- [payment.cancelled](https://docs.odus.com/docs/api/core/v2/webhook-payment-cancelled.md)
- [payment.chargebacked](https://docs.odus.com/docs/api/core/v2/webhook-payment-chargebacked.md)
- [payment.reversed](https://docs.odus.com/docs/api/core/v2/webhook-payment-reversed.md)
- [transaction.reverse_failed](https://docs.odus.com/docs/api/core/v2/webhook-transaction-reverse-failed.md)
- [transaction.capture_failed](https://docs.odus.com/docs/api/core/v2/webhook-transaction-capture-failed.md)
- [invoice.created](https://docs.odus.com/docs/api/core/v2/webhook-invoice-created.md)
- [invoice.paid](https://docs.odus.com/docs/api/core/v2/webhook-invoice-paid.md)
- [invoice.voided](https://docs.odus.com/docs/api/core/v2/webhook-invoice-voided.md)
- [invoice.updated](https://docs.odus.com/docs/api/core/v2/webhook-invoice-updated.md)
- [product.created](https://docs.odus.com/docs/api/core/v2/webhook-product-created.md)
- [product.updated](https://docs.odus.com/docs/api/core/v2/webhook-product-updated.md)
- [price.created](https://docs.odus.com/docs/api/core/v2/webhook-price-created.md)
- [price.updated](https://docs.odus.com/docs/api/core/v2/webhook-price-updated.md)
- [price.deleted](https://docs.odus.com/docs/api/core/v2/webhook-price-deleted.md)
