curl --request POST \
--url https://api.example.com/escrow/{escrowId}/actions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.example.com/escrow/{escrowId}/actions"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.example.com/escrow/{escrowId}/actions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"deal": {
"id": "<string>",
"status": "draft",
"availableActions": [
"approve"
],
"sender": {
"clientId": "<string>"
},
"receiver": {
"clientId": "<string>"
},
"onchainEscrowUrl": "<string>",
"token": "<string>",
"maxAmount": "500.00",
"authorizedAmount": "500.00",
"capturableAmount": "500.00",
"refundableAmount": "500.00",
"windows": {
"approveBy": "2023-11-07T05:31:56Z",
"holdUntil": "2023-11-07T05:31:56Z",
"refundableUntil": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"completionConditions": "<string>",
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"consistent": true
},
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"events": [
{
"name": "<string>",
"transactionHash": "<string>",
"blockNumber": 123,
"amount": "500.00"
}
],
"pollUrl": "<string>"
}{
"deal": {
"id": "<string>",
"status": "draft",
"availableActions": [
"approve"
],
"sender": {
"clientId": "<string>"
},
"receiver": {
"clientId": "<string>"
},
"onchainEscrowUrl": "<string>",
"token": "<string>",
"maxAmount": "500.00",
"authorizedAmount": "500.00",
"capturableAmount": "500.00",
"refundableAmount": "500.00",
"windows": {
"approveBy": "2023-11-07T05:31:56Z",
"holdUntil": "2023-11-07T05:31:56Z",
"refundableUntil": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"completionConditions": "<string>",
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"consistent": true
},
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"events": [
{
"name": "<string>",
"transactionHash": "<string>",
"blockNumber": 123,
"amount": "500.00"
}
],
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Prepare an escrow action and return the payload to sign
Prepare an escrow action and return the immutable payload to sign. This request does not broadcast the action.
curl --request POST \
--url https://api.example.com/escrow/{escrowId}/actions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.example.com/escrow/{escrowId}/actions"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.example.com/escrow/{escrowId}/actions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"deal": {
"id": "<string>",
"status": "draft",
"availableActions": [
"approve"
],
"sender": {
"clientId": "<string>"
},
"receiver": {
"clientId": "<string>"
},
"onchainEscrowUrl": "<string>",
"token": "<string>",
"maxAmount": "500.00",
"authorizedAmount": "500.00",
"capturableAmount": "500.00",
"refundableAmount": "500.00",
"windows": {
"approveBy": "2023-11-07T05:31:56Z",
"holdUntil": "2023-11-07T05:31:56Z",
"refundableUntil": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"completionConditions": "<string>",
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"consistent": true
},
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"events": [
{
"name": "<string>",
"transactionHash": "<string>",
"blockNumber": 123,
"amount": "500.00"
}
],
"pollUrl": "<string>"
}{
"deal": {
"id": "<string>",
"status": "draft",
"availableActions": [
"approve"
],
"sender": {
"clientId": "<string>"
},
"receiver": {
"clientId": "<string>"
},
"onchainEscrowUrl": "<string>",
"token": "<string>",
"maxAmount": "500.00",
"authorizedAmount": "500.00",
"capturableAmount": "500.00",
"refundableAmount": "500.00",
"windows": {
"approveBy": "2023-11-07T05:31:56Z",
"holdUntil": "2023-11-07T05:31:56Z",
"refundableUntil": "2023-11-07T05:31:56Z"
},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"completionConditions": "<string>",
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"consistent": true
},
"action": {
"action": "approve",
"idempotencyKey": "<string>",
"status": "awaitingSignature",
"amount": "500.00",
"feeBps": 123,
"transactionHash": "<string>",
"approval": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payload": "<string>",
"expiresAt": "2023-11-07T05:31:56Z"
}
},
"events": [
{
"name": "<string>",
"transactionHash": "<string>",
"blockNumber": 123,
"amount": "500.00"
}
],
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The client account to act for, as a cl_… id. Omit it to act as yourself.
"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.
"po-inv-2026-114"
Path Parameters
^(?:esc_)?[A-Za-z0-9._:\-]{1,216}$Body
Escrow state transition to prepare.
authorize, charge, capture, void, refund Token amount affected by this action, when required.
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$"500.00"
Variable fee in basis points for charge or capture actions.
0 <= x <= 10000Response
OK
Latest escrow state after processing the action.
Show child attributes
Show child attributes
Prepared or submitted action.
Show child attributes
Show child attributes
Observed on-chain events for this action.
Show child attributes
Show child attributes
Relative API URL to poll while processing continues.
Was this page helpful?