Create a card under a specific user
/public/v1/core/cardsIssue a new card for an existing user.
Creates a virtual or physical card under the user profile you name, optionally with
an initial spend limit. The user profile must already exist: invite the user first with
POST /public/v1/core/user_profiles/invite if they are not
yet in Qashio.
The card currency defaults to the company's currency. Exactly which card product is issued depends on the card issuer configured for your company, so the returned card may carry issuer-specific attributes.
Request body
application/jsonrequired
| Field | Type | Description |
|---|---|---|
user_profile_external_id | string | The user the card is issued to, e.g. UPxxxxxxxxxxxxxxxx. Required |
card_type | string | VIRTUAL or PHYSICAL. Required |
nickname | string | Card name shown in Qashio |
spend_limit_period | string | Period for the initial spend limit, e.g. MONTHLY |
spend_limit_max_amount | integer | Maximum spend within that period |
{
"user_profile_external_id": "UPxxxxxxxxxxxxxxxx",
"card_type": "VIRTUAL",
"nickname": "Marketing: Ads",
"spend_limit_period": "MONTHLY",
"spend_limit_max_amount": 250
}Response
201 with message: "Resource created successfully." and data.card: the created card:
{ id, nickname, card_number, card_type, status, display_status, user_name, user_email, company_name, velocity_period, allow_atm, allow_replace_card, card_replaced, return_card }.
Response schema from the OpenAPI document
| Field | Type | Description |
|---|---|---|
status_code | integer | |
success | boolean | |
message | string | |
data | object | |
card | object | |
id | integer | |
user_name | string | |
company_name | string | |
user_email | string | |
status | string | |
display_status | string | |
card_type | string | |
nickname | string | |
card_number | string | |
allow_replace_card | boolean | |
card_replaced | boolean | |
velocity_period | string | |
allow_atm | boolean | |
return_card | string | |
shipping_card | string | |
terminated_at | string | |
spend_restriction_type | string | |
last_four | string | |
limit_amount_notification | string | |
card_balance_running_low_notification | boolean | |
allowed_countries_list | string | |
allowed_countries_list_active | boolean | |
foreign_entity | boolean | |
atm_restricted_at | string | |
issuer | string | |
allowed_mccs_active | string | |
spend_limit_active | boolean | |
atm_limit_active | boolean | |
auto_top_up_amount | string | |
auto_load_on_transaction_approval | boolean | |
tokenization_status | string | |
account_type | string | |
account_id | integer | |
currency | string | |
show_pool_balance_to_cardholder | boolean | |
is_manager | string | |
is_account_manager | boolean | |
is_dept_manager | string | |
can_edit_all_time_limit | boolean | |
can_reset_limit | boolean | |
reset_summary | string | |
issued_at | string | |
first_activated_at | string | |
external_id | string | |
replaced_by_card_external_id | string | |
replaced_by_card_id | string | |
card_usage_type | string | |
card_usage_type_amount | string | |
account_balance | string | |
shipment_tracking | string | |
atm_transactions_limit_active | string | |
transactions_limit_active | boolean | |
transactions_limit | string | |
atm_limit | string | |
department | string | |
location | string | |
division | string | |
project | string | |
card_product | string | |
shipping_address | string | |
return_address | string | |
card_template | string | |
erp_bank_account | string | |
step_up_auth_delegated_user_profile | string | |
created_at | string | |
shipping_details | object | |
wallets_status | object | |
spend_limit | object | |
atm_transactions_limit | object | |
expense_categories | object[] | |
merchants | object[] | |
user_profile | object | |
merchant_groups | object[] | |
advanced_velocity_limits | object[] | |
custom_segments | object[] | |
balance_controls_check_time | string | |
balance_controls_tier | object | |
balance_control | object | |
meta | object | |
request_id | string | |
timestamp | string |
119 nested fields
data.card.card_product.id | integer | |
data.card.card_product.name | string | |
data.card.card_product.status | string | |
data.card.card_product.description | string | |
data.card.card_product.pan_format_token | string | |
data.card.card_product.track_format_token | string | |
data.card.card_product.proxy_format_token | string | |
data.card.card_product.remote_id | string | |
data.card.card_product.external_id | string | |
data.card.card_product.notification_template_remote_id | string | |
data.card.card_product.auth_settings_allowed_list_status_active | boolean | |
data.card.card_product.currency_settings | object | |
data.card.card_product.currency_settings.supported_currency | string | |
data.card.card_product.currency_settings.settlement_currency | string | |
data.card.card_product.currency_settings.priority | integer | |
data.card.card_product.currency_settings.status | string | |
data.card.card_product.currency_settings.allow_loads | boolean | |
data.card.card_product.currency_settings.allow_unloads | boolean | |
data.card.card_product.currency_settings.allow_scheme_debit_txn | boolean | |
data.card.card_product.currency_settings.allow_scheme_credit_txn | boolean | |
data.card.card_product.currency_settings.allow_incoming_transfer | boolean | |
data.card.card_product.currency_settings.allow_outgoing_transfer | boolean | |
data.card.card_product.currency_settings.allow_incoming_sweeps | boolean | |
data.card.card_product.currency_settings.allow_outgoing_sweeps | boolean | |
data.card.card_product.currency_settings.allow_initial_load | boolean | |
data.card.card_product.pin_settings | object | |
data.card.card_product.pin_settings.pin_type | string | |
data.card.card_product.pin_settings.pin_length | integer | |
data.card.card_product.pin_settings.pin_retries | integer | |
data.card.shipping_details.method | string | |
data.card.shipping_details.return_address | object | |
data.card.shipping_details.shipping_address | object | |
data.card.wallets_status.apple_pay | boolean | |
data.card.wallets_status.google_pay | boolean | |
data.card.wallets_status.samsung_pay | boolean | |
data.card.spend_limit.id | integer | |
data.card.spend_limit.name | string | |
data.card.spend_limit.active | boolean | |
data.card.spend_limit.description | string | |
data.card.spend_limit.min_amount | integer | |
data.card.spend_limit.max_amount | integer | |
data.card.spend_limit.currency | string | |
data.card.spend_limit.period | string | |
data.card.spend_limit.limit_type | string | |
data.card.spend_limit.frequency | string | |
data.card.spend_limit.num_of_days | string | |
data.card.spend_limit.remote_id | string | |
data.card.spend_limit.transaction_scope | string | |
data.card.spend_limit.external_id | string | |
data.card.spend_limit.remaining_balance | string | |
data.card.spend_limit.remaining_frequency | string | |
data.card.spend_limit.remote_sync | string | |
data.card.spend_limit.consumed_limit | integer | |
data.card.spend_limit.consumed_frequency | integer | |
data.card.spend_limit.remote_data | object | |
data.card.atm_transactions_limit.max_amount | string | |
data.card.expense_categories[].id | string | |
data.card.expense_categories[].name | string | |
data.card.expense_categories[].label | string | |
data.card.expense_categories[].code | string | |
data.card.expense_categories[].erp_internal_id | string | |
data.card.expense_categories[].erp_code | string | |
data.card.merchants[].id | string | |
data.card.merchants[].name | string | |
data.card.merchants[].label | string | |
data.card.merchants[].code | string | |
data.card.merchants[].erp_internal_id | string | |
data.card.merchants[].erp_code | string | |
data.card.user_profile.department_name | string | |
data.card.user_profile.first_name | string | |
data.card.user_profile.last_name | string | |
data.card.user_profile.company_name | string | |
data.card.user_profile.user_name | string | |
data.card.user_profile.system_role_name | string | |
data.card.user_profile.email | string | |
data.card.user_profile.user_email | string | |
data.card.user_profile.external_id | string | |
data.card.user_profile.user_id | integer | |
data.card.user_profile.status | string | |
data.card.user_profile.fullname | string | |
data.card.user_profile.employee_id | string | |
data.card.user_profile.department_id | integer | |
data.card.user_profile.managing_departments | object[] | |
data.card.user_profile.managing_departments[].id | integer | |
data.card.user_profile.managing_departments[].name | string | |
data.card.merchant_groups[].id | string | |
data.card.merchant_groups[].name | string | |
data.card.merchant_groups[].label | string | |
data.card.merchant_groups[].code | string | |
data.card.merchant_groups[].erp_internal_id | string | |
data.card.merchant_groups[].erp_code | string | |
data.card.advanced_velocity_limits[].id | string | |
data.card.advanced_velocity_limits[].name | string | |
data.card.advanced_velocity_limits[].label | string | |
data.card.advanced_velocity_limits[].code | string | |
data.card.advanced_velocity_limits[].erp_internal_id | string | |
data.card.advanced_velocity_limits[].erp_code | string | |
data.card.custom_segments[].id | string | |
data.card.custom_segments[].name | string | |
data.card.custom_segments[].label | string | |
data.card.custom_segments[].code | string | |
data.card.custom_segments[].erp_internal_id | string | |
data.card.custom_segments[].erp_code | string | |
data.card.balance_controls_tier.tier | string | |
data.card.balance_controls_tier.allows_one_time | boolean | |
data.card.balance_controls_tier.max_one_time_schedules | integer | |
data.card.balance_controls_tier.max_one_time_per_date | integer | |
data.card.balance_controls_tier.allows_multiple_days | boolean | |
data.card.balance_controls_tier.max_recurring_days | string | |
data.card.balance_controls_tier.max_weekly_days | integer | |
data.card.balance_controls_tier.max_monthly_days | integer | |
data.card.balance_controls_tier.allows_per_day_amounts | boolean | |
data.card.balance_control.smart_topup_enabled | boolean | |
data.card.balance_control.max_balance | string | |
data.card.balance_control.effective_max_balance | string | |
data.card.balance_control.recurring_enabled | boolean | |
data.card.balance_control.one_time_enabled | boolean | |
data.card.balance_control.recurring_schedules | object[] | |
data.card.balance_control.one_time_schedules | object[] |
Errors
400 (card could not be created; the reason is in errors[].message), 401,
404 (user profile not found).
401Unauthorized - missing or invalid Bearer token404Not Found
Every error carries an errors[] array and a meta.request_id. See Errors for the full envelope.