# Find one Cascade

`GET /v2/cascades/{id}`

Core API v2, Cascades.

Retrieve a Cascade by its ID

**Authentication:** Send `Authorization: Bearer <token>`. To authenticate, generate a Secret API Key from your ODUS Dashboard and include it in the `Authorization` header as follows: `Authorization: Bearer <YOUR_SECRET_API_KEY>`

## Parameters

### Path parameters

- `id` (string, required)

## Responses

### `200`

OK

Type: object (CascadeDTO).

- `createdAt` (string (date-time), required): The date and time when the entity was created. Example: `2024-02-18T12:00:00Z`.
- `updatedAt` (string (date-time), required, nullable): The date and time when the entity was last updated. Example: `2024-02-21T12:15:00Z`.
- `metadata` (map of string to string, nullable): Metadata used by merchants to store additional information about the entity.
- `id` (string, required): The unique identifier of the cascade.
- `name` (string, required): Example: `My Cascade`.
- `description` (string, required, nullable): Example: `Simple cascade`.
- `active` (boolean, required): Whether the cascade is active and available for routing. Example: `true`.
- `algorithm` (string, required): The algorithm used for gateway selection. Available options: roundRobin, weightedRoundRobin, priorityQueue. One of `roundRobin`, `weightedRoundRobin`, `priorityQueue`. Example: `weightedRoundRobin`.
- `gateways` (array of object, required): The list of gateway profiles configured for this cascade.
  - `createdAt` (string (date-time), required): The date and time when the entity was created. Example: `2024-02-18T12:00:00Z`.
  - `updatedAt` (string (date-time), required, nullable): The date and time when the entity was last updated. Example: `2024-02-21T12:15:00Z`.
  - `metadata` (map of string to string, nullable): Metadata used by merchants to store additional information about the entity.
  - `id` (string, required): The unique identifier of the cascade gateway entry.
  - `profile` (object, required): The gateway profile associated with this cascade entry.
    - `createdAt` (string (date-time), required): The date and time when the entity was created. Example: `2024-02-18T12:00:00Z`.
    - `updatedAt` (string (date-time), required, nullable): The date and time when the entity was last updated. Example: `2024-02-21T12:15:00Z`.
    - `metadata` (map of string to string, nullable): Metadata used by merchants to store additional information about the entity.
    - `id` (string, required): ID of the Gateway Profile. Example: `gwp_2QC7PqoUeOxQEWscJJt6B3PkvyL`.
    - `active` (boolean, required): Whether the gateway profile is active and available for processing. Example: `true`.
    - `title` (string, required): Title of the Gateway Profile. Example: `Profile #1`.
    - `integration` (string, required): Associated Gateway Integration. One of `stripe`, `adyen`, `checkout`, `paypal`. Example: `stripe`.
    - `environment` (string, required, nullable): The environment the gateway profile operates in. One of `live`, `test`. Example: `test`.
    - `supportedPaymentMethods` (array of string, required): Supported payment methods for the Gateway Profile. Each item: One of `card`, `paypal`, `applePay`.
  - `position` (number, required): Order in which this gateway is tried in the cascade. Example: `1`.
  - `weight` (number, required, nullable): Relative weight for weighted routing algorithms. Example: `80`.
  - `transactionLimit` (number, required, nullable): Maximum transaction amount this gateway can process. Example: `100`.
  - `transactionLimitCounter` (number, required): Current counter value for the transaction limit. Example: `0`.
  - `transactionLimitPeriod` (string, required, nullable): Time period for the transaction limit. One of `day`, `week`, `month`. Example: `day`.
  - `isTransactionLimitExhausted` (boolean, required): Whether the transaction limit has been reached for the current period. Example: `false`.
  - `transactionCap` (number, required, nullable): Maximum number of transactions in a period. Example: `10000`.
  - `transactionCapCounter` (number, required): Current counter value for the transaction cap. Example: `0`.
  - `transactionCapPeriod` (string, required, nullable): Time period for the transaction cap. One of `day`, `week`, `month`. Example: `month`.
  - `isTransactionCapExhausted` (boolean, required): Whether the transaction cap has been reached for the current period. Example: `false`.
- `lastAttempted` (object, required, nullable): The cascade gateway entry that was last attempted for routing.
  - `createdAt` (string (date-time), required): The date and time when the entity was created. Example: `2024-02-18T12:00:00Z`.
  - `updatedAt` (string (date-time), required, nullable): The date and time when the entity was last updated. Example: `2024-02-21T12:15:00Z`.
  - `metadata` (map of string to string, nullable): Metadata used by merchants to store additional information about the entity.
  - `id` (string, required): The unique identifier of the last-used cascade gateway entry.
- `lastBilled` (object, required, nullable): The cascade gateway entry that last successfully processed a payment.
  - `createdAt` (string (date-time), required): The date and time when the entity was created. Example: `2024-02-18T12:00:00Z`.
  - `updatedAt` (string (date-time), required, nullable): The date and time when the entity was last updated. Example: `2024-02-21T12:15:00Z`.
  - `metadata` (map of string to string, nullable): Metadata used by merchants to store additional information about the entity.
  - `id` (string, required): The unique identifier of the last-used cascade gateway entry.

### `202`

The merchant is entitled but its environment is not provisioned yet. Provisioning has been kicked off (exactly once) and is in progress; retry the request — it succeeds once the environment is ready. Returned only for identity-token (dashboard) requests bound to a merchant, not for secret-key API calls; any such endpoint can return it while provisioning is underway.

Type: object (ProvisioningInProgress).

- `status` (string, required): Signals the merchant environment is still being provisioned. One of `provisioning`.
- `merchantAccountId` (string, required): The merchant account whose environment is being provisioned. Example: `dAI3aa87ROOeupeBCjNSKCOBOisBCYjB`.

### Errors

- `400`: The request was rejected. `type` is `invalid_request_error` when the request itself is at fault — `errors` then lists every problem found, with field-attributable entries prefixed by the field’s path; or `invalid_state_error` when the request was well-formed but the resource is not in a state that allows it.
- `401`: No API key was supplied, or the key is not valid. `type` is `authentication_error`.
- `403`: The API key is valid but lacks the permission this operation requires. `type` is `permission_error`.
- `404`: No resource exists with the requested identifier. `type` is `not_found_error`.
- `429`: Too many requests. A limit applies per operation; requests to other operations are unaffected. `type` is `rate_limit_error`. Use the `Retry-After-global` header to know when to retry.
- `500`: The request could not be completed because of an unexpected error. `type` is `api_error`.
- `503`: The request could not be served right now: the API is temporarily at capacity, or a dependency needed to authorize the request is unavailable — the auth service that verifies credentials, or the entitlement lookup behind it. `type` is `api_error`. It is raised before the operation runs, so the request had no effect, and unlike a plain 500 the condition is transient: retry with backoff.
- `504`: The request exceeded the processing time limit and was abandoned. `type` is `api_error` and `code` is `timeout` — unlike a plain 500 the request may still have taken effect, so retry with the same idempotency key rather than blindly.

Every error response has the same body: see [Errors](https://docs.odus.com/docs/guides/api-features/errors.md).

---

Generated from the Core API v2 OpenAPI document, https://api.odus.com/openapi.v2.json. Interactive page: https://docs.odus.com/docs/api/core/v2/cascade-controller-find-one
