Create cards

Create new shared or individual virtual cards.

Create a new shared card

Post/v2/cards

Request

Use this request to create a new shared virtual card for a budget. Learn more about card types.

Sample requestRequest structure
Copy
Copied
curl -i -X POST \
  'https://api.equalsmoney.com/v2/cards?accountId=F12345' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "cardOwnerType": "BUDGET",
    "budgetCardPhoneNumber": "+447911001762",
    "budgetCardPhoneNumberPersonId": "775596ae-2624-40af-a9dc-9756110a4a08",
    "budgetId": "775596ae-2624-40af-a9dc-9756110a4a03",
    "name": "Team Party"
  }'
Copy
Copied
curl -i -X POST \
  'https://api.equalsmoney.com/v2/cards?accountId={accountId}' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "cardOwnerType": "string",
    "budgetCardPhoneNumber": "string",
    "budgetCardPhoneNumberPersonId": "string",
    "budgetId": "string",
    "name": "string"
  }'

Query parameters

Parameter Description
accountId
string
required
The ID of the account that the budget belongs to.

Allowable values:
An existing accountId

Request body schema

Parameter Description
cardOwnerType
string
required
The type of card owner. Set this to BUDGET.

Allowable values:
BUDGET
budgetCardPhoneNumber
string
The phone number associated with the shared card, including the area code. Do not include hyphens, spaces, or parentheses.

Allowable values:
A valid string, prepended by the + symbol and the 1- to 3-digit country calling code
budgetCardPhoneNumberPersonId
string
The person associated with the card.

Allowable values:
An existing personId (<= 36 characters)
budgetId
string
required
The ID of the budget for which you're creating the card.

Allowable values:
An existing budgetId (<= 36 characters)
name
string
required
The name of the card. Any diacritics will be converted to the nearest English letter equivalent. Note that any name that is longer than 21 characters will be truncated.

Allowable values:
A valid string

Response

If your request is successful, you'll receive a 201 response.

Sample responseResponse structure
Copy
Copied
{
  "forceChangePin": false,
  "id": "afe526fb-83a3-4917-ac6c-214a5e454c58",
  "name": "Joy Mueller",
  "accountId": "F12345",
  "state": "UNACTIVATED",
  "cardType": "VIRTUAL_PAN",
  "lastFour": "1527",
  "expiration": "0827",
  "cardProductToken": "18e0fedb-c07d-467a-8317-49827d30a56e",
  "fulfillmentStatus": "ISSUED",
  "pinIsSet": false,
  "userTokenId": "cf267eb9-f517-4338-8d01-548216804a5d",
  "cardOwnerType": "BUDGET",
  "cardGroupId": "afe526fb-83a3-4917-ac6c-214a5e454c58",
  "cardProductId": "fe4fdbfd-ea5c-4f2a-9de4-275a80e99c9f",
  "physicalCardState": "NOT_REQUESTED",
  "updatedAt": "2023-08-02T09:54:56.339Z",
  "createdAt": "2023-08-02T09:54:56.339Z",
  "meta": [
    {
      "id": "c8d95d49-a9a0-4331-840e-228e507f3165",
      "metaKey": "expirationTime",
      "metaValue": "2027-08-31T23:59:59Z",
      "cardId": "afe526fb-83a3-4917-ac6c-214a5e454c58",
      "updatedAt": "2023-08-02T09:54:56.346Z",
      "createdAt": "2023-08-02T09:54:56.346Z"
    },
    {
      "id": "e274b753-c8aa-4ee6-b931-63875451ff22",
      "metaKey": "stateReason",
      "metaValue": "New card",
      "cardId": "afe526fb-83a3-4917-ac6c-214a5e454c58",
      "updatedAt": "2023-08-02T09:54:56.348Z",
      "createdAt": "2023-08-02T09:54:56.348Z"
    }
  ]
}
Copy
Copied
{
  "forceChangePin": boolean,
  "id": "string",
  "name": "string",
  "accountId": "string",
  "state": "string",
  "cardType": "string",
  "lastFour": "string",
  "expiration": "string",
  "cardProductToken": "string",
  "fulfillmentStatus": "string",
  "pinIsSet": boolean,
  "userTokenId": "string",
  "cardOwnerType": "string",
  "cardGroupId": "string",
  "cardProductId": "string",
  "physicalCardState": "string",
  "updatedAt": "string",
  "createdAt": "string",
  "meta": [
    {
      "id": "string",
      "metaKey": "string",
      "metaValue": "string",
      "cardId": "string",
      "updatedAt": "string",
      "createdAt": "string"
    },
    {
      "id": "string",
      "metaKey": "string",
      "metaValue": "string",
      "cardId": "string",
      "updatedAt": "string",
      "createdAt": "string"
    }
  ]
}

For more detailed information about this request and its response, see the API reference.

Create a new individual card

Post/v2/cards

Request

Use this request to create a new individual virtual card for a person. Learn more about card types.

Sample requestRequest structure
Copy
Copied
curl -i -X POST \
  'https://api.equalsmoney.com/v2/cards?accountId=F12345' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "personId": "775596ae-2624-40af-a9dc-9756110a4a04",
    "cardOwnerType": "PEOPLE",
    "budgets": [
      {
        "budgetId": "775596ae-2624-40af-a9dc-9756110a4a03",
        "active": true
      }
    ],
    "name": "Team Party"
  }'
