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

# Application Tokens

> List and create application tokens for withdrawal widgets and account linking.

## Overview

Application tokens power shareable links for withdrawal widgets and account linking. Use the Liquidity API to list existing tokens and create new ones. All requests require a Bearer token obtained via [Generate Access Token](/guides/generate-access-token).

## List Application Tokens

**GET** `{{LIQUIDITY_URL}}/v1/ext/application-token`\
Auth: Bearer `{{accessToken}}`

Returns a paginated list of application tokens for your business.

### Response (200)

```json theme={null}
{
  "data": [
    {
      "url": "https://sandbox.accounts.centryos.xyz/withdraw/sATdEsJ4RyHF1Ju2EAO_5uglFWEwnQ",
      "application": {
        "id": "098d77b4-ea05-43b1-8b28-cb113b4fc213",
        "externalId": null,
        "token": "sATdEsJ4RyHF1Ju2EAO_5uglFWEwnQ",
        "tokenType": "ACCOUNT_WIDGET",
        "createdAt": "2026-02-15T22:58:40.585Z",
        "expiredAt": "2027-02-15T22:58:40.583Z",
        "valid": true,
        "metadata": "{\"currency\":\"USD\",\"tokenType\":\"ACCOUNT_WIDGET\",\"walletId\":\"35673e53-5519-4841-9ac6-50b6d5273b70\",\"extra\":{\"amountLocked\":false,\"useLinkAccountPath\":false}}",
        "feeHidden": false,
        "redirectTo": "",
        "status": "active",
        "business": {
          "id": "9b5e1e96-5796-4648-94d4-62253728291e",
          "slug": "gradientfi",
          "contactEmail": "akanksha@gradientfi.com",
          "contactPhoneNumber": null
        }
      }
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 10,
    "pageCount": 9,
    "total": 85
  },
  "success": true
}
```

### Response Fields

| Field                          | Type    | Description                          |
| ------------------------------ | ------- | ------------------------------------ |
| `data`                         | array   | List of application token objects    |
| `data[].url`                   | string  | Shareable URL for the widget         |
| `data[].application.id`        | string  | Application ID                       |
| `data[].application.token`     | string  | Token used in the URL                |
| `data[].application.tokenType` | string  | e.g. `ACCOUNT_WIDGET`                |
| `data[].application.valid`     | boolean | Whether the token is currently valid |
| `data[].application.status`    | string  | `active` or `inactive`               |
| `meta.page`                    | number  | Current page                         |
| `meta.pageSize`                | number  | Items per page                       |
| `meta.total`                   | number  | Total number of tokens               |

***

## Create Application Token

**POST** `{{LIQUIDITY_URL}}/v1/ext/application-token`\
Auth: Bearer `{{accessToken}}`

Creates a new application token for a withdrawal or account-linking widget.

### Request

```bash theme={null}
curl -X POST "{{LIQUIDITY_URL}}/v1/ext/application-token" \
  -H "Authorization: Bearer {{accessToken}}" \
  -H "Content-Type: application/json" \
  -d '{
    "expiredAt": "{{$randomDateFuture}}",
    "tokenType": "ACCOUNT_WIDGET",
    "currency": "USD",
    "feeHidden": true,
    "redirectTo": "https://example.com/thank-you",
    "extra": {
      "withdrawalSource": "MERCHANT_WALLET",
      "amount": 45,
      "accountOptions": ["card", "bank", "venmo", "paypal"],
      "counterparty": {
        "firstName": "{{$randomFirstName}}",
        "lastName": "{{$randomLastName}}",
        "email": "timii@gradientfi.com"
      }
    }
  }'
```

### Request Body

| Field                    | Type    | Description                                        | Required |
| ------------------------ | ------- | -------------------------------------------------- | -------- |
| `expiredAt`              | string  | Expiration datetime (ISO 8601 format)              | Yes      |
| `tokenType`              | string  | Must be `ACCOUNT_WIDGET`                           | Yes      |
| `currency`               | string  | Currency code (e.g., `USD`)                        | Yes      |
| `feeHidden`              | boolean | Hide fees from the user                            | No       |
| `redirectTo`             | string  | URL to redirect after completion                   | No       |
| `extra.withdrawalSource` | string  | Must be `MERCHANT_WALLET`                          | No       |
| `extra.amount`           | number  | Amount tied to the widget                          | No       |
| `extra.accountOptions`   | array   | Allowed methods: `card`, `bank`, `venmo`, `paypal` | No       |
| `extra.counterparty`     | object  | Counterparty info (firstName, lastName, email)     | No       |

### Response (200)

```json theme={null}
{
  "data": {
    "url": "https://sandbox.accounts.centryos.xyz/sATjgfpPo1QyfoSFJSQHWTr9Gr3cow",
    "application": {
      "id": "d4c26920-7040-4b12-9ff1-5853f5977f20",
      "token": "sATjgfpPo1QyfoSFJSQHWTr9Gr3cow",
      "tokenType": "ACCOUNT_WIDGET",
      "expiredAt": "2024-07-11T06:57:08.000Z",
      "valid": true
    }
  }
}
```

### Response Fields

| Field                        | Type    | Description                    |
| ---------------------------- | ------- | ------------------------------ |
| `data.url`                   | string  | Shareable widget URL           |
| `data.application.id`        | string  | Application ID                 |
| `data.application.token`     | string  | Token for the URL              |
| `data.application.tokenType` | string  | Token type                     |
| `data.application.expiredAt` | string  | Expiration datetime (ISO 8601) |
| `data.application.valid`     | boolean | Whether the token is valid     |

## Related

* [Create Payout Link](/guides/create-payout-link) — Withdrawal widget with amount
* [Create Linked Account Widget](/guides/create-linked-account-widget) — Account-linking only (use `useLinkAccountPath: true`)
