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

# Issue card

> Issue a new card for a cardholder



## OpenAPI

````yaml /partner-openapi.json post /partner/cards
openapi: 3.1.0
info:
  title: Contro Partner API
  version: 1.0.0
  license:
    name: Proprietary
    url: https://contro.me/terms
  description: >-
    The Contro Partner API enables Card-as-a-Service (CaaS) partners to
    programmatically issue cards, manage cardholders, and monitor transactions.


    ## Authentication


    All requests require your partner API key in the `x-contro-api-key` header:


    ```

    x-contro-api-key: sk_live_...

    ```


    Use `sk_test_*` keys for sandbox and `sk_live_*` keys for production.


    ## Rate Limits


    The API allows 1,000 requests per minute per API key. When exceeded,
    responses return HTTP 429 with a `Retry-After` header.


    ## Pagination


    List endpoints use page-based pagination:


    ```json

    {
      "data": [...],
      "page": 1,
      "limit": 20,
      "total": 137
    }

    ```


    Pass `?page=2&limit=20` to paginate. `limit` accepts 1–100 (default 20);
    `page` defaults to 1.


    ## Errors


    All errors return:


    ```json

    {
      "success": false,
      "error": "Human-readable message"
    }

    ```
servers:
  - url: https://api.contro.me/v1
    description: Production server for live traffic
  - url: https://stg-api.contro.dev/v1
    description: Sandbox environment for testing
security:
  - apiKey: []
paths:
  /partner/cards:
    post:
      tags:
        - Partner - Cards
      summary: Issue card
      description: Issue a new card for a cardholder
      operationId: issueCard
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                cardholderId:
                  type: string
                  minLength: 1
                  description: ID of the cardholder to issue the card to
                  example: ch_abc123
                programId:
                  type: string
                  minLength: 1
                  description: Card program to issue from
                  example: prog_xyz
                idempotencyKey:
                  type: string
                  description: Unique key to prevent duplicate card issuance
                  example: issue_card_user42_2026
              required:
                - cardholderId
                - programId
      responses:
        '201':
          description: Card issued
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Newly issued card ID
                    example: card_def456
                  status:
                    type: string
                    description: Initial card status
                    example: created
                  cardholderId:
                    type: string
                    description: Cardholder this card belongs to
                    example: ch_abc123
                  programId:
                    type: string
                    description: Card program used
                    example: prog_xyz
                required:
                  - id
                  - status
                  - cardholderId
                  - programId
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '429':
          description: Rate Limited
        '500':
          description: Internal Server Error
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-contro-api-key
      description: Partner API key (sk_live_* for production, sk_test_* for sandbox)

````