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

# Wasl Cards API: Browse and Cache the Card Catalog

> Retrieve the full list of available gift cards and drill into per-vendor denominations, pricing, and multilingual names using the Wasl Cards API.

The Wasl card catalog gives you a complete picture of every gift card brand and denomination that you can sell through your storefront. You fetch the catalog in two steps: first retrieve the list of all vendors, then pull the individual card details — including prices and available stock — for whichever vendor your customer is interested in. Both calls are designed to be made once and cached, not repeated on every user request.

<Tip>
  Cache the full card catalog in your own database on your first run and refresh it periodically (for example, once every 24 hours). This keeps your storefront fast and eliminates unnecessary API calls during high-traffic periods.
</Tip>

## Retrieve all available cards

Call the Get Card List endpoint to fetch every vendor currently available in the Wasl catalog.

**Endpoint**

```
GET https://development.payzah.net/api-service/card/get-card-list
```

### Required headers

| Header | Value |
| - | - |
| `Content-Type` | `application/json` |
| `Authorization` | Your session token from login |
| `Token` | `token` |

<CodeGroup>
  ```bash cURL example theme={null}
  curl --request GET \
    --url https://development.payzah.net/api-service/card/get-card-list \
    --header 'Content-Type: application/json' \
    --header 'Authorization: your_session_token' \
    --header 'Token: token'
  ```
</CodeGroup>

### Response

A successful response returns an array of vendor objects. Each object includes a `vendor_id` (which you use to fetch denominations), an English name, and an Arabic name.

```json Response theme={null}
{
  "status": true,
  "code": "11111",
  "data": [
    {
      "vendor_id": "34",
      "name": "Xbox Card",
      "name_ar": "بوكس اكس بطاقات"
    },
    {
      "vendor_id": "36",
      "name": "Play Station Card- US",
      "name_ar": "أمريكي -ستيشن بالي بطاقات"
    }
  ]
}
```

### Response fields

| Field | Type | Description |
| - | - | - |
| `vendor_id` | string | Unique identifier for this card brand. Use it in subsequent calls. |
| `name` | string | Card brand name in English. |
| `name_ar` | string | Card brand name in Arabic. |

Store the full `data` array in your database, indexed by `vendor_id`, so you can look up a vendor's details without re-fetching the list.

## Retrieve denominations for a specific vendor

Once you have a `vendor_id`, call Get Card Details to retrieve the individual denominations — including pricing, stock balance, and multilingual display names — for that vendor.

**Endpoint**

```
POST https://development.payzah.net/api-service/card/get-card-details-list
```

### Required headers

| Header | Value |
| - | - |
| `Content-Type` | `application/json` |
| `Authorization` | Your session token from login |
| `Token` | `token` |

<CodeGroup>
  ```json Request body theme={null}
  {
    "vendor_id": 34
  }
  ```

  ```bash cURL example theme={null}
  curl --request POST \
    --url https://development.payzah.net/api-service/card/get-card-details-list \
    --header 'Content-Type: application/json' \
    --header 'Authorization: your_session_token' \
    --header 'Token: token' \
    --data '{ "vendor_id": 34 }'
  ```
</CodeGroup>

### Request body fields

| Field | Type | Required | Description |
| - | - | - | - |
| `vendor_id` | integer | ✅ | The vendor ID returned by Get Card List. |

### Response

A successful response returns an array of denomination objects for the requested vendor.

```json Response theme={null}
{
  "status": true,
  "code": "11111",
  "data": [
    {
      "card_id": "59",
      "name_in_english": "Xbox $10",
      "name_in_arabic": "Xbox $10",
      "amount": "3.30",
      "balance": 5
    },
    {
      "card_id": "60",
      "name_in_english": "Xbox $15",
      "name_in_arabic": "Xbox $15",
      "amount": "4.9",
      "balance": 13
    }
  ]
}
```

### Response fields

| Field | Type | Description |
| - | - | - |
| `card_id` | string | Unique identifier for this denomination. Pass it to the order endpoints. |
| `name_in_english` | string | Display name in English. |
| `name_in_arabic` | string | Display name in Arabic. |
| `amount` | string | Price you will be charged per unit, in the billing currency. |
| `balance` | integer | Number of units currently available in Wasl inventory. |

## Multilingual support

Every entity in the catalog carries both an English and an Arabic display name:

| Endpoint | English field | Arabic field |
| - | - | - |
| Get Card List | `name` | `name_ar` |
| Get Card Details | `name_in_english` | `name_in_arabic` |

Store both fields in your database so you can serve the correct language to each customer without additional API calls.

<Info>
  If you operate a multilingual storefront, use the Arabic name fields to render card names for Arabic-speaking customers automatically. No separate catalog call is required — both languages are included in every response.
</Info>

## Error codes

| Code | Description |
| - | - |
| 10000 | Incorrect Token Access |
| 10002 | No Card Data Found |
| 10003 | Improper Way for Calling API — Method |
| 10005 | Card ID Missing |

If you receive `10002`, confirm that the `vendor_id` you passed is valid and currently active in the Wasl catalog.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.