List settlement rules
curl --request GET \
--url https://api.lightspark.com/grid/2025-10-13/settlement-rules \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lightspark.com/grid/2025-10-13/settlement-rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.lightspark.com/grid/2025-10-13/settlement-rules")
.get()
.addHeader("Authorization", "Basic <encoded-value>")
.build()
val response = client.newCall(request).execute(){
"data": [
{
"id": "SettlementRule:019542f5-b3e7-1d02-0000-000000000001",
"customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
"name": "Glossier deal",
"status": "PENDING_APPROVAL",
"priority": 1,
"currency": "USD",
"match": [
{
"creditedAccountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
"ruleBasedAccountId": "InternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d001",
"counterpartyName": {
"prefix": "GLOSSIER",
"contains": "glossier inc"
},
"receivedAtWalletAddress": "spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
"rail": "ACH"
}
],
"splits": [
{
"share": {
"type": "PERCENT",
"basisPoints": 4000,
"amount": 50000
},
"destination": {
"destinationType": "EXTERNAL_ACCOUNT",
"externalAccountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
},
"position": 0
}
],
"holdSeconds": 0,
"achHoldSeconds": 86400,
"limits": {
"maxAmountPerExecution": 1000000,
"maxAmountPerDay": 5000000
},
"createdAt": "2026-11-06T18:00:00Z",
"updatedAt": "2026-11-06T18:00:00Z"
}
],
"hasMore": true,
"nextCursor": "<string>",
"totalCount": 123
}{
"code": "INVALID_INPUT",
"reason": "<string>",
"details": {
"errors": [
{
"field": "identifier",
"constraint": {
"format": "email",
"pattern": "^\\d{5}(-\\d{4})?$",
"enum": [
"SSN",
"ITIN",
"NON_US_TAX_ID"
],
"minLength": 1,
"maxLength": 500
},
"message": "Value is not one of the allowed enum members."
}
],
"missingRequirements": [
"SUPPORTING_PROOF"
],
"refusalReason": "AGENT_POLICY_DENIED",
"missingFields": [
"PHONE_NUMBER"
]
}
}{
"code": "UNAUTHORIZED",
"reason": "<string>",
"details": {}
}{
"code": "FORBIDDEN",
"reason": "<string>",
"details": {
"refusalReason": "AGENT_POLICY_DENIED",
"permission": "ISSUE_CARDS",
"policyDenialReason": "DAILY_LIMIT_EXCEEDED"
}
}{
"code": "GRID_SWITCH_ERROR",
"reason": "<string>",
"details": {}
}Settlement Rules
List settlement rules
The platform’s settlement rules, oldest first, with their shares.
GET
/
settlement-rules
List settlement rules
curl --request GET \
--url https://api.lightspark.com/grid/2025-10-13/settlement-rules \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.lightspark.com/grid/2025-10-13/settlement-rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));val client = OkHttpClient()
val request = Request.Builder()
.url("https://api.lightspark.com/grid/2025-10-13/settlement-rules")
.get()
.addHeader("Authorization", "Basic <encoded-value>")
.build()
val response = client.newCall(request).execute(){
"data": [
{
"id": "SettlementRule:019542f5-b3e7-1d02-0000-000000000001",
"customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
"name": "Glossier deal",
"status": "PENDING_APPROVAL",
"priority": 1,
"currency": "USD",
"match": [
{
"creditedAccountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
"ruleBasedAccountId": "InternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d001",
"counterpartyName": {
"prefix": "GLOSSIER",
"contains": "glossier inc"
},
"receivedAtWalletAddress": "spark1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu",
"rail": "ACH"
}
],
"splits": [
{
"share": {
"type": "PERCENT",
"basisPoints": 4000,
"amount": 50000
},
"destination": {
"destinationType": "EXTERNAL_ACCOUNT",
"externalAccountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123"
},
"position": 0
}
],
"holdSeconds": 0,
"achHoldSeconds": 86400,
"limits": {
"maxAmountPerExecution": 1000000,
"maxAmountPerDay": 5000000
},
"createdAt": "2026-11-06T18:00:00Z",
"updatedAt": "2026-11-06T18:00:00Z"
}
],
"hasMore": true,
"nextCursor": "<string>",
"totalCount": 123
}{
"code": "INVALID_INPUT",
"reason": "<string>",
"details": {
"errors": [
{
"field": "identifier",
"constraint": {
"format": "email",
"pattern": "^\\d{5}(-\\d{4})?$",
"enum": [
"SSN",
"ITIN",
"NON_US_TAX_ID"
],
"minLength": 1,
"maxLength": 500
},
"message": "Value is not one of the allowed enum members."
}
],
"missingRequirements": [
"SUPPORTING_PROOF"
],
"refusalReason": "AGENT_POLICY_DENIED",
"missingFields": [
"PHONE_NUMBER"
]
}
}{
"code": "UNAUTHORIZED",
"reason": "<string>",
"details": {}
}{
"code": "FORBIDDEN",
"reason": "<string>",
"details": {
"refusalReason": "AGENT_POLICY_DENIED",
"permission": "ISSUE_CARDS",
"policyDenialReason": "DAILY_LIMIT_EXCEEDED"
}
}{
"code": "GRID_SWITCH_ERROR",
"reason": "<string>",
"details": {}
}Authorizations
API token authentication using format <api token id>:<api client secret>
Query Parameters
Only the rules of this customer
Only rules in this status Status of a settlement rule.
| Status | Description |
|---|---|
PENDING_APPROVAL | Proposed by an agent beyond its policy, waiting for the customer's approval. It fires on nothing. |
ACTIVE | Fires on the payments it matches. |
PAUSED | Fires on nothing. A payment it would have matched is tried against the customer's next rule. |
DELETED | Deleted. It fires on nothing and cannot be changed. |
Available options:
PENDING_APPROVAL, ACTIVE, PAUSED, DELETED Maximum number of results to return (default 100, max 200)
Required range:
1 <= x <= 200Cursor for pagination (returned from previous request)
Response
Successful operation
Was this page helpful?