Apply for a card
Accepts a card application and submits it to the card issuer in the background. The response has status: pending; get the result from GET /card-applications/{applicationId} or the card_application.status_changed webhook.
- Rejected when the product's
features.issueis false. - When the product requires a cardholder (
requires_cardholder),cardholder_idis required. The cardholder must be approved, registered for this product, and meet the product's current application conditions (verification usage). initial_funding_amountmust be within theinitial_fundingrange returned byGET /card-products.- The initial funding plus the issuing fee is held on acceptance; if the merchant's available balance is too low, 422 is returned. The hold is settled when the card is issued and released if it fails or is cancelled.
- If the product has
application_fields, submit them infields(such as the cardholder's name, email and phone for some products). order_nomust be unique per merchant; a duplicate returns 422.
merchantApiKeymerchantTimestampmerchantNoncemerchantSignatureX-API-KEY<token>Merchant API key (starts with upk_, also accepts api-key); signing headers are also required
X-Timestamp<token>Unix timestamp in seconds, within 300 seconds of server time
X-Nonce<token>Unique per request; cannot be reused with the same credential during the timestamp validity window
X-Signature<token>Hex HMAC-SHA256 signature (either letter case) of the method, full path, timestamp, nonce and body digest
application/json- body
card_product_id*stringCard product ID, see GET /card-products
order_no*stringYour order number, unique per merchant
length <= 64cardholder_id?|Cardholder ID (starts with chd_). Required when the product requires cardholders
initial_funding_amount?||Initial funding, up to two decimals; 0 when omitted
fields?|Information required by the product's application_fields, field name => value; validation error keys are fields.<field name>
Application accepted
application/json- response
id*stringApplication ID (starts with cap_)
order_no*|Your order number
card_product_id*string|nullcardholder_id*string|nullinitial_funding_amount*stringInitial funding, two decimals
status*CardApplicationStatuspending: accepted, being processed by the issuerissued: card issued, seecardfailed: could not be issued, seefailure_reasoncancelled: cancelled
"pending""issued""failed""cancelled"failure_reason*string|nullcard*|The issued card, present only when status is issued
created_at*stringdate-timeupdated_at*stringdate-timecurl -X POST 'https://sandbox.getupp.net/api/v1/card-applications' \ -H 'Content-Type: application/json' \ -d '{ "card_product_id": "cpd_01JBXA3M6N8Q2R4T6V8W0Y2Z4H", "order_no": "ORD-1001", "cardholder_id": "chd_01m5ergfs354xnjeazkx60hgwv", "initial_funding_amount": "10.00"}'{ "id": "cap_01m5f56pqtmwzxk1dyyevwwy43", "order_no": "ORD-1001", "card_product_id": "cpd_01JBXA3M6N8Q2R4T6V8W0Y2Z4H", "cardholder_id": "chd_01m5ergfs354xnjeazkx60hgwv", "initial_funding_amount": "10.00", "status": "pending", "failure_reason": null, "card": null, "created_at": "2026-10-21T11:29:55.000000Z", "updated_at": "2026-10-21T11:29:55.000000Z"}