Skip to main content
POST
/
api
/
v1
/
cardholders
curl -X POST https://api.agentcard.sh/api/v1/cardholders \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"firstName": "Alice", "lastName": "Smith", "dateOfBirth": "1990-01-15", "email": "alice@example.com"}'
{
  "id": "ch_abc123",
  "firstName": "Alice",
  "lastName": "Smith",
  "email": "alice@example.com",
  "dateOfBirth": "1990-01-15T00:00:00.000Z",
  "phoneNumber": null,
  "stripeCardholderId": "ich_1abc123",
  "createdAt": "2026-03-10T12:00:00.000Z",
  "updatedAt": "2026-03-10T12:00:00.000Z"
}
Creates a new org-managed cardholder. The cardholder is immediately usable — you can attach a payment method and create cards for them right away.

Request body

firstName
string
required
Cardholder’s first name.
lastName
string
required
Cardholder’s last name.
dateOfBirth
string
required
Date of birth in YYYY-MM-DD format (e.g. "1990-01-15").
email
string
Cardholder’s email address. Must be unique within the organization.
phoneNumber
string
Cardholder’s phone number.

Response

id
string
Unique cardholder identifier.
firstName
string
Cardholder’s first name.
lastName
string
Cardholder’s last name.
email
string
Cardholder’s email address, if provided.
dateOfBirth
string
Date of birth.
phoneNumber
string
Phone number, if provided.
stripeCardholderId
string
The Stripe Issuing cardholder ID. Present once the cardholder has been provisioned with Stripe.
createdAt
string
ISO 8601 creation timestamp.
updatedAt
string
ISO 8601 last-updated timestamp.
curl -X POST https://api.agentcard.sh/api/v1/cardholders \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{"firstName": "Alice", "lastName": "Smith", "dateOfBirth": "1990-01-15", "email": "alice@example.com"}'
{
  "id": "ch_abc123",
  "firstName": "Alice",
  "lastName": "Smith",
  "email": "alice@example.com",
  "dateOfBirth": "1990-01-15T00:00:00.000Z",
  "phoneNumber": null,
  "stripeCardholderId": "ich_1abc123",
  "createdAt": "2026-03-10T12:00:00.000Z",
  "updatedAt": "2026-03-10T12:00:00.000Z"
}