Skip to main content
Claim a slice of a funded progressive-release escrow — one request per billing period, such as a weekly timesheet on an hourly contract. The escrow must have been created with a progressiveRelease object. You can call this on the seller’s behalf when your application created the escrow, so the freelancer takes no weekly action. The amount is reserved against the escrow balance immediately, the client is notified, and the request releases automatically once approvalDeadline passes unless the client decides first. What the client can do:
  • Approve — the period is released to the seller’s DHMAD balance right away (approve_release checkout session).
  • Reject — a dispute is opened for that period only. The amount stays reserved and protected while DHMAD reviews it; later periods keep running normally (reject_release checkout session).
  • Nothing — the request auto-approves and releases at the deadline.
requestId is your idempotency key. Repeating a request with the same requestId returns the existing one with 200 instead of reserving twice, so an at-least-once weekly job is safe to retry.

Path Parameters

string
required
Escrow ID

Body Parameters

string
required
Your own identifier for this period, unique per escrow. Doubles as the idempotency key. Letters, numbers and . _ : - only (max 120 characters).
number
The slice in ledger TND. Provide this or face amount. Required unless amount is provided.
number
The slice in the escrow’s face currency (e.g. 24.00 USD). DHMAD converts with the escrow’s locked FX — partners need not invent TND. Ignored when amountTnd is present.
string
TND, USD or EUR. Must match the escrow currency when sending face amount. Defaults to the escrow’s currency.
string
Your own period label, shown to both parties and printed on the fiscal invoice for this release (max 200 characters).
string
Optional internal note (max 500 characters).

Response Fields

Error Responses

400 Bad Request

Progressive release not enabled
Seller identity not verified
Amount below the minimum slice

409 Conflict

Insufficient unreserved balance
Client has not accepted automatic release

401 Unauthorized

404 Not Found


Because the seller identity check runs at creation rather than at payout, requests never pile up unpayable. The check is idempotent, so once the freelancer is verified and linked it passes for every future period — there is no weekly friction.
When the balance runs out the escrow stays open and DHMAD emits escrow.balance.exhausted. Pause tracking and prompt the client to top up with an add_funds checkout session; do not close the contract.