List card products
Card products the merchant can apply for. Use id as card_product_id in POST /cardholders and POST /card-applications.
Products with requires_cardholder: true need a cardholder first. The information to submit is defined by cardholder_fields and differs by product (some require monthly income, for example); the customer must have an approved verification of the cardholder_verification_usage usage.
When the product has requirements (cardholder_requirement_id or application_requirement_id is not null), dropdown options are not returned with the product: fetch them from the field's options_url. If the field has a parent_field, pass the parent field's name and value as query parameters (cities by the selected country, for example). A field is required when its required_when condition holds. If the issuer's conditions are not met (for example, the customer needs an approved basic verification), registering the cardholder returns 422.
Name, description, feature switches (features), pricing (pricing) and application conditions are configured per merchant by UPP. When features.issue is false you cannot apply for cards. Pricing is currently for display only and is not charged.
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
Card products
application/json- response
data*array<>curl -X GET 'https://sandbox.getupp.net/api/v1/card-products'{ "data": [ { "id": "cpd_01JBXA3M6N8Q2R4T6V8W0Y2Z4C", "name": "Fake direct", "description": null, "currency": null, "initial_funding": { "min": null, "max": null }, "features": { "issue": true, "freeze": true, "terminate": true, "top_up": true, "withdraw": true }, "pricing": { "issue_fee": null, "top_up_fee_rate": null, "top_up_fee_fixed": null, "withdraw_fee_rate": null, "withdraw_fee_fixed": null }, "limits": { "top_up": { "min": null, "max": null }, "withdraw": { "min": null, "max": null } }, "requires_cardholder": false, "cardholder_verification_usage": null, "cardholder_requirement_id": null, "cardholder_fields": [], "application_requirement_id": null, "application_fields": [] }, { "id": "cpd_01JBXA3M6N8Q2R4T6V8W0Y2Z4H", "name": "Visa 446602", "description": "Virtual Visa card for online spending", "currency": "USD", "initial_funding": { "min": "10", "max": "1000000" }, "features": { "issue": true, "freeze": false, "terminate": true, "top_up": true, "withdraw": true }, "pricing": { "issue_fee": "2.50", "top_up_fee_rate": "1.5", "top_up_fee_fixed": null, "withdraw_fee_rate": null, "withdraw_fee_fixed": null }, "limits": { "top_up": { "min": "10", "max": "5000" }, "withdraw": { "min": "5", "max": null } }, "requires_cardholder": true, "cardholder_verification_usage": "basic", "cardholder_requirement_id": null, "cardholder_fields": [ { "field": "email", "label": "Email", "type": "email", "required": true, "options": null, "description": "Receives verification codes. Must be unique for this card type." }, { "field": "area_code", "label": "Mobile area code", "type": "text", "required": true, "options": [ { "value": "+61" }, { "value": "+880" }, { "value": "+855" } ], "description": "Use the international format, e.g. +60." } ], "application_requirement_id": null, "application_fields": [] } ]}