Governance
Roles, permissions, timelocks, and the audit log for a vault.
Get Vault Roles
Owner + Operator rows enriched with Safe metadata and the Fordefi check.
Enrichment failures degrade the affected fields (is_safe=False etc.)
and add a warning — the endpoint never 500s because a third party is
down. Non-EVM vaults return 422: their programs expose no owner.
Path Parameters
Query Parameters
Response Body
curl -X GET "https://api.upshift.finance/api/v1/upshift/governance/string/roles?chain_id=0"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Get Vault Permissions
Flat vault-wide permissions table from the Postgres integrations graph.
All EOAOperator and Subaccount rows of the vault contribute their
integrations across every chain (operators trade cross-chain, so filtering
to the vault's own chain would hide most of the whitelist); each row
carries its integration's chain_id. Grouped by (integration, chain)
with token symbols, AA role names, and spenders unioned. Vaults with no
configured integrations return an empty list.
Path Parameters
Query Parameters
Response Body
curl -X GET "https://api.upshift.finance/api/v1/upshift/governance/string/permissions?chain_id=0"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Get Vault Timelocks
Actions queued in the vault timelock, one row per scheduled request.
status mirrors the main app's /timelock-requests semantics:
a single TimelockStatus value or all; default shows the pending
queue. Empty queue returns timelocks: [].
Path Parameters
Query Parameters
"scheduled"Response Body
curl -X GET "https://api.upshift.finance/api/v1/upshift/governance/string/timelocks?chain_id=0&status=scheduled"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}Get Vault Audit Log
Chronological governance log: timelock actions (derived live from
timelock_request) merged with backend-owned manual entries
(audit_log table), newest first. before + limit page older
entries; the log starts at launch — no historical backfill.
Path Parameters
Query Parameters
50Response Body
curl -X GET "https://api.upshift.finance/api/v1/upshift/governance/string/audit_log?chain_id=0&category=string&before=2019-08-24T14%3A15%3A22Z&limit=50"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}