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

# GET /v1/users/:userId/characters/:characterId/wallet

> Retrieve the in-game wallet for an approved character. Returns the character's current cash balance, wallet ID, and creation timestamps.

Every approved character in CA Colombia has a wallet that tracks their in-game currency balance. Use this endpoint to read a character's current wallet state. If the character does not yet have a wallet record, the server creates one automatically and returns it with a zero balance.

<Note>
  A wallet can only be retrieved for characters with an `idStatus` of `approved`. Attempting to access the wallet of a character that is still in `draft` or `pending_approval` status will return `403`.
</Note>

<Note>
  You can only retrieve a wallet for your own characters unless your account holds the `STAFF` permission. Attempting to access another user's character wallet without that permission returns `403`.
</Note>

## Endpoint

```text theme={null}
GET https://api.cacolombia.com/v1/users/:userId/characters/:characterId/wallet
```

## Path Parameters

<ParamField path="userId" type="string" required>
  The Snowflake ID of the user account that owns the character.
</ParamField>

<ParamField path="characterId" type="string" required>
  The Snowflake ID of the character whose wallet you want to retrieve.
</ParamField>

## Response

A successful `200` response returns a wallet object with the following fields:

<ResponseField name="characterId" type="string">
  The Snowflake ID of the character this wallet belongs to.
</ResponseField>

<ResponseField name="balance" type="number">
  The character's current cash balance in in-game currency units.
</ResponseField>

<ResponseField name="createdAt" type="string">
  ISO 8601 timestamp of when the wallet was first created.
</ResponseField>

<ResponseField name="updatedAt" type="string">
  ISO 8601 timestamp of the last time the wallet was modified.
</ResponseField>

## Example Request

```bash theme={null}
curl -X GET "https://api.cacolombia.com/v1/users/112233445566778899/characters/998877665544332211/wallet" \
  -H "Authorization: Bearer <your_token>"
```

## Example Response

```json theme={null}
{
  "characterId": "998877665544332211",
  "balance": 15000,
  "createdAt": "2024-03-15T10:00:00.000Z",
  "updatedAt": "2024-06-01T14:32:11.000Z"
}
```

## Error Responses

| Status | Description                                                                                                                      |
| ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| `401`  | You are not authenticated. Provide a valid authorization token with your request.                                                |
| `403`  | You are trying to access a wallet that does not belong to one of your own characters and you do not hold the `STAFF` permission. |
| `403`  | The target character's `idStatus` is not `approved`. Only approved characters have active wallets.                               |
| `404`  | No user was found for the given `userId`.                                                                                        |
| `404`  | No character was found for the given `characterId` under that user.                                                              |
