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

# Create Card Program



## OpenAPI

````yaml openapi.json post /card-programs
openapi: 3.1.0
info:
  title: Sudo Sandbox API
  version: '1.0'
servers:
  - url: https://api.sandbox.sudo.cards
security:
  - sec0: []
paths:
  /card-programs:
    parameters: []
    post:
      summary: Create Card Program
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                description:
                  type: string
                status:
                  type: string
                debitAccountId:
                  type: string
                fundingSourceId:
                  type: string
                issuerCountry:
                  type: string
                currency:
                  type: string
                cardBrand:
                  type: string
                cardType:
                  type: string
            example:
              name: Virtual Verve Debit Cards
              description: For Virtual Verve Debit Cards
              status: active
              debitAccountId: 67974b365c184d20fc340889
              fundingSourceId: 670cece725852ba485d745c7
              issuerCountry: NGA
              currency: NGN
              cardBrand: Verve
              cardType: virtual
              spendingControls:
                channels:
                  atm: true
                  pos: true
                  web: true
                  mobile: true
                allowedCategories: []
                blockedCategories: []
                spendingLimits:
                  - amount: 1500000
                    interval: daily
                    categories: []
      responses:
        '201':
          headers:
            X-Powered-By:
              schema:
                type: string
              example: Express
            Access-Control-Allow-Origin:
              schema:
                type: string
              example: '*'
            X-RateLimit-Limit:
              schema:
                type: integer
              example: '250000'
            X-RateLimit-Remaining:
              schema:
                type: integer
              example: '249999'
            X-RateLimit-Reset:
              schema:
                type: integer
              example: '0'
            Content-Type:
              schema:
                type: string
              example: application/json; charset=utf-8
            Content-Length:
              schema:
                type: integer
              example: '733'
            ETag:
              schema:
                type: string
              example: W/"2dd-sfRBgLV2BqnKnzwqFCi2UGdBgUQ"
            Date:
              schema:
                type: string
              example: Wed, 04 Jun 2025 21:05:26 GMT
            Connection:
              schema:
                type: string
              example: keep-alive
            Keep-Alive:
              schema:
                type: string
              example: timeout=5
          description: '200'
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      name:
                        type: string
                      description:
                        type: string
                      reference:
                        type: string
                      status:
                        type: string
                      business:
                        type: string
                      debitAccount:
                        type: string
                      fundingSource:
                        type: string
                      currency:
                        type: string
                      design:
                        nullable: true
                      cardBrand:
                        type: string
                      cardType:
                        type: string
                      spendingControls:
                        type: object
                        properties:
                          channels:
                            type: object
                            properties:
                              atm:
                                type: boolean
                              pos:
                                type: boolean
                              web:
                                type: boolean
                              mobile:
                                type: boolean
                          allowedCategories:
                            type: array
                            items: {}
                          blockedCategories:
                            type: array
                            items: {}
                          spendingLimits:
                            type: array
                            items:
                              type: object
                              properties:
                                amount:
                                  type: integer
                                interval:
                                  type: string
                                categories:
                                  type: array
                                  items: {}
                      isDeleted:
                        type: boolean
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        nullable: true
                      deletedAt:
                        nullable: true
                      _id:
                        type: string
                      __v:
                        type: integer
              example:
                statusCode: 200
                message: Card program created successfully.
                data:
                  name: Physical Verve Prepaid Cards
                  description: For Physical Verve Prepaid Cards
                  reference: 250604-2156
                  status: active
                  business: 670cec9d25852ba485d74273
                  debitAccount: 67974b365c184d20fc340889
                  fundingSource: 670cec9d25852ba485d74286
                  currency: NGN
                  design: null
                  cardBrand: Verve
                  cardType: physical
                  spendingControls:
                    channels:
                      atm: true
                      pos: true
                      web: true
                      mobile: true
                    allowedCategories: []
                    blockedCategories: []
                    spendingLimits:
                      - amount: 1500000
                        interval: daily
                        categories: []
                  isDeleted: false
                  createdAt: '2025-06-04T21:05:26.115Z'
                  updatedAt: null
                  deletedAt: null
                  _id: 6840b5161443c90831ba07a5
                  __v: 0
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      name: Authorization
      x-bearer-format: bearer
      x-default: '{{APIKey}}'

````