Skip to main content
POST
Hand a deleted agent's card to an agent

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Path Parameters

agentId
string
required

System-generated unique agent identifier

Query Parameters

previousAgentId
string

Hand over only a card issued for this deleted agent, such as the one the customer's previous connection of the same agent software held. Omit it to consider every deleted agent of the customer.

Response

The card now belongs to the agent and is no longer frozen

id
string
required

System-generated unique card identifier

Example:

"Card:019542f5-b3e7-1d02-0000-000000000010"

customerId
string
required

The id of the Customer who holds this card.

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

status
enum<string>
required

Lifecycle status of a card.

Available options:
PENDING_KYC,
PROCESSING,
PENDING_AUTH,
ACTIVE,
FROZEN,
CLOSED
form
enum<string>
required

Physical form factor of the card. Only VIRTUAL is supported in v1; PHYSICAL will be added in a later release.

Available options:
VIRTUAL
fundingSource
string
required

Internal account id that funds this card.

Example:

"InternalAccount:019542f5-b3e7-1d02-0000-000000000002"

maxSpendPerTransaction
integer<int64> | null
required

The largest amount this card can authorize on a single transaction, in the smallest unit of its currency (cents for USD). An authorization for exactly the limit is allowed. A later clearing can still settle above it — a restaurant tip, for example — so this caps the authorization, not the final settled amount. null means the card sets no limit of its own. If your platform config also sets cardConfigs.maxSpendPerTransaction (the platform-level limit), the lower of the two applies and this value stays as you set it.

Required range: 1 <= x <= 9007199254740991
Example:

5000

maxSpendPerDay
integer<int64> | null
required

Card-specific cap on cumulative new spend during one UTC calendar day, in the smallest unit of the card's currency. The window resets at 00:00 UTC. Null means the card has no card-specific daily cap. When the platform config also supplies cardConfigs.maxSpendPerDay, Grid enforces the lower of the two values without replacing this configured value. Refunds, reversals, and authorization expiries do not restore capacity during the day. Spend exactly equal to the effective limit is allowed.

Required range: 1 <= x <= 9007199254740991
Example:

25000

maxTransactionsPerDay
integer<int32> | null
required

Card-specific cap on the number of transactions the card may authorize during one UTC calendar day. The window resets at 00:00 UTC. Null means the card has no card-specific daily transaction cap. When the platform config also supplies cardConfigs.maxTransactionsPerDay, Grid enforces the lower of the two values without replacing this configured value. Each approved authorization counts once for the day it was authorized; refunds, reversals, and authorization expiries do not restore capacity during the day. A transaction that brings the day's count exactly to the effective limit is allowed.

Required range: 1 <= x <= 2147483647
Example:

20

createdAt
string<date-time>
required

Creation timestamp

Example:

"2026-05-08T14:10:00Z"

updatedAt
string<date-time>
required

Last update timestamp

Example:

"2026-05-08T14:11:00Z"

platformCardId
string

Platform-specific card identifier generated by the server.

Example:

"card-emp-001"

statusReason
enum<string>

Reason associated with the current status. Present when the card is PENDING_AUTH, CLOSED, or when provisioning was rejected; absent otherwise.

Available options:
DELEGATION_REQUIRED,
ISSUER_REJECTED,
CLOSED_BY_PLATFORM,
CLOSED_BY_GRID
brand
enum<string>

Card network brand. Read-only — determined by Grid when the card is provisioned with the issuer.

Available options:
VISA,
MASTERCARD
pinStatus
enum<string>

State of the card's PIN. On the Card resource, this is the last known status and is present whenever PIN management is supported. An absent value means PIN management is unavailable for this card; it does not mean NOT_SET. Use GET /cards/{id} to retrieve pinStatus.

Available options:
NOT_SET,
OK,
BLOCKED
Example:

"OK"

pinUnblockAvailableAt
string<date-time>
read-only

Earliest time another PIN unblock attempt is allowed. Absent until the unblock allowance is used. Changing the PIN does not reset this time.

Example:

"2026-10-15T15:00:00Z"

last4
string

Last four digits of the card PAN.

Example:

"4242"

expMonth
integer

Card expiration month (1–12).

Required range: 1 <= x <= 12
Example:

12

expYear
integer

Card expiration year (four digits).

Example:

2029

cardCapabilities
object

Actions supported for this card by the issuer selected at issuance. Present for cards whose program has been resolved; absent otherwise. These capabilities are fixed at issuance for the card's lifetime.

maxNetworkRiskScore
integer | null

Maximum normalized network risk score allowed for real-time card authorizations. Scores range from 0 (lowest risk) to 999 (highest risk). Visa scores are normalized by multiplying the raw 0–99 score by 10. Scores equal to the ceiling are allowed. Authorizations without a score are also allowed. The lowest configured card or platform ceiling applies. Null means no card-specific ceiling. Platform controls still apply.

Required range: 0 <= x <= 999
Example:

700

allowedMccs
string[]

Merchant category codes the card may spend at. Present only on a card issued for an agent; absent when that card may spend at any category not blocked.

Minimum array length: 1
Pattern: ^[0-9]{4}$
Example:
blockedMccs
string[]

Merchant category codes a card issued for an agent declines, with cardDeclinedReason: BLOCKED. Present only on such a card, which also declines Grid's default agent categories unless defaultMccBlocksLifted is true.

Pattern: ^[0-9]{4}$
Example:
agentId
string

The agent the card was issued for, when there is one.

Example:

"Agent:019542f5-b3e7-1d02-0000-000000000042"

defaultMccBlocksLifted
boolean

Whether the platform lifted Grid's default agent merchant-category blocks on this card. Present only for a card issued for an agent.

Example:

false

currency
string

Currency the card transacts in, fixed at issuance by its card program. USDB-funded cards transact in USD, with funding converted at 1 USDB = 1 USD. Spending limits use the smallest unit of the card's currency (USD cents for USDB-funded cards). Changing the funding source does not change the card's currency or spending-limit units.

Example:

"USD"

processorRef
string

Opaque processor-side reference for the card (e.g. the Lithic card token). Useful for cross-referencing in the processor's dashboards; not used for any Grid request routing.

Example:

"card_b81c2a4f"

issuerRef
string

Opaque identifier for the card on the issuer of record (e.g. the Lead Bank account/card identifier). Useful for cross-referencing in issuer dashboards; not used for any Grid request routing.

Example:

"lead_card_7a1b9c3d"