Copy
Copied
curl -i -X POST \
  'https://api.equalsmoney.com/v2/cards?accountId={accountId}' \
  -H 'Authorization: ApiKey YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "personId": "string",
    "cardOwnerType": "string",
    "budgets": [
      {
        "budgetId": "string",
        "active": boolean
      }
    ],
    "name": "string"
  }'

Query parameters

Parameter Description
accountId
string
required
The ID of the account that this person is associated with.

Allowable values:
An existing accountId.

Request body schema

Parameter Description
personId
string
required
The ID of the person for whom you want to create the card.

Allowable values:
An existing personId (<= 36 characters)
cardOwnerType
string
required
The type of card owner. Set this to PEOPLE.

Allowable values:
PEOPLE
budgets
array
required
Details about the budget(s) that the card should be associated with.

Allowable values:
A valid budgets object containing the following fields: budgetId, active
budgets.budgetId
string
required
The ID of the budget.

Allowable values:
An existing budgetId (<= 36 characters)
budgets.active
boolean
Whether or not the budget is active.

Allowable values:
true, false
name
string
required
The name of the card. Any diacritics will be converted to the nearest English letter equivalent. Note that any name that is longer than 21 characters will be truncated.

Allowable values:
A valid string

Response

If your request is successful, you'll receive a 201 response.

Sample responseResponse structure
Copy
Copied
{
  "id": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
  "personId": "f3e5ff26-28ff-4cd6-9b1b-e303a185a13a",
  "accountId": "F12345",
  "cardProductName": "string",
  "lastFour": "0056",
  "expiration": "0111",
  "expirationTime": "2025-01-31T23:59:59Z",
  "pinIsSet": true,
  "state": "UNACTIVATED",
  "stateReason": "New card",
  "fulfillmentStatus": "ISSUED",
  "cardType": "PHYSICAL_MSR",
  "recipientAddress": {
    "firstName": "Jane",
    "middleName": "Roger",
    "lastName": "Doe",
    "address1": "123 Henry St",
    "address2": "Suite 101",
    "city": "Porterville",
    "state": "CA",
    "postalCode": "93257",
    "country": "US",
    "phone": "8315555555"
  },
  "cardOwnerType": "PEOPLE",
  "name": "Team Party Card",
  "budgetCardPhoneNumber": "+447911001762",
  "meta": [
    {
      "id": "string",
      "cardId": "e9293471-5eb3-4dbc-916c-dbaf9e2deefd",
      "metaKey": "expirationTime",
      "metaValue": "New card"
    }
  ],
  "budgets": [
    {
      "id": "775596ae-2624-40af-a9dc-9756110a4a03",
      "name": "Engineering"
    }
  ],
  "budget": {
    "id": "775596ae-2624-40af-a9dc-9756110a4a03",
    "name": "Engineering"
  },
  "spendingLimit": {
    "id": "775596ae-2624-40af-a9dc-9756110a4a03",
    "amount": 100.5,
    "active": false,
    "limitTurnedOff": true,
    "limitWindow": "DAY",
    "available": {
      "uses": 0,
      "amount": 100.5,
      "daysRemaining": 1
    }
  },
  "transactionLimit": {
    "id": "775596ae-2624-40af-a9dc-9756110a4a03",
    "amount": 100.5,
    "active": false,
    "limitTurnedOff": true,
    "limitWindow": "TRANSACTION"
  },
  "budgetCardPhoneNumberPersonId": "775596ae-2624-40af-a9dc-9756110a4a08",
  "previousCards": [
    null
  ],
  "currencies": [
    {
      "numericCode": "840",
      "code": "USD"
    }
  ],
  "physicalCardState": "ACTIVE",
  "physicalCardId": "884496ae-2624-40af-a9dc-9756110a4a18",
  "forceChangePin": false,
  "createdAt": "2021-01-30T08:30:00Z",
  "updatedAt": "2021-01-30T08:30:00Z"
}
Copy
Copied
{
  "id": "string",
  "personId": "string",
  "accountId": "string",
  "cardProductName": "string",
  "lastFour": "string",
  "expiration": "string",
  "expirationTime": "string",
  "pinIsSet": boolean,
  "state": "string",
  "stateReason": "string",
  "fulfillmentStatus": "string",
  "cardType": "string",
  "recipientAddress": {
    "firstName": "string",
    "middleName": "string",
    "lastName": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "postalCode": "string",
    "country": "string",
    "phone": "string"
  },
  "cardOwnerType": "string",
  "name": "string",
  "budgetCardPhoneNumber": "string",
  "meta": [
    {
      "id": "string",
      "cardId": "string",
      "metaKey": "string",
      "metaValue": "string"
    }
  ],
  "budgets": [
    {
      "id": "string",
      "name": "string"
    }
  ],
  "budget": {
    "id": "string",
    "name": "string"
  },
  "spendingLimit": {
    "id": "string",
    "amount": number,
    "active": boolean,
    "limitTurnedOff": boolean,
    "limitWindow": "string",
    "available": {
      "uses": number,
      "amount": number,
      "daysRemaining": number
    }
  },
  "transactionLimit": {
    "id": "string",
    "amount": number,
    "active": boolean,
    "limitTurnedOff": boolean,
    "limitWindow": "string"
  },
  "budgetCardPhoneNumberPersonId": "string",
  "previousCards": [
    null
  ],
  "currencies": [
    {
      "numericCode": "string",
      "code": "string"
    }
  ],
  "physicalCardState": "string",
  "physicalCardId": "string",
  "forceChangePin": boolean,
  "createdAt": "string",
  "updatedAt": "string"
}

For more detailed information about this request and its response, see the API reference.