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

# Get Card Verification

> Available on the production API; confirm sandbox availability separately. Check a customer belonging to the authenticated business. Poll at most once per minute. Does not create a card or debit a wallet. Submit a new card request only when can_create_card is true; approval does not automatically start issuance.

<Note>
  Available on the production API. Confirm sandbox availability separately with Swerv.
</Note>

Check whether an existing customer is ready for a `DEFAULT` USD card request.
The customer must belong to the business authenticated by your bearer token.
This request does not create a card or debit a wallet.

Poll **at most once per minute**. A check can reconcile a pending verification;
multiple callers share the same refresh limit. Do not treat an HTTP 200 response
alone as approval: inspect `status` and `can_create_card`.

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.swervpay.co/api/v1/customers/cus_example/card-verification \
    -H "Authorization: Bearer <TOKEN>"
  ```
</RequestExample>

<ResponseExample>
  ```json Pending theme={null}
  {
    "customer_id": "cus_example",
    "status": "PENDING",
    "can_create_card": false
  }
  ```

  ```json Approved theme={null}
  {
    "customer_id": "cus_example",
    "status": "APPROVED",
    "can_create_card": true
  }
  ```
</ResponseExample>

Statuses are `NOT_SUBMITTED`, `PENDING`, `APPROVED`, `REJECTED`, and
`RECONCILIATION_REQUIRED`. Submit a new card request only when `can_create_card`
is `true`; issuance does not start automatically after approval.

A typed verification error can return HTTP 503 with `code`, `message`, and an
optional `field`. Preserve the pending UI state when status cannot be retrieved;
use the error code to decide whether to retry later or contact support.

See the [complete non-Nigerian KYC flow](/customer/non-nigerian-card-kyc) for
document requirements, correction rules, and safe issuance retries.


## OpenAPI

````yaml GET /customers/{id}/card-verification
openapi: 3.0.0
info:
  title: Swervpay Developer API Specification
  version: 0.0.0
servers:
  - url: https://api.swervpay.co/api/v1
    description: Production API
  - url: https://sandbox.swervpay.co/api/v1
    description: Sandbox API
security:
  - bearerAuth: []
paths:
  /customers/{id}/card-verification:
    get:
      tags:
        - customer
      summary: Get card verification
      description: >-
        Available on the production API; confirm sandbox availability
        separately. Check a customer belonging to the authenticated business.
        Poll at most once per minute. Does not create a card or debit a wallet.
        Submit a new card request only when can_create_card is true; approval
        does not automatically start issuance.
      operationId: getCustomerCardVerification
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          example: cus_example
      responses:
        '200':
          description: Current verification status, not necessarily approval.
          headers:
            Cache-Control:
              schema:
                type: string
                example: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardVerificationStatus'
              example:
                customer_id: cus_example
                status: PENDING
                can_create_card: false
        '503':
          description: >-
            Typed verification error. Inspect code and message; do not interpret
            unavailable status as approval.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardVerificationError'
        default:
          description: Authentication, customer access, or request error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsererrorError'
components:
  schemas:
    CardVerificationStatus:
      type: object
      required:
        - customer_id
        - status
        - can_create_card
      properties:
        customer_id:
          type: string
          description: Swerv customer ID owned by the authenticated business.
        status:
          type: string
          enum:
            - NOT_SUBMITTED
            - PENDING
            - APPROVED
            - REJECTED
            - RECONCILIATION_REQUIRED
        can_create_card:
          type: boolean
          description: >-
            True when the saved verification permits another issuance attempt.
            Not a guarantee of successful issuance or sufficient wallet funds.
    CardVerificationError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable customer-facing error code.
        message:
          type: string
          description: Customer-safe explanation and next action.
        field:
          type: string
          description: Affected field, when available.
    UsererrorError:
      type: object
      properties:
        message:
          type: string
        values:
          type: object
          additionalProperties: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

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