List capabilities
curl --request GET \
--url https://platform.swipelux.com/v3/customers/{customerId}/capabilities \
--header 'X-API-Key: <api-key>'const url = 'https://platform.swipelux.com/v3/customers/{customerId}/capabilities';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://platform.swipelux.com/v3/customers/{customerId}/capabilities"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.swipelux.com/v3/customers/{customerId}/capabilities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://platform.swipelux.com/v3/customers/{customerId}/capabilities")
.header("X-API-Key", "<api-key>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://platform.swipelux.com/v3/customers/{customerId}/capabilities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://platform.swipelux.com/v3/customers/{customerId}/capabilities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"accountProvisioning": "not_started",
"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"
}
],
"nextCursor": null,
"hasMore": false
}{
"type": "https://docs.swipelux.com/errors/unknown-parameter",
"title": "<string>",
"status": 400,
"code": "unknown_parameter",
"detail": "<string>",
"correlationId": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"transferId": "<string>",
"retryable": true,
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"actor": "customer",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"type": "account",
"id": "<string>",
"requiredAction": "archive_account"
}
]
}{
"type": "https://docs.swipelux.com/errors/unauthorized",
"title": "<string>",
"status": 401,
"code": "unauthorized",
"detail": "<string>",
"correlationId": "<string>",
"retryable": false,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/forbidden",
"title": "<string>",
"status": 403,
"code": "forbidden",
"detail": "<string>",
"correlationId": "<string>",
"retryable": false,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/customer-not-found",
"title": "<string>",
"status": 404,
"code": "customer_not_found",
"detail": "<string>",
"correlationId": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/internal-error",
"title": "<string>",
"status": 500,
"code": "internal_error",
"detail": "<string>",
"correlationId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Capabilities
List capabilities
Lists a customer’s capability requests with their current institution applications and account-issuance state. Capability ready means entitlement approval; inspect accountProvisioning to determine whether an account exists.
GET
/
v3
/
customers
/
{customerId}
/
capabilities
List capabilities
curl --request GET \
--url https://platform.swipelux.com/v3/customers/{customerId}/capabilities \
--header 'X-API-Key: <api-key>'const url = 'https://platform.swipelux.com/v3/customers/{customerId}/capabilities';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://platform.swipelux.com/v3/customers/{customerId}/capabilities"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://platform.swipelux.com/v3/customers/{customerId}/capabilities"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://platform.swipelux.com/v3/customers/{customerId}/capabilities")
.header("X-API-Key", "<api-key>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://platform.swipelux.com/v3/customers/{customerId}/capabilities",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://platform.swipelux.com/v3/customers/{customerId}/capabilities")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "ach_pooled",
"customerId": "cus_7F3pL2nQ9xA5mW8kR1sT4v",
"method": "ach",
"accountType": "pooled",
"accountProvisioning": "not_started",
"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"
}
],
"nextCursor": null,
"hasMore": false
}{
"type": "https://docs.swipelux.com/errors/unknown-parameter",
"title": "<string>",
"status": 400,
"code": "unknown_parameter",
"detail": "<string>",
"correlationId": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"transferId": "<string>",
"retryable": true,
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"actor": "customer",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"type": "account",
"id": "<string>",
"requiredAction": "archive_account"
}
]
}{
"type": "https://docs.swipelux.com/errors/unauthorized",
"title": "<string>",
"status": 401,
"code": "unauthorized",
"detail": "<string>",
"correlationId": "<string>",
"retryable": false,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/forbidden",
"title": "<string>",
"status": 403,
"code": "forbidden",
"detail": "<string>",
"correlationId": "<string>",
"retryable": false,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/customer-not-found",
"title": "<string>",
"status": 404,
"code": "customer_not_found",
"detail": "<string>",
"correlationId": "<string>",
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/internal-error",
"title": "<string>",
"status": 500,
"code": "internal_error",
"detail": "<string>",
"correlationId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Authorizations
Your Swipelux API key. Obtain this from the Swipelux Dashboard.
Path Parameters
Query Parameters
Opaque cursor returned as nextCursor from the previous page.
Maximum number of records to return. Defaults to 25.
Required range:
1 <= x <= 100Return only records updated at or after this RFC 3339 timestamp. Use it to recover from missed webhooks by replaying a window of changes.