# Retrieve card order requirements

Retrieves all card requirements for a `cardOrderId`. A valid card order needs all its requirements status to be `COMPLETED`.
The type of requirements are:
- `PIN (optional)`: [Set a PIN](/api-reference/legacy/card-order/cardorderpresetpin) on a virtual or physical card order. Contact the team if you need this feature.
- `VERIFICATION`: Verify your customer by providing KYC evidences. Refer to the [KYC guide](/guides/product/kyc).
- `ADDRESS`: Provide a valid address for your card order. Refer to [address validation](/api-reference/legacy/card-order/cardordervalidateaddress).

A requirement **status** has the following values:
- `NOT_INITIATED`
- `NEEDS_ACTION`
- `PENDING`
- `COMPLETED`
- `FAILED`

Endpoint: GET /v3/spend/profiles/{profileId}/card-orders/{cardOrderId}/requirements
Security: UserToken

## Security:

  - `UserToken` (unknown)
    http bearer JWT

## Path parameters:

  - `profileId` (integer, required)
    The profile ID (personal or business).

  - `cardOrderId` (integer, required)
    The card order ID.

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Response 200:

  - `200` (unknown)
    OK - Successfully retrieved card order requirements.

## Response 200 fields (application/json):

  - `requirements` (array)

  - `requirements.type` (string)
    The type of requirement:
- `PIN` - Set a PIN on the card order
- `VERIFICATION` - Verify customer by providing KYC evidences
- `ADDRESS` - Provide a valid address for the card order
    Enum: "PIN", "VERIFICATION", "ADDRESS"

  - `requirements.status` (string)
    The status of the requirement:
- `NOT_INITIATED`
- `NEEDS_ACTION`
- `PENDING`
- `COMPLETED`
- `FAILED`
    Enum: "NOT_INITIATED", "NEEDS_ACTION", "PENDING", "COMPLETED", "FAILED"

## Response 200 headers (application/json):

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

## Response 429:

  - `429` (unknown)
    Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

## Response 429 headers (application/json):

  - `Retry-After` (integer)
    Number of seconds to wait before retrying the request.
    Example: 5

  - `X-Rate-Limited-By` (string)
    Identifies the rate limiter that triggered the 429 response.
    Example: wise-public-api

  - `X-External-Correlation-Id` (string)
    Echoed back when `X-External-Correlation-Id` was included in the request. [Learn more](/guides/developer/headers/correlation-id).
    Example: f47ac10b-58cc-4372-a567-0e02b2c3d479

  - `x-trace-id` (string)
    Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.
    Example: fba501b6d453b96789f52338f019341f

