Hand a deleted agent's card to an agent
Changed onMove the customer's standard agent card that Grid froze when the agent it was issued for was deleted to this agent, and unfreeze it. Use this when a customer reconnects agent software whose agent the platform deleted: a frozen card still counts against the customer's card limit, so without a hand-over the customer can neither use it nor be issued another.
A card qualifies only while the freeze Grid placed on its agent's deletion is the only reason it is frozen. A card frozen by the platform, the customer, an agent or Lightspark is left as it is, and single-use purchase cards are never handed over.
With kind=PURCHASE, the newest qualifying recurring purchase card is handed over instead; call again until 204 to move each of them. It is available only where the platform enables recurring purchase cards. The agent must also hold an active delegated key on the Embedded Wallet that funds the card, which pays for the card from then on; a card on a wallet where it holds none is not handed over. The agent may hold a standard card, but must have room under the platform's limit on open recurring purchase cards, counting those awaiting approval; otherwise the request is rejected with PURCHASE_CARD_LIMIT_REACHED.
The agent must belong to the card's customer, must be neither paused nor deleted, and must have a policy granting MANAGE_CARDS. For a standard card it must also hold no standard card that is not CLOSED. When several cards qualify, the most recently issued one is handed over.
The customer must still meet what issuing a card requires: an individual customer with approved KYC who has accepted the cardholder agreement. The card is unfrozen as a platform status: ACTIVE update is, so the platform receives the same card status webhook; a card whose funding authorization is missing comes back PENDING_AUTH. A card that was still being provisioned when its agent was deleted is not handed over. Responds 204 when the customer has no card to hand over.
Request
- Base URLhttps://api.lightspark.com/grid/2025-10-13
- URLhttps://api.lightspark.com/grid/2025-10-13/agents/{agentId}/card-handover
- AuthHTTP basic
Query parameters
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.
How an agent card is used and funded.
| Kind | Description |
|---|---|
| STANDARD | A card issued for the agent, by the platform with POST /cards or by the agent with POST /agents/me/cards. The customer holds the card details and its spend comes from the customer's account; that spend counts against the agent's policy limits as the agent's sends do. The agent can read the card, tighten its merchant categories, and freeze it. |
| PURCHASE | A single-use virtual card the agent issued for one online purchase with POST /agents/me/cards. It is funded from the customer's Embedded Wallet, its spend counts against the agent's policy limits, and it closes after its first approved authorization or when it expires unused. A recurring purchase card (purchase.recurring) is instead locked to the first merchant that charges it, may be charged there again up to its monthly limit, and stays open until it is closed. The agent reads its number, expiry and CVV through POST /agents/me/cards/{cardId}/reveal. |
The kind of card to hand over: STANDARD (the default) or PURCHASE for a recurring purchase card.
Response
The card now belongs to the agent and is no longer frozen
Example response
{
"id": "Card:019542f5-b3e7-1d02-0000-000000000010",
"customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
"platformCardId": "card-emp-001",
"pinStatus": "OK",
"pinUnblockAvailableAt": "2026-10-15T15:00:00Z",
"last4": "4242",
"expMonth": 12,
"expYear": 2029,
"fundingSource": "InternalAccount:019542f5-b3e7-1d02-0000-000000000002",
"cardCapabilities": {
"supportsVelocityLimits": true,
"supportsPanReveal": true,
"supportsDigitalWalletTokenization": true
},
"maxNetworkRiskScore": 700,
"allowedMccs": [
"5411"
],
"blockedMccs": [
"7995"
],
"agentId": "Agent:019542f5-b3e7-1d02-0000-000000000042",
"currency": "USD",
"processorRef": "card_b81c2a4f",
"issuerRef": "lead_card_7a1b9c3d",
"createdAt": "2026-05-08T14:10:00Z",
"updatedAt": "2026-05-08T14:11:00Z"
}Changes
- info
added the new optional
queryrequest parameterkind
- info
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info