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

# Card Program API: issue and control Visa and Mastercard cards

> Build card issuing into your product with the PointZero Card Program API. Create cards, control spending rules, manage the lifecycle and track transactions.

The PointZero Card Program API lets you issue Visa and Mastercard cards directly from your product, set spending rules per card and follow every transaction in real time. Everything is exposed through a single REST API with predictable JSON requests and responses.

**Issue. Control. Monitor. All through one API.**

```bash Your first request theme={null}
curl https://sandbox.api.pointzero.io/v1/programs \
  -H "Authorization: Bearer sk_test_..."
```

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Create a customer and issue your first virtual card in the sandbox.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/introduction">
    Every endpoint with parameters, response objects and a request playground.
  </Card>

  <Card title="Card lifecycle" icon="credit-card" href="/guides/card-lifecycle">
    Statuses, freezing, termination and replacement.
  </Card>

  <Card title="Controls" icon="shield-check" href="/guides/spending-and-authorization-controls">
    Limits, merchant categories, countries and channels.
  </Card>
</CardGroup>

## How it works

<Steps>
  <Step title="Pick a program">
    A program defines the network, BIN, currencies and card types available to you. PointZero sets it up during onboarding.
  </Step>

  <Step title="Create a customer">
    Customers are the individuals or businesses that hold cards. Store your own user ID in `external_id`.
  </Step>

  <Step title="Issue cards">
    Virtual cards are ready to use right away. Physical cards stay `pending` until they are produced and delivered.
  </Step>

  <Step title="Control and monitor spending">
    Set limits and merchant rules per card, then read authorizations, refunds and settlements from the transactions endpoint.
  </Step>
</Steps>

## What you can build

* Corporate and expense cards with per-employee limits
* Consumer debit and prepaid cards
* Single-purpose virtual cards for online payments and subscriptions
* Physical cards with PIN, contactless and Apple Pay / Google Pay

## Core objects

| Object | ID prefix | Description |
| - | - | - |
| [Program](/api-reference/programs/list-programs) | `prog_` | Configuration of BIN, network, currencies and card types. Set up by PointZero during onboarding. |
| [Customer](/api-reference/customers/create-a-customer) | `cus_` | An individual or business that holds cards. |
| [Card](/api-reference/cards/create-a-card) | `card_` | A virtual or physical card issued to a customer. |
| [Transaction](/api-reference/transactions/list-transactions) | `txn_` | An authorization, refund or cash withdrawal made with a card. |
| [Dispute](/api-reference/disputes/create-a-dispute) | `dsp_` | A chargeback opened on a transaction. |

## Environments

| Environment | Base URL | API key prefix |
| - | - | - |
| Production | `https://api.pointzero.io/v1` | `sk_live_` |
| Sandbox | `https://sandbox.api.pointzero.io/v1` | `sk_test_` |

See [Authentication](/guides/authentication) and [Environments](/guides/environments) for details.

Questions about your program or production access? Write to [hi@pointzero.io](mailto:hi@pointzero.io).


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