Plaid Connections
Open a bank connection from a Plaid processor token, list the connections your integration created, and delete one.
Your integration runs the Plaid Link flow under its own Plaid credentials and hands Kick the resulting processor_token, so there is no link token or public token to exchange here. The processor token has to point at exactly one credit, depository, or loan account denominated in USD, and entityId says which entity that account belongs to.
Only connections your integration created are visible on this surface. Connections a user linked themselves in Kick are never listed and cannot be deleted through the API.
Deleting a connection removes its accounts and their transactions along with it. An account carrying manual journal entries cannot be removed, so the request is rejected with 409.
Returns the connections the partner created in a workspace, newest first, together with their accounts. Connections a user linked themselves are never listed. Results are paged with limit/offset.
Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....
1000200
400
401
404
429
GET /api/platform/v1/plaid-connections?workspaceId=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data": [
{
"accounts": [
{
"accountNumberMask": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"entityId": "123e4567-e89b-12d3-a456-426614174000",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"type": "checking"
}
],
"connection": {
"createdAt": "2026-01-01T00:00:00.000Z",
"id": "123e4567-e89b-12d3-a456-426614174000",
"institutionId": "text",
"institutionName": "text"
}
}
],
"pagination": {
"limit": 1,
"offset": 1,
"total": 1
}
}Creates a connection from a Plaid processor_token the partner obtained through its own Plaid Link flow. The token must point at exactly one credit, depository or loan account denominated in USD, and that account is created already assigned to entityId.
Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....
A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with Idempotent-Replayed: true) instead of executing again.
^processor-(sandbox|development|production)-[0-9a-zA-Z]+(-[0-9a-zA-Z]+)*$201
400
401
404
429
POST /api/platform/v1/plaid-connections HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 75
{
"entityId": "123e4567-e89b-12d3-a456-426614174000",
"processorToken": "text"
}{
"account": {
"accountNumberMask": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"entityId": "123e4567-e89b-12d3-a456-426614174000",
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"type": "checking"
},
"connection": {
"createdAt": "2026-01-01T00:00:00.000Z",
"id": "123e4567-e89b-12d3-a456-426614174000",
"institutionId": "text",
"institutionName": "text"
}
}Deletes a connection the partner created, together with its accounts and their transactions. A connection outside the organization's book of business, or one the partner did not create, reads as not found. An account carrying manual journal entries cannot be deleted and answers 409.
Organization access token issued by Kick, sent as Authorization: Bearer kick_org_....
A unique key that makes the request idempotent. Retrying with the same key within 24 hours replays the original response (marked with Idempotent-Replayed: true) instead of executing again.
200
No content
400
401
404
409
429
DELETE /api/platform/v1/plaid-connections/{connectionId} HTTP/1.1
Host: use.kick.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated
Was this helpful?
