Find stuck settlements
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.keystoneos.xyz/v1/admin/settlements/stuck', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.keystoneos.xyz/v1/admin/settlements/stuck"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.keystoneos.xyz/v1/admin/settlements/stuck \
--header 'Authorization: Bearer <token>'{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"idempotency_key": "<string>",
"platform_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_version": 123,
"external_reference": "<string>",
"settlement_type": "<string>",
"parties": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "<string>",
"platform_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_reference": "<string>",
"name": "<string>",
"wallet_address": "<string>",
"chain_id": 123,
"status": "<string>",
"confirmed_at": "2023-11-07T05:31:56Z",
"wallet_address_hint": "<string>",
"counterparty_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"legs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"leg_type": "<string>",
"instrument_id": "<string>",
"chain_id": 123,
"token_standard": "<string>",
"quantity": "<string>",
"direction": "<string>",
"party_role": "<string>",
"status": "<string>",
"external_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"recipient_party_role": "<string>",
"deposit_secret": "<string>",
"deposit_key": "<string>"
}
],
"state": "<string>",
"timeout_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"trade_type": "<string>",
"linked_settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coordinator": "<string>",
"coordinator_chain": "<string>",
"triggered_by": {},
"audit_anchor_hash": "<string>",
"repo_terms": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tenor_days": 123,
"rate_bps": 123,
"haircut_bps": 123,
"margin_band_lower": "<string>",
"margin_band_upper": "<string>",
"close_leg_settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"platform_name": "",
"environment_slug": ""
}
],
"total": 123,
"limit": 123,
"offset": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Settlements
Find stuck settlements
Find settlements that may need admin attention. Returns non-terminal settlements that are past their timeout or have not been updated recently. Ordered by staleness (longest stuck first).
GET
/
v1
/
admin
/
settlements
/
stuck
Find stuck settlements
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.keystoneos.xyz/v1/admin/settlements/stuck', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.keystoneos.xyz/v1/admin/settlements/stuck"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)curl --request GET \
--url https://api.keystoneos.xyz/v1/admin/settlements/stuck \
--header 'Authorization: Bearer <token>'{
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"idempotency_key": "<string>",
"platform_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"template_version": 123,
"external_reference": "<string>",
"settlement_type": "<string>",
"parties": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"role": "<string>",
"platform_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_reference": "<string>",
"name": "<string>",
"wallet_address": "<string>",
"chain_id": 123,
"status": "<string>",
"confirmed_at": "2023-11-07T05:31:56Z",
"wallet_address_hint": "<string>",
"counterparty_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"legs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"leg_type": "<string>",
"instrument_id": "<string>",
"chain_id": 123,
"token_standard": "<string>",
"quantity": "<string>",
"direction": "<string>",
"party_role": "<string>",
"status": "<string>",
"external_reference": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"recipient_party_role": "<string>",
"deposit_secret": "<string>",
"deposit_key": "<string>"
}
],
"state": "<string>",
"timeout_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"trade_type": "<string>",
"linked_settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coordinator": "<string>",
"coordinator_chain": "<string>",
"triggered_by": {},
"audit_anchor_hash": "<string>",
"repo_terms": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tenor_days": 123,
"rate_bps": 123,
"haircut_bps": 123,
"margin_band_lower": "<string>",
"margin_band_upper": "<string>",
"close_leg_settlement_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"platform_name": "",
"environment_slug": ""
}
],
"total": 123,
"limit": 123,
"offset": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Auth0 JWT access token. See Authentication for details.
Query Parameters
Filter by environment slug (e.g., production, staging)
Stale threshold in minutes
Required range:
1 <= x <= 10080Required range:
1 <= x <= 100Required range:
x >= 0⌘I