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

# POST /GiftCards/redeem

> Redeem a gift card in full or partially.

Redeem a gift card in full or partially. Pass an amount less than the remaining balance for a partial redemption.

<ParamField header="X-API-KEY" type="string" required>Your API key</ParamField>
<ParamField header="Content-Type" type="string" required>Must be `application/json`</ParamField>

<ParamField body="cardNumber" type="string" required>Gift card number. Format: `XXXXX-XXXXXXXX-XXXX`</ParamField>
<ParamField body="amount" type="number" required>Amount to redeem. Pass less than the remaining balance for partial redemption.</ParamField>
<ParamField body="issuedToEmail" type="string">Email address for verification</ParamField>
<ParamField body="notes" type="string">Notes for this redemption</ParamField>

<CodeGroup>
  ```shell curl theme={null}
  curl --location '[BASE_URL]/GiftCards/redeem' \
  --header 'X-API-KEY: your_api_key_here' \
  --header 'Content-Type: application/json' \
  --data '{ "cardNumber": "ABCDE-12345678-WXYZ", "amount": 25.00 }'
  ```
</CodeGroup>

<Warning>
  `200 OK` is returned even for business-level failures. Always check `isSuccess` in the response body.
</Warning>

**Response fields**

| Field            | Type    | Description                          |
| ---------------- | ------- | ------------------------------------ |
| `cardNumber`     | string  | The redeemed card number             |
| `amountRedeemed` | number  | Amount that was redeemed             |
| `status`         | string  | `Active`, `Redeemed`, or `Error`     |
| `isSuccess`      | boolean | Whether the redemption succeeded     |
| `errorMessage`   | string  | Error detail if `isSuccess` is false |

**Example 200 — Success**

```json theme={null}
{ "cardNumber": "ABCDE-12345678-WXYZ", "amountRedeemed": 25.00, "status": "Active", "isSuccess": true, "errorMessage": null }
```

**Example 200 — Failure**

```json theme={null}
{ "cardNumber": "ABCDE-12345678-WXYZ", "amountRedeemed": 0.00, "status": "Error", "isSuccess": false, "errorMessage": "Card already redeemed." }
```

| Status | Description                                                           |
| ------ | --------------------------------------------------------------------- |
| `200`  | See `isSuccess` in response body                                      |
| `400`  | `Card: {cardNumber} invalid redeem amount.` — amount is 0 or negative |
| `400`  | `No Venue Subscribed to your App.`                                    |
| `401`  | X-API-KEY missing or invalid                                          |
| `404`  | `CardNumber` — Card not found                                         |
| `500`  | `Failed to retrieve card details.`                                    |


## OpenAPI

````yaml POST /GiftCards/redeem
openapi: 3.0.4
info:
  title: NowBookIt IPOS Partner API
  description: >-
    REST API for integrating your POS or external system with NowBookIt's
    reservation, sales, and gift card platform.
  version: v1
  contact:
    email: platform.integrations@nowbookit.com
servers:
  - url: https://ipos.dev.nowbookit.com
    description: Development
  - url: https://ipos.nowbookit.com
    description: Production
security:
  - ApiKeyAuth: []
paths:
  /GiftCards/redeem:
    post:
      tags:
        - GiftCards
      summary: Redeem Gift Card
      operationId: redeemGiftCard
      parameters:
        - name: X-API-KEY
          in: header
          description: API Key authentication header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GiftCardRedeemRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardRedeemResponse'
        '304':
          description: Not Modified
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    GiftCardRedeemRequest:
      required:
        - amount
        - cardNumber
      type: object
      properties:
        cardNumber:
          minLength: 1
          type: string
          description: 'The Gift Card Serial Number. Format: XXXXX-XXXXXXXX-XXXX'
        amount:
          type: number
          description: >-
            The Amount to redeem on Gift Card. Enter amount less than the card
            balance for a partial redemption.
          format: double
        issuedToEmail:
          type: string
          nullable: true
        notes:
          type: string
          nullable: true
      additionalProperties: false
    CardRedeemResponse:
      type: object
      properties:
        cardNumber:
          type: string
          nullable: true
        amountRedeemed:
          type: number
          format: double
        status:
          type: string
          description: 'Possible values: Error, Redeemed, Active'
          nullable: true
        errorMessage:
          type: string
          nullable: true
        isSuccess:
          type: boolean
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````