Skip to main content
GET
Read one decision proposal

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-ankra-organisation-id
string

PAT organisation override.

Path Parameters

decision_id
string<uuid>
required

Response

Successful response

One proposal of the decision ledger: what it is about, what the surface computed, where it stands, who decided, and what running it did.

id
string<uuid>
required
area
enum<string>
required

security or cost; decides which permission approving and running it takes.

Available options:
security,
cost
kind
string
required

What the proposal does, e.g. addon_upgrade, image_rebuild, right_size, off_hours_schedule, waste_cleanup. Only kinds with a platform operation are executable.

subject
object
required

Identity of what the proposal is about (finding_id, cluster_id, addon_name, waste_finding_id ...), one document per kind.

summary
string
required
plan
object
required

The steps the surface computed. plan.parameters is the machine half the executable kinds are called with: addon_upgrade takes {cluster_id, addon_name, chart_version}; off_hours_schedule takes {cluster_id, timezone, schedules: [{action, stop_mode, cron_expression}]}; waste_cleanup takes {waste_finding_id}.

evidence
object
required
status
enum<string>
required
Available options:
proposed,
approved,
set_aside,
running,
succeeded,
failed,
superseded
source
string
required

Which surface computed it (default "surface").

created_by
string | null
required

Ankra user id of whoever posted it.

decided_by
string | null
required

Ankra user id of the last approve or set-aside.

decided_at
string<date-time> | null
required
decision_note
string | null
required
operation_id
string<uuid> | null
required

The platform execution a run dispatched, to watch under /api/v1/org/executions.

receipt
DecisionReceipt · object | null
required

The record of running a proposal: who ran it and when, the platform operation it became, the steps taken and how it ended.

dedupe_key
string
required
executable
boolean
required

Whether the platform has an operation for the kind, so a surface offers "run" only where running can work.

created_at
string<date-time>
required
updated_at
string<date-time>
required