Gravv docs
Docs Agent Sign in Get API keys

Create a card application

Opens a card application for a customer whose basic KYC is completed, using your active card account. In live, apply with POST /v1/risk/features/activate and feature_id: virtual_cards instead; this route works in sandbox.

A second call for the same customer returns the existing application, in the shape of GET /v1/cards/applications/{application_id}, and does not check the new body. The response has no application_status; read it from GET /v1/cards/applications.

POSThttps://api.gravv.xyz/v1/cards/applications/new

Headers

1 to 255 printable ASCII characters. A retry with the same key within 24 hours returns the first response. Use a new key for each new card or withdrawal, and the same key to retry a failed one.

Request Body

The cardholder. Their basic KYC must be completed. For a business card, an associated person of the business.

Your active account of type card

Cardholder's yearly income in USD

Expected monthly spend in USD, not more than annual_remuneration

The cardholder's IP address

Possible values: individual, business

Required with type: business. The business must have completed KYB and have a business_name, which is printed on the card.

How the card is funded. shared joins a card group and shares its balance; without card_group_id it joins the cardholder's default group. own gives the card its own balance. Leave it out to use the application's group.

Possible values: shared, own

Only with shared

Cardholder's IP address, for own on some live cards

Cardholder's yearly income, for own on some live cards

Request Examples

{
"customer_id": "9e3cccad-e9ae-47a0-81ee-063af0159310",
"account_id": "9b40be8d-9d74-4d2a-8897-dea3ef80ad23",
"annual_remuneration": 60000,
"estimated_monthly_limit": 2000,
"ip_address": "203.0.113.24"
}

Responses

Status Description
200 The new application, or the customer's existing one
400 A missing field, incomplete KYC, or an unusable card account

200 response

One of the following variants:

Application ID. The first card issued gets the same ID.

The card's status, not the application's. It stays empty until a card is issued, so do not poll it for approval.

Possible values: active, freeze, blocked, inactive, ``

Verification page for the cardholder, live only. Empty when there is none.

{
"data": {
"message": "Card application request successful",
"status": true,
"id": "a14ec356-f33d-4384-ba68-4d9bfa19765b"
},
"error": null
}

400 response

What went wrong

{
"data": null,
"error": "basic level kyc needs to be completed to create an application"
}

Authorization

  • ApiKeyAuth
Was this page helpful?
ESC