> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cbpayapp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Enabled services

> Which products your account has enabled and how to react to service_disabled

Every account has a **set of enabled services** according to its
commercial agreement with CBPay. Before showing a product in your UI (or
trying to use it), query the effective map:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl https://api.qbank.cl/platform/v1/services \
  -H "Authorization: Bearer <token>"
```

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
  "services": {
    "payouts": true,
    "payins": true,
    "transfers": true,
    "crypto": true,
    "banking": false,
    "kyc": true,
    "cards": false
  }
}
```

## Service catalog

| Service     | What it enables                                                                                      |
| ----------- | ---------------------------------------------------------------------------------------------------- |
| `payouts`   | Fiat dispersals (`POST /v1/payouts`, QR scan/confirm)                                                |
| `payins`    | Fiat collections (QR, transfer, payment page, collect, CLABE)                                        |
| `transfers` | Internal transfers between CBPay accounts                                                            |
| `crypto`    | On-chain wallets and USDT withdrawals                                                                |
| `banking`   | International bank accounts (profile, accounts, payments)                                            |
| `kyc`       | Third-party KYC/KYB identity verification (links, submissions, documents, liveness)                  |
| `aml`       | AML list screening, rescreening and monitoring                                                       |
| `cards`     | Card issuing and operation                                                                           |
| `swaps`     | Conversion between balances (USDT/USDC/BTC/GOLD)                                                     |
| `wallets`   | [Segregated wallets](/en/guides/segregated-wallets) with their own on-chain balance (companies only) |

## What happens when a service is off

The product's **actions** respond `403 service_disabled`:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "error": "service_disabled",
  "message": "this service is not enabled for your account"
}
```

Important rules:

* **Reads are never blocked**: you can always list and query your
  historical operations, balances and movements.
* **In-flight money finishes its cycle**: a `processing` payout completes
  (or refunds) even if the service is disabled afterwards.
* With `cards` off, card purchases stop authorizing instantly and no
  monthly fees are generated.

## Recommended integration pattern

```mermaid theme={"theme":{"light":"github-light","dark":"github-dark"}}
flowchart LR
    inicio["On login /<br/>dashboard load"] --> get["GET /v1/services"]
    get --> ui{"services.X"}
    ui -->|"true"| muestra["Show the product"]
    ui -->|"false"| oculta["Hide or disable<br/>the product"]
    muestra --> accion["The user operates"]
    accion --> err{"403 service_disabled?"}
    err -->|"yes"| refresca["Refresh GET /v1/services<br/>and update the UI"]
```

1. Query `GET /v1/services` when your app loads (and cache for a few minutes).
2. Show only the products set to `true`.
3. Still handle `403 service_disabled` on any action: configuration can
   change between your cache and the operation.

<Note>
  Services are enabled by your organization according to the commercial
  agreement. If you need a product activated (for example `banking` or
  `cards`), contact your CBPay administrator — the change is immediate, no
  redeploy needed.
</Note>
