HTTP API

Succession

GET/api/v1/succession/cases
GET
/api/v1/succession/cases

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

subject?string

Filter by subject in the form {kind}:{id}

phase?string

Filter by phase

page?integer

1-indexed page number

Formatint64
Range0 <= value
page_size?integer

Page size

Formatint64
Range0 <= value
sort_by?string

Sort field

sort_order?string

Sort order (asc or desc)

Value in

  • "asc"
  • "desc"

Response Body

application/json

curl -X GET "https://example.com/api/v1/succession/cases"
{  "cases": [    {      "case_id": "string",      "challenges": [        {          "by": {            "id": "string",            "kind": "auth_user"          },          "challenge_id": "string",          "claim": "string",          "evidence": [            "string"          ],          "filed_at": "2019-08-24T14:15:22Z",          "route": "string",          "status": "under_review"        }      ],      "contestation_ends_at": "2019-08-24T14:15:22Z",      "created_at": "2019-08-24T14:15:22Z",      "designated_successor": null,      "execution_receipt": null,      "grace_ends_at": "2019-08-24T14:15:22Z",      "opened_by": "string",      "phase": "dead_man_switch",      "plan_id": "string",      "plan_version": 0,      "subject": {        "id": "string",        "kind": "auth_user"      },      "trigger": {        "event_types": [          "string"        ],        "kind": "explicit_event"      },      "trigger_reason": "string",      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  }}
POST/api/v1/succession/cases
POST
/api/v1/succession/cases

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/cases" \  -H "Content-Type: application/json" \  -d '{    "plan_id": "string",    "trigger": {      "event_types": [        "string"      ],      "kind": "explicit_event"    }  }'
{  "case_id": "string",  "challenges": [    {      "by": {        "id": "string",        "kind": "auth_user"      },      "challenge_id": "string",      "claim": "string",      "evidence": [        "string"      ],      "filed_at": "2019-08-24T14:15:22Z",      "route": "string",      "status": "under_review"    }  ],  "contestation_ends_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "designated_successor": null,  "execution_receipt": null,  "grace_ends_at": "2019-08-24T14:15:22Z",  "opened_by": "string",  "phase": "dead_man_switch",  "plan_id": "string",  "plan_version": 0,  "subject": {    "id": "string",    "kind": "auth_user"  },  "trigger": {    "event_types": [      "string"    ],    "kind": "explicit_event"  },  "trigger_reason": "string",  "updated_at": "2019-08-24T14:15:22Z"}
GET/api/v1/succession/cases/{case_id}
GET
/api/v1/succession/cases/{case_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

case_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/succession/cases/string"
{  "case_id": "string",  "challenges": [    {      "by": {        "id": "string",        "kind": "auth_user"      },      "challenge_id": "string",      "claim": "string",      "evidence": [        "string"      ],      "filed_at": "2019-08-24T14:15:22Z",      "route": "string",      "status": "under_review"    }  ],  "contestation_ends_at": "2019-08-24T14:15:22Z",  "created_at": "2019-08-24T14:15:22Z",  "designated_successor": null,  "execution_receipt": null,  "grace_ends_at": "2019-08-24T14:15:22Z",  "opened_by": "string",  "phase": "dead_man_switch",  "plan_id": "string",  "plan_version": 0,  "subject": {    "id": "string",    "kind": "auth_user"  },  "trigger": {    "event_types": [      "string"    ],    "kind": "explicit_event"  },  "trigger_reason": "string",  "updated_at": "2019-08-24T14:15:22Z"}
POST/api/v1/succession/cases/{case_id}/challenges
POST
/api/v1/succession/cases/{case_id}/challenges

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

case_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/cases/string/challenges" \  -H "Content-Type: application/json" \  -d '{    "claim": "string"  }'
{  "case_id": "string",  "challenge_id": "string",  "route": "string"}
POST/api/v1/succession/cases/{case_id}/challenges/{challenge_id}/resolve
POST
/api/v1/succession/cases/{case_id}/challenges/{challenge_id}/resolve

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

case_id*string
challenge_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/cases/string/challenges/string/resolve" \  -H "Content-Type: application/json" \  -d '{    "uphold": true  }'
{  "case_id": "string",  "challenge_id": "string",  "phase": "dead_man_switch",  "status": "under_review"}
POST/api/v1/succession/cases/{case_id}/execute
POST
/api/v1/succession/cases/{case_id}/execute

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

case_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/cases/string/execute"
{  "case_id": "string",  "phase": "dead_man_switch",  "receipt": null}
POST/api/v1/succession/cases/{case_id}/heartbeat-response
POST
/api/v1/succession/cases/{case_id}/heartbeat-response

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

case_id*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/cases/string/heartbeat-response"
{  "case_id": "string",  "message": "string",  "phase": "dead_man_switch"}
GET/api/v1/succession/plans
GET
/api/v1/succession/plans

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

subject?string

Filter by subject in the form {kind}:{id} (e.g. guild:guild_iron_pact)

page?integer

1-indexed page number

Formatint64
Range0 <= value
page_size?integer

Page size

Formatint64
Range0 <= value
sort_by?string

Sort field

sort_order?string

Sort order (asc or desc)

Value in

  • "asc"
  • "desc"

Response Body

application/json

curl -X GET "https://example.com/api/v1/succession/plans"
{  "pagination": {    "has_more": true,    "page": 0,    "page_size": 0,    "total": 0  },  "plans": [    {      "created_at": "2019-08-24T14:15:22Z",      "created_by": "string",      "dispositions": [        {          "asset": {            "currency_id": "string",            "domain": "string",            "kind": "treasury_balance"          },          "rule": {            "kind": "transfer",            "to": "string"          }        }      ],      "plan_id": "string",      "safeguards": {        "challenge_resolution": [          "string"        ],        "contestation_window_days": 0,        "dead_man_switch": null,        "grace_period_days": 0      },      "status": "active",      "subject": {        "id": "string",        "kind": "auth_user"      },      "succession_rule": {        "fallback": null,        "heirs": [          {            "id": "string",            "kind": "auth_user"          }        ],        "kind": "ordered_heirs"      },      "triggers": [        {          "event_types": [            "string"          ],          "kind": "explicit_event"        }      ],      "updated_at": "2019-08-24T14:15:22Z",      "version": 0    }  ]}
POST/api/v1/succession/plans
POST
/api/v1/succession/plans

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/plans" \  -H "Content-Type: application/json" \  -d '{    "subject": {      "id": "string",      "kind": "auth_user"    },    "succession_rule": {      "heirs": [        {          "id": "string",          "kind": "auth_user"        }      ],      "kind": "ordered_heirs"    },    "triggers": [      {        "event_types": [          "string"        ],        "kind": "explicit_event"      }    ]  }'
{  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "dispositions": [    {      "asset": {        "currency_id": "string",        "domain": "string",        "kind": "treasury_balance"      },      "rule": {        "kind": "transfer",        "to": "string"      }    }  ],  "plan_id": "string",  "safeguards": {    "challenge_resolution": [      "string"    ],    "contestation_window_days": 0,    "dead_man_switch": null,    "grace_period_days": 0  },  "status": "active",  "subject": {    "id": "string",    "kind": "auth_user"  },  "succession_rule": {    "fallback": null,    "heirs": [      {        "id": "string",        "kind": "auth_user"      }    ],    "kind": "ordered_heirs"  },  "triggers": [    {      "event_types": [        "string"      ],      "kind": "explicit_event"    }  ],  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
GET/api/v1/succession/plans/{plan_id}
GET
/api/v1/succession/plans/{plan_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

plan_id*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/succession/plans/string"
{  "created_at": "2019-08-24T14:15:22Z",  "created_by": "string",  "dispositions": [    {      "asset": {        "currency_id": "string",        "domain": "string",        "kind": "treasury_balance"      },      "rule": {        "kind": "transfer",        "to": "string"      }    }  ],  "plan_id": "string",  "safeguards": {    "challenge_resolution": [      "string"    ],    "contestation_window_days": 0,    "dead_man_switch": null,    "grace_period_days": 0  },  "status": "active",  "subject": {    "id": "string",    "kind": "auth_user"  },  "succession_rule": {    "fallback": null,    "heirs": [      {        "id": "string",        "kind": "auth_user"      }    ],    "kind": "ordered_heirs"  },  "triggers": [    {      "event_types": [        "string"      ],      "kind": "explicit_event"    }  ],  "updated_at": "2019-08-24T14:15:22Z",  "version": 0}
POST/api/v1/succession/plans/{plan_id}/dry-run
POST
/api/v1/succession/plans/{plan_id}/dry-run

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

plan_id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/succession/plans/string/dry-run" \  -H "Content-Type: application/json" \  -d '{}'
{  "legs": [    {      "asset": {        "currency_id": "string",        "domain": "string",        "kind": "treasury_balance"      },      "beneficiary": "string",      "rule": {        "kind": "transfer",        "to": "string"      }    }  ],  "plan_id": "string",  "plan_version": 0,  "resolved_successor": null,  "warnings": [    "string"  ]}

On this page