> ## 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.

# Initiate a Wasl Card Request: Reserve Cards for an Order

> Reserve cards and receive a transaction_id to use in the confirm-order step. This call is required before any card order can be confirmed.

Before you can confirm and receive card codes, you must initiate a card request. This endpoint reserves the cards you want on the Wasl platform and returns a `transaction_id` that ties together the reservation with your subsequent confirmation call. Keep that ID — without it, you cannot complete the order.

<Warning>
  The quantity field in the request body is spelled **`quantiry`** — this is the exact field name the API expects. Sending `quantity` (the conventional spelling) will cause the request to fail. Copy the field name carefully from the example below.
</Warning>

## Endpoint

```
POST /api-service/card/initiate-card-request
```

**Base URL (Development)**

```
https://development.payzah.net
```

## Request Headers

| Header | Value |
| - | - |
| `Content-Type` | `application/json` |
| `Authorization` | `<your token>` |
| `Token` | `token` |

## Request Body

<ParamField body="card_id" type="integer" required>
  The unique identifier of the card product you want to order. You obtain this value from the card details response.
</ParamField>

<ParamField body="quantiry" type="integer" required>
  The number of cards to reserve. **Note:** this field is intentionally spelled `quantiry` (not `quantity`). Pass it exactly as shown.
</ParamField>

<ParamField body="transaction_number" type="integer" required>
  Your own internal reference number for this transaction. Use this to correlate the Wasl reservation with your records.
</ParamField>

### Example Request

```json Request theme={null}
{
  "card_id": 59,
  "quantiry": 2,
  "transaction_number": 1001
}
```

```bash cURL theme={null}
curl --request POST \
  --url https://development.payzah.net/api-service/card/initiate-card-request \
  --header 'Authorization: <your token>' \
  --header 'Content-Type: application/json' \
  --header 'Token: token' \
  --data '{
    "card_id": 59,
    "quantiry": 2,
    "transaction_number": 1001
  }'
```

## Response

A successful call returns a `transaction_id` that Wasl generates for this reservation. You must pass this value to the [Confirm Order](/api-reference/orders/confirm-order) endpoint to complete the purchase and retrieve your card codes.

<Note>
  Store the `transaction_id` from the response immediately and durably — for example, persist it to your database before proceeding. If you lose it before calling confirm-order, you will not be able to retrieve the reserved cards.
</Note>

<ResponseField name="transaction_id" type="string">
  The unique identifier for this card reservation. Pass it as `transaction_id` in the confirm-order request body.
</ResponseField>

<ResponseField name="status" type="boolean">
  Indicates whether the initiation was successful.
</ResponseField>

<ResponseField name="code" type="string">
  A response code indicating the result of the operation.
</ResponseField>

### Example Response

```json Response theme={null}
{
  "status": true,
  "code": "11111",
  "transaction_id": "244101585669013"
}
```

## Next Step

Once you have the `transaction_id`, proceed to [Confirm Order](/api-reference/orders/confirm-order) to finalise the purchase and receive the redeemable card codes.


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