Programs

Understand the operating boundary your accounts, cards, and spend controls live in.

Every banking and issuing resource in Penny sits inside a Program. Most businesses have exactly one, and Penny uses it automatically — no request needs a program to get started.

BusinessOWNERBusiness EntityLEGAL OWNERProgramBOUNDARYCardholderHOLDERCard ProductPRODUCTCapital & Control AccountsACCOUNTSCardCARD

Program

A Program is a self-contained banking and issuing setup for one financial product. It brings together the product’s accounts, cards, card products, funding, and spend controls, so each product’s resources and rules are managed independently of any other product your business runs.

What it’s for: a Program keeps one financial product’s resources and rules together, so they can be run and controlled separately from any other product your business operates.

How it behaves:

  • A Program is identified by its program_id and can carry an optional alias — a friendly name you can show in your own tooling.
  • Penny sets up Programs during onboarding. They are not created through the API.
  • Resources created in a Program stay in it. Their responses include the program_id they belong to.

How Business, Business Entity and Program fit together

A Business owns both its Business Entities and its Programs. They answer two different questions:

ResourceAnswersOwns or contains
Business EntityWho legally owns this?The legal owner of accounts and cardholders.
ProgramWhich product does this belong to?The operating boundary for card products, cards, cardholders, Capital and Control Accounts, funding, and spend controls.

Resources sit where an entity and a program meet:

  • Cardholders, cards, and Capital and Control Accounts record both a business_entity_id (their legal owner) and a program_id (their operating boundary).
  • Card Products belong to a Program only. They are offered under one Program and are not owned by an entity.
  • A card always belongs to the same Program as its cardholder.

Examples

A business that runs more than one financial product can keep each one in its own Program. For example:

OTA program

An online travel agency issues a single-use virtual card for each booking, funded from a dedicated Capital Account, with tight per-card spend controls so every card can only pay the supplier it was issued for.

Business Expenses program

The same business issues virtual cards to its employees as cardholders, with category and merchant limits that apply across every employee card in the program.

Because each Program has its own card products, accounts, and spend controls, the OTA program’s booking rules never affect employee cards, and the other way around.

Your default program

Most businesses have exactly one Program — their default program. When you create a cardholder or card without naming a program, Penny creates it in your default program.

Retrieve your default program with GET /businesses/program:

GET /businesses/program
{
"program_id": "program_019377de-7f88-7f02-894f-7f88f0294fcb",
"alias": "Corporate Cards"
}

If Penny has set up your business with more than one Program, your Penny contact can share guidance on choosing a program when creating cardholders and cards.

Retrieving programs

EndpointReturns
GET /businesses/programYour default program’s program_id and alias.
GET /businesses/defaultsThe IDs Penny uses when a request doesn’t specify one: business_entity_id and program_id.
GET /businesses/defaults
{
"business_entity_id": "business_entity_01937c9d-3a1e-72b0-8881-3a1e2b088159",
"program_id": "program_019377de-7f88-7f02-894f-7f88f0294fcb"
}