const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id} \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"config": {
"machine": "dvp/v1",
"timeout_seconds": 3600,
"compliance": {
"recheck_at_states": [],
"entity_providers": [],
"wallet_providers": []
},
"required_roles": [
"seller",
"buyer"
],
"actions": {}
},
"version": 123,
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get template
Retrieve a settlement template by UUID.
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api-staging.keystoneos.xyz/v1/settlement-templates/{template_id} \
--header 'Authorization: Bearer <token>'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"config": {
"machine": "dvp/v1",
"timeout_seconds": 3600,
"compliance": {
"recheck_at_states": [],
"entity_providers": [],
"wallet_providers": []
},
"required_roles": [
"seller",
"buyer"
],
"actions": {}
},
"version": 123,
"is_active": true,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Auth0 JWT access token. See Authentication for details.
Path Parameters
Response
Successful Response
Settlement product parameter pack.
The state machine is NOT configurable - it is code (keystone.settlement.machine),
selected by machine and pinned per settlement at creation. Templates configure
policy: timeouts, compliance providers, roles, and per-state action provider
bindings.
Action keys may only name ENGINE-owned, non-terminal states of the selected machine - the only states the engine drives, so the only states where a bound action can execute and resolve. Anywhere else the binding is dead config at best: chain- and admin-owned states advance through other writers, terminal states end the walk, and an action failing in a chain-owned state (AWAITING_DEPOSITS) cannot even route a failure transition - it halt-parks the settlement.
Show child attributes
Show child attributes