API reference

KYE Protocol™ — Scenario Testing™ + Approval Brief™ API

56 operations · scenario-testing.openapi.yaml

Servers
https://admin.kyeprotocol.com https://app.kyeprotocol.com
Version
1.0.0
Source
scenario-testing.openapi.yaml

Admin authoring (owner-gated) and tenant-scoped read endpoints for the KYE™ Scenario Testing™ + Approval Brief™ surface.

All POST endpoints accept an Idempotency-Key header; if present, the response is cached per (tenant_id, scope, key) and returned verbatim on retry. Soft-delete only — deleted_at is set; the row is never physically removed.

Base path: /api/v1/

scenario-testing

GET/api/v1/scenariosList scenarios

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
run_modequerystring
statusquerystring
qquerystring

Responses

  • 200 OK
POST/api/v1/scenariosCreate a scenario (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
name requiredstring
descriptionstring
run_mode requiredstringOne of what_if, stress_test, blast_radius, future_state, revocation_impact, approval_risk
target_object requiredobject
inputsobject
stressorsarray
validityobject
tagsarray

Responses

  • 201 Created
  • 400 Validation error
GET/api/v1/scenarios/{id}Fetch a scenario

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/scenarios/{id}Update a scenario (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
namestring
descriptionstring
statusstringOne of draft, active, archived
tagsarray
inputsobject
stressorsarray

Responses

  • 200 OK
DELETE/api/v1/scenarios/{id}Soft-delete a scenario (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
GET/api/v1/scenario-runsList scenario runs

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
scenario_idquerystring
run_modequerystring
sincequerystring

Responses

  • 200 OK
POST/api/v1/scenario-runsQueue a scenario run (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
scenario_id requiredstring
run_mode requiredstring
target_object requiredobject
resolved_inputsobject
started_atstring

Responses

  • 202 Accepted
GET/api/v1/scenario-runs/{id}Fetch a scenario run

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/scenario-runs/{id}Update a scenario run outcome (admin / runner)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
statusstring
ended_atstring
admit_countinteger
deny_countinteger
escalate_countinteger
risk_scorenumber
summarystring
consequence_map_idstring
divergence_from_baselineboolean
signed_bystring
signatureobject

Responses

  • 200 OK
DELETE/api/v1/scenario-runs/{id}Soft-delete a scenario run (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/scenario-runs/{id}/rerunReplay a scenario run (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Responses

  • 202 Accepted
POST/api/v1/scenario-runs/{id}/generate-evidenceCreate an approval evidence pack from a scenario run (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Responses

  • 202 Accepted
GET/api/v1/stress-testsList stress tests (admin)

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
statusquerystring

Responses

  • 200 OK
POST/api/v1/stress-testsCreate a stress test (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
name requiredstring
descriptionstring
target_object requiredobject
stressorsarray
severitystringOne of low, medium, high, critical

Responses

  • 201 Created
GET/api/v1/stress-tests/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/stress-tests/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
namestring
descriptionstring
severitystringOne of low, medium, high, critical
statusstring
stressorsarray

Responses

  • 200 OK
DELETE/api/v1/stress-tests/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/stress-tests/{id}/rerunExecute a stress test (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring
Idempotency-Keyheaderstring

Responses

  • 202 Accepted
GET/api/v1/stressorsList stressor library entries (admin)

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
categoryquerystring

Responses

  • 200 OK
POST/api/v1/stressorsCreate a stressor library entry (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_idstring
stressor_id requiredstring
name requiredstring
descriptionstring
categorystring
default_severitystringOne of low, medium, high, critical
parametersobject

Responses

  • 201 Created
GET/api/v1/stressors/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/stressors/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
namestring
descriptionstring
categorystring
default_severitystringOne of low, medium, high, critical
parametersobject

Responses

  • 200 OK
DELETE/api/v1/stressors/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
GET/api/v1/consequence-mapsList consequence maps (admin)

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
scenario_run_idquerystring

Responses

  • 200 OK
POST/api/v1/consequence-mapsCreate a consequence map (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
scenario_run_idstring
target_object requiredobject
nodesarray
edgesarray
summarystring

Responses

  • 201 Created
GET/api/v1/consequence-maps/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/consequence-maps/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
summarystring
nodesarray
edgesarray
content_hashstring
signatureobject

Responses

  • 200 OK
DELETE/api/v1/consequence-maps/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/consequence-maps/{id}/verifyVerify the signature on a consequence map (admin)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 Verified
  • 422 Verification failed

approval-brief

GET/api/v1/approval-briefsList approval briefs

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
approverquerystring
statusquerystring

Responses

  • 200 OK
POST/api/v1/approval-briefsCreate an approval brief (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
proposed_action requiredobject
approver requiredstring
knowledge_snapshot_id requiredstring
consequence_map_id requiredstring
supporting_scenario_runsarray
recommended_decisionstringOne of approved, approved_with_restrictions, rejected, expired, escalated, requires_more_information
validity requiredobject

Responses

  • 201 Created
GET/api/v1/approval-briefs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/approval-briefs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
recommended_decisionstring
statusstring
validity_not_afterstring
signatureobject

Responses

  • 200 OK
DELETE/api/v1/approval-briefs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/approval-briefs/{id}/viewedMark a brief as viewed (idempotent)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/approval-briefs/{id}/acknowledgeApprover acknowledges the brief (idempotent)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
GET/api/v1/approver-knowledge-snapshotsList approver knowledge snapshots (admin)

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
approverquerystring

Responses

  • 200 OK
POST/api/v1/approver-knowledge-snapshotsCreate an approver knowledge snapshot (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
approver requiredstring
captured_atstring
source_refsarray
content_hashstring
summarystring

Responses

  • 201 Created
GET/api/v1/approver-knowledge-snapshots/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/approver-knowledge-snapshots/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
summarystring
content_hashstring
source_refsarray
signatureobject

Responses

  • 200 OK
DELETE/api/v1/approver-knowledge-snapshots/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/approver-knowledge-snapshots/{id}/verify

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 Verified
  • 422 Verification failed
GET/api/v1/approval-decisionsList approval decisions

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
approverquerystring
decisionquerystring
sincequerystring

Responses

  • 200 OK
POST/api/v1/approval-decisionsRecord an approval decision (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
approval_brief_id requiredstring
approver requiredstring
decision requiredstringOne of approved, approved_with_restrictions, rejected, expired, escalated, requires_more_information
decided_atstring
rationale requiredstring
restrictionsarray
escalated_tostring
knowledge_snapshot_idstring

Responses

  • 201 Created
GET/api/v1/approval-decisions/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/approval-decisions/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
rationalestring
restrictionsarray
escalated_tostring
signatureobject

Responses

  • 200 OK
DELETE/api/v1/approval-decisions/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/approval-decisions/{id}/revokeRevoke an approval decision

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
reason requiredstring

Responses

  • 200 OK
POST/api/v1/approval-decisions/{id}/expireMark an approval decision expired (idempotent)

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
GET/api/v1/approval-evidence-packsList approval evidence packs

Auth: bearerAuth

Parameters

nameintypedescription
tenant_idquerystring
approval_brief_idquerystring

Responses

  • 200 OK
POST/api/v1/approval-evidence-packsCreate an approval evidence pack (admin)

Auth: bearerAuth

Parameters

nameintypedescription
Idempotency-Keyheaderstring

Request body (required)

fieldtypedescription
tenant_id requiredstring
approval_brief_idstring
knowledge_snapshot_idstring
consequence_map_idstring
approval_decision_idstring
supporting_scenario_runsarray

Responses

  • 201 Created
GET/api/v1/approval-evidence-packs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
  • 404 Not found
PATCH/api/v1/approval-evidence-packs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Request body (required)

fieldtypedescription
statusstring
content_hashstring
sealed_atstring
sealed_bystring
signatureobject

Responses

  • 200 OK
DELETE/api/v1/approval-evidence-packs/{id}

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 OK
POST/api/v1/approval-evidence-packs/{id}/verify

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 Verified
  • 422 Verification failed
GET/api/v1/approval-evidence-packs/{id}/exportDownload a self-contained JSON bundle of the evidence pack

Auth: bearerAuth

Parameters

nameintypedescription
id requiredpathstring

Responses

  • 200 Bundle