Skip to main content
POST
Create a settlement rule

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Headers

Idempotency-Key
string
required

Unique identifier for this rule. A retry with the same key and body returns the stored rule; the same key with a different body is rejected.

Maximum string length: 255
Example:

"glossier-split"

Body

application/json
customerId
string
required

The customer whose incoming payments the rule splits.

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

name
string
required

What the platform calls the rule. It is the description of each payment the rule sends.

Required string length: 1 - 255
Example:

"Glossier deal"

currency
string
required

ISO 4217 code of the payments the rule splits. A payment in another currency never matches.

Example:

"USD"

match
object[]
required

A payment matches when any selector matches it. [{}] matches every payment in the rule's currency.

Required array length: 1 - 20 elements
splits
object[]
required

The shares, in the order they are paid. At most 20.

Minimum array length: 1
priority
integer<int32>

Rules are tried in ascending priority. Unique among the customer's rules that are not DELETED. Omit it to try the rule after the customer's others, at one more than their highest priority, or 1 when the customer has none.

Required range: 0 <= x <= 2147483647
Example:

1

holdSeconds
integer
default:0

How long after a payment completes the rule waits to pay it, for payments on rails other than ACH.

Required range: 0 <= x <= 86400
Example:

0

achHoldSeconds
integer
default:86400

How long after an ACH payment completes the rule waits to pay it. An ACH payment can be returned after it completes; a return that arrives while the execution is held skips it.

Required range: 0 <= x <= 86400
Example:

86400

limits
object

Caps on what the rule pays, in the smallest unit of its currency. An execution that would go over a cap is skipped with LIMIT_EXCEEDED, and the customer keeps the payment.

Response

The rule this Idempotency-Key already created

id
string
required

System-generated unique settlement rule identifier

Example:

"SettlementRule:019542f5-b3e7-1d02-0000-000000000001"

customerId
string
required
Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

name
string
required
Example:

"Glossier deal"

status
enum<string>
required

Status of a settlement rule.

Available options:
PENDING_APPROVAL,
ACTIVE,
PAUSED,
DELETED
priority
integer<int32>
required
Example:

1

currency
string
required
Example:

"USD"

match
object[]
required
splits
object[]
required
holdSeconds
integer
required
Example:

0

achHoldSeconds
integer
required
Example:

86400

limits
object
required

Caps on what the rule pays, in the smallest unit of its currency. An execution that would go over a cap is skipped with LIMIT_EXCEEDED, and the customer keeps the payment.

createdAt
string<date-time>
required
Example:

"2026-11-06T18:00:00Z"

updatedAt
string<date-time>
required
Example:

"2026-11-06T18:00:00Z"