Skip to main content
POST
Create milestone escrow

Authorizations

Authorization
string
header
required

Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (staging) or sk_live_... (production); a key on the wrong host is refused with 403 Unauthorized Access. Each key is limited to 10 requests per minute (429 beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.

Headers

customer-id
string
required

The merchant customer this request acts on behalf of.

Body

application/json
amount
number
required

Naira with at most two decimal places. Minimum 1000. Must equal the sum of the milestone amounts.

Required range: x >= 1000
Example:

1000000

purpose
string
required
Example:

"Company website build"

whoPays
enum<string>
required

For milestone escrows the buyer always pays the Payluk fee; buyer is the only accepted value.

Available options:
buyer
Example:

"buyer"

maxDelivery
integer
required

Length of the delivery window, in deliveryTimeline units. Required. Between 1 and 365.

Required range: 1 <= x <= 365
Example:

30

deliveryTimeline
enum<string>
required

Unit for maxDelivery. Required.

Available options:
minutes,
hours,
days
Example:

"days"

milestones
object[]
required

At least 2 milestones whose amounts sum to amount.

Minimum array length: 2
description
string
Example:

"3-phase delivery"

totalQuantity
integer
Example:

1

categoryId
string
Example:

"665f1b2c9a1e4d0012ab3c30"

Response

Milestone escrow created.

status
integer
Example:

200

message
string
Example:

"Operation successful"

data
object