POST
/
card
curl --request POST \
  --url https://api.joinslash.com/card \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{
  "accountId": "<string>",
  "type": "virtual",
  "name": "<string>",
  "spendingConstraint": {
    "merchantCategoryRule": {
      "merchantCategories": [
        "<string>"
      ],
      "restriction": "allowlist"
    },
    "merchantRule": {
      "merchants": [
        "<string>"
      ],
      "restriction": "allowlist"
    },
    "spendingRule": {
      "utilizationLimit": {
        "timezone": "<string>",
        "limitAmount": {
          "amountCents": 123
        },
        "preset": "daily",
        "startDate": "<string>"
      },
      "utilizationLimitV2": [
        {
          "timezone": "<string>",
          "limitAmount": {
            "amountCents": 123
          },
          "preset": "daily",
          "startDate": "<string>"
        }
      ],
      "transactionSizeLimit": {
        "minimum": {
          "amountCents": 123
        },
        "maximum": {
          "amountCents": 123
        }
      }
    }
  },
  "avsAddress": {
    "addressLine1": "<string>",
    "addressLine2": "<string>",
    "city": "<string>",
    "state": "<string>",
    "zip": "<string>",
    "country": "<string>"
  },
  "userData": {}
}'
{
  "id": "<string>",
  "accountId": "<string>",
  "last4": "<string>",
  "name": "<string>",
  "expiryMonth": "<string>",
  "expiryYear": "<string>",
  "status": "active",
  "isPhysical": true,
  "pan": "<string>",
  "cvv": "<string>",
  "cardGroupId": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "spendingConstraint": {
    "merchantCategoryRule": {
      "merchantCategories": [
        "<string>"
      ],
      "restriction": "allowlist"
    },
    "merchantRule": {
      "merchants": [
        "<string>"
      ],
      "restriction": "allowlist"
    },
    "spendingRule": {
      "utilizationLimit": {
        "timezone": "<string>",
        "limitAmount": {
          "amountCents": 123
        },
        "preset": "daily",
        "startDate": "<string>"
      },
      "utilizationLimitV2": [
        {
          "timezone": "<string>",
          "limitAmount": {
            "amountCents": 123
          },
          "preset": "daily",
          "startDate": "<string>"
        }
      ],
      "transactionSizeLimit": {
        "minimum": {
          "amountCents": 123
        },
        "maximum": {
          "amountCents": 123
        }
      }
    }
  },
  "avsAddress": {
    "addressLine1": "<string>",
    "addressLine2": "<string>",
    "city": "<string>",
    "state": "<string>",
    "zip": "<string>",
    "country": "<string>"
  },
  "userData": {}
}

Authorizations

X-API-Key
string
headerrequired

Authentication from public API requests

Body

application/json
accountId
string

The ID of the account to create the card under. You can get this by calling GET /account. This field is required unless you are authenticating via API key, in which case it will default to your first commercial account. We recommend supplying this even if you are authenticating via API key.

type
enum<string>
required

Specify the type of card you'd like to create. At the moment, only virtual cards are supported.

Available options:
virtual
name
string
required
spendingConstraint
object

A constraint that can be applied to a CardGroupSpendingRule

avsAddress
object
userData
object

Arbitrary information that can be attached to the card. This should be a JSON object and cannot exceed 4kb.

Response

201 - application/json
id
string
required
accountId
string
required

The account that this card is associated with

last4
string
required

The last 4 digits of the card number

name
string
required

The name assigned to the card that appears on the user dashboard

expiryMonth
string
required

The month the card expires formatted as MM (01, 02, ..., 12)

expiryYear
string
required

The year the card expires formatted as YYYY (2024, 2025, ...)

status
enum<string>
required

The status of the card

Available options:
active,
paused,
inactive,
closed
isPhysical
boolean
required

When true, a physical card has been issued. Otherwise, this is a virtual card.

pan
string

This field contains the full PAN which will only be sent on a request for a single card when you set the query param "include_pan" to "true"

cvv
string

This field will contain full CVV which will only be sent on a request for a single card when you set the query param "include_pan" to "true"

cardGroupId
string

The card group the card belongs to.

createdAt
string
spendingConstraint
object

The spending constraint applied to the card

avsAddress
object

The avs address locked applied to this card

userData
object

Arbitrary information that can be attached to the card. See the PATCH /card/{cardId} endpoint for more details on how to add user data.