---
title: "Create a Physical Card"
method: POST
path: "/api/v1/order/{orderId}/create-card"
tags: ["Physical Card Order"]
---

# Create a Physical Card

`POST /api/v1/order/{orderId}/create-card`

The last step in the physical card creation process.

**Note:** To apply a coupon code, use the `/api/v1/order/{orderId}/attach-coupon` endpoint before creating the card.

**Validation Requirements:**
- User must have completed KYC successfully
- User must have a verified phone number
- User must have name and address set
- User's country must be supported
- User must not have reached maximum active cards limit
- Safe account should be setup
- User must not have existing pending card orders
- For paid cards, a valid transaction hash is required

## Path parameters

- `orderId` string, required

## Request body

- object
  - `pinData` object — Optional PIN data for the card
    - `encryptedKey` string — Encrypted key for PIN
    - `encryptedPin` string — Encrypted PIN value
    - `iv` string — Initialization vector for encryption
  - `transactionHash` string — Transaction hash for card payment. Required for paid cards. Must be in hexadecimal format (0x...).

## Response `200`

The card was created successfully

- object
  - `success` boolean
  - `cardToken` string — The token of the created card

## Other responses

- `400` — Bad request - validation errors
- `401` — Unauthorized - user not found or not authenticated
- `404` — Card order not found
- `409` — Conflict - business rule violations
- `422` — Unprocessable entity - validation criteria not met
- `500` — Internal server error

---

[API](https://skmtc.net/gnosispay/apis/gnosispay-api.md) · [All operations](https://skmtc.net/gnosispay/apis/gnosispay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gnosispay/gnosispay-api/versions/e0a09962c187/schema)
