curl --request POST \
--url https://platform.swipelux.com/v3/customers/{customerId}/capabilities/{capabilityId} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"institutions": [
"citibank",
"jpmorgan"
]
}
'{
"data": {
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"status": "restricted",
"statusReason": {
"code": "tasks_due",
"resolution": "complete_tasks",
"message": "Additional customer information is required."
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"applications": [
{
"id": "apl_4Y9xQ8u3m2N7p6R5s1T0vZ",
"institution": {
"id": "jpmorgan",
"name": "JPMorgan Chase",
"bic": "CHASUS33"
},
"status": "in_review",
"statusReason": {
"code": "internal_review",
"message": "The submission is under internal review.",
"actor": "swipelux",
"retryable": true
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
}{
"data": {
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"status": "restricted",
"statusReason": {
"code": "tasks_due",
"resolution": "complete_tasks",
"message": "Additional customer information is required."
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"applications": [
{
"id": "apl_4Y9xQ8u3m2N7p6R5s1T0vZ",
"institution": {
"id": "jpmorgan",
"name": "JPMorgan Chase",
"bic": "CHASUS33"
},
"status": "in_review",
"statusReason": {
"code": "internal_review",
"message": "The submission is under internal review.",
"actor": "swipelux",
"retryable": true
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}Create capability
Requests a customer capability by permanent capability id. Requesting a canceled capability with a new idempotency key starts a fresh lifecycle after current eligibility and routing checks pass. For bank-backed capabilities, omitted or empty institutions lists select registry defaults; a non-empty list explicitly overrides defaults. When customer intake is incomplete, the capability is created in restricted with open tasks and durable planned application identities, while provider submission is deferred until those tasks are satisfied. Known ineligible variants fail instead of silently falling back. Send Idempotency-Key for every POST; the same key and body replay the original response.
curl --request POST \
--url https://platform.swipelux.com/v3/customers/{customerId}/capabilities/{capabilityId} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"institutions": [
"citibank",
"jpmorgan"
]
}
'{
"data": {
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"status": "restricted",
"statusReason": {
"code": "tasks_due",
"resolution": "complete_tasks",
"message": "Additional customer information is required."
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"applications": [
{
"id": "apl_4Y9xQ8u3m2N7p6R5s1T0vZ",
"institution": {
"id": "jpmorgan",
"name": "JPMorgan Chase",
"bic": "CHASUS33"
},
"status": "in_review",
"statusReason": {
"code": "internal_review",
"message": "The submission is under internal review.",
"actor": "swipelux",
"retryable": true
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
}{
"data": {
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"status": "restricted",
"statusReason": {
"code": "tasks_due",
"resolution": "complete_tasks",
"message": "Additional customer information is required."
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"applications": [
{
"id": "apl_4Y9xQ8u3m2N7p6R5s1T0vZ",
"institution": {
"id": "jpmorgan",
"name": "JPMorgan Chase",
"bic": "CHASUS33"
},
"status": "in_review",
"statusReason": {
"code": "internal_review",
"message": "The submission is under internal review.",
"actor": "swipelux",
"retryable": true
},
"openTaskIds": [
"tsk_8uL2nA7xQ5mR9pT4vZ1sWc"
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
],
"submittedAt": "2026-06-22T10:15:30.000Z",
"createdAt": "2026-06-22T10:15:30.000Z",
"updatedAt": "2026-06-22T10:15:30.000Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}Authorizations
Your Swipelux API key. Obtain this from the Swipelux Dashboard.
Headers
Required for effectful v3 requests (POST, PATCH, PUT, DELETE). Reuse the same key with the same body to replay the cached response.
1 - 255Body
Public institution ids returned by GET /v3/customers/{customerId}/capabilities/supported. Omitted or empty institutions lists select applicable registry defaults; a non-empty list explicitly overrides defaults.
Opaque public institution id.
["jpmorgan"]
Response
Canceled capability requested again
Capability.
- Option 1
- Option 2
Show child attributes
Show child attributes