List exercise
const url = 'https://example.com/api/v1/ttx?limit=50&offset=0&sort_dir=asc&sort_by=created_at';const options = {method: 'GET', headers: {cookie: 'ttx_access_token=<ttx_access_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/api/v1/ttx?limit=50&offset=0&sort_dir=asc&sort_by=created_at' \ --cookie ttx_access_token=<ttx_access_token>The exercises the caller can reach.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”What a user acts as on one exercise, derived from their TTXAccess
row: a planning and control team member (role PLANNER) can act as
Planner (plans), Controller (controls), Facilitator
(facilitates), and – when also assigned so – Evaluator
(evaluates) and Observer (observes); every other role acts as
itself. Values match
RoleEnum’s where they overlap, so guards accept either enum.
Responses
Section titled “Responses”Successful Response
object
object
object
object
Palette shared by both tag pools (Organization and TTX). The 8
original members plus TEAL/LIME/GRAPHITE are curated swatches chosen
to stay clear of every color already carrying a fixed meaning
elsewhere (–color-severity-*, –color-accent/-cta, -danger,
-success) – see frontend/src/index.css for their exact hex. CUSTOM
is the escape hatch: a tag with color=CUSTOM carries its real color
in the sibling custom_hex field instead (validated by
CUSTOM_HEX_PATTERN below) rather than a fixed token, at the cost of
no contrast guarantee – the fixed swatches remain the safe default;
CUSTOM is opt-in.
Where a simulated actor comes from – the actor library’s levels. An exercise’s cast only holds copies; the origin says of what.
FIRST Traffic Light Protocol 2.0 labels.
Example
{ "items": [ { "can_delete": false, "controls": false, "evaluates": false, "facilitates": false, "msel_status": "draft", "needs_form_status": "draft", "observes": false, "plans": false, "tags": [ { "color": "violet", "origin": "system" } ], "tlp": "clear" } ]}Validation Error
object
object
object
Example generated
{ "detail": [ { "ctx": {}, "input": "example", "loc": [ "example" ], "msg": "example", "type": "example" } ]}