{"openapi":"3.1.0","info":{"title":"Atlas One Public API","version":"1.0.0","description":"Read-only REST API for Atlas One data. Phase 1 supports GET only.\n\n**Authentication.** Send `Authorization: Bearer af_live_...`. Keys are created by an organization Admin under Administration, API Keys, and are shown once. A key has read scopes and may be limited to one location and its descendants.\n\n**Scopes.** `locations:read`, `people:read`, `roles:read`, `missions:read`, `launches:read` (launches, tasks, answers and comments).\n\n**Filtering.** `filter` is JSON: `{\"where\":{\"status\":\"active\",\"updated_at\":{\"gte\":\"2026-01-01T00:00:00Z\"}},\"order\":\"updated_at desc\",\"limit\":100,\"fields\":[\"id\",\"name\"]}`. A bare value means equality. Operators: eq, neq, gt, gte, lt, lte, between, in, nin, like (case-insensitive, supply %), null. Combine conditions with `and` and `or` arrays (up to 4 levels, 50 conditions). Top-level `limit`, `order`, `fields` and `cursor` override the filter; `updated_since` adds an updated_at lower bound.\n\n**Paging.** Lists return `has_more` and `next_cursor`; pass it back as `cursor`. Default page size is 100, maximum 500.\n\n**Limits.** 5 requests per second and 25,000 per UTC day for the whole organization. Over the limit returns 429 with Retry-After.\n\n**Errors.** application/problem+json with type, title, status, detail, code and request_id.\n\n**Evidence files.** Answers list evidence files; files stored for your organization carry a signed `url` valid for one hour (`url_expires_at`)."},"servers":[{"url":"https://api.atlantisfrontline.com/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/openapi.json":{"get":{"operationId":"getOpenApi","summary":"OpenAPI document","security":[],"responses":{"200":{"description":"This document.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/me":{"get":{"operationId":"getMe","summary":"Organization, key and limits","responses":{"200":{"description":"The calling key.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/locations":{"get":{"operationId":"listLocations","summary":"List locations","description":"Requires scope `locations:read`. Sortable fields: name, created_at, updated_at.","x-required-scope":"locations:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of locations.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/locations/count":{"get":{"operationId":"countLocations","summary":"Count locations","description":"Requires scope `locations:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"locations:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/locations/{id}":{"get":{"operationId":"getLocation","summary":"Get one location","description":"Requires scope `locations:read`.","x-required-scope":"locations:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The location.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Location"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/people":{"get":{"operationId":"listPeople","summary":"List people","description":"Requires scope `people:read`. Sortable fields: full_name, created_at, updated_at.","x-required-scope":"people:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of people.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Person"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/people/count":{"get":{"operationId":"countPeople","summary":"Count people","description":"Requires scope `people:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"people:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/people/{id}":{"get":{"operationId":"getPerson","summary":"Get one person","description":"Requires scope `people:read`.","x-required-scope":"people:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The person.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Person"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/roles":{"get":{"operationId":"listRoles","summary":"List roles","description":"Requires scope `roles:read`. Sortable fields: name, created_at.","x-required-scope":"roles:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of roles.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Role"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/roles/count":{"get":{"operationId":"countRoles","summary":"Count roles","description":"Requires scope `roles:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"roles:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/roles/{id}":{"get":{"operationId":"getRole","summary":"Get one role","description":"Requires scope `roles:read`.","x-required-scope":"roles:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The role.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Role"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/missions":{"get":{"operationId":"listMissions","summary":"List missions","description":"Requires scope `missions:read`. Sortable fields: name, created_at, updated_at.","x-required-scope":"missions:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of missions.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Mission"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/missions/count":{"get":{"operationId":"countMissions","summary":"Count missions","description":"Requires scope `missions:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"missions:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/missions/{id}":{"get":{"operationId":"getMission","summary":"Get one mission","description":"Requires scope `missions:read`.","x-required-scope":"missions:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The mission.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Mission"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/launches":{"get":{"operationId":"listLaunches","summary":"List launches","description":"Requires scope `launches:read`. Sortable fields: created_at, updated_at.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of launches.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Launch"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/launches/count":{"get":{"operationId":"countLaunches","summary":"Count launches","description":"Requires scope `launches:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/launches/{id}":{"get":{"operationId":"getLaunch","summary":"Get one launch","description":"Requires scope `launches:read`.","x-required-scope":"launches:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The launch.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Launch"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/tasks":{"get":{"operationId":"listTasks","summary":"List tasks","description":"Requires scope `launches:read`. Sortable fields: created_at, updated_at.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of tasks.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Task"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/tasks/count":{"get":{"operationId":"countTasks","summary":"Count tasks","description":"Requires scope `launches:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/tasks/{id}":{"get":{"operationId":"getTask","summary":"Get one task","description":"Requires scope `launches:read`.","x-required-scope":"launches:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The task.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/answers":{"get":{"operationId":"listAnswers","summary":"List answers","description":"Requires scope `launches:read`. Sortable fields: created_at, updated_at.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of answers.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Answer"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/answers/count":{"get":{"operationId":"countAnswers","summary":"Count answers","description":"Requires scope `launches:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/answers/{id}":{"get":{"operationId":"getAnswer","summary":"Get one answer","description":"Requires scope `launches:read`.","x-required-scope":"launches:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The answer.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Answer"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/comments":{"get":{"operationId":"listComments","summary":"List comments","description":"Requires scope `launches:read`. Sortable fields: created_at, updated_at.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of comments.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/comments/count":{"get":{"operationId":"countComments","summary":"Count comments","description":"Requires scope `launches:read`. Counts rows matching the filter; order, limit and cursor are ignored.","x-required-scope":"launches:read","parameters":[{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"The count.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["count"],"properties":{"count":{"type":"integer"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/comments/{id}":{"get":{"operationId":"getComment","summary":"Get one comment","description":"Requires scope `launches:read`.","x-required-scope":"launches:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Fields"}],"responses":{"200":{"description":"The comment.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/launches/{id}/comments":{"get":{"operationId":"listLaunchComments","summary":"List the comments of one launch","description":"Requires scope `launches:read`. Same paging and filters as /comments.","x-required-scope":"launches:read","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/Filter"},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"},{"$ref":"#/components/parameters/Order"},{"$ref":"#/components/parameters/Fields"},{"$ref":"#/components/parameters/UpdatedSince"}],"responses":{"200":{"description":"A page of comments.","headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"X-RateLimit-Daily-Limit":{"$ref":"#/components/headers/X-RateLimit-Daily-Limit"},"X-RateLimit-Daily-Remaining":{"$ref":"#/components/headers/X-RateLimit-Daily-Remaining"}},"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key: af_live_..."}},"parameters":{"Filter":{"name":"filter","in":"query","description":"JSON: {\"where\":{...},\"order\":\"...\",\"limit\":n,\"fields\":[...]}","schema":{"type":"string"}},"Limit":{"name":"limit","in":"query","description":"Page size, 1 to 500 (default 100).","schema":{"type":"integer","minimum":1,"maximum":500}},"Cursor":{"name":"cursor","in":"query","description":"next_cursor of the previous page.","schema":{"type":"string"}},"Order":{"name":"order","in":"query","description":"Field and direction, such as `updated_at desc`.","schema":{"type":"string"}},"Fields":{"name":"fields","in":"query","description":"Comma separated fields to return; id is always kept.","schema":{"type":"string"}},"UpdatedSince":{"name":"updated_since","in":"query","description":"Only rows updated at or after this ISO 8601 time.","schema":{"type":"string","format":"date-time"}}},"headers":{"X-Request-Id":{"description":"Request id, quote it in support requests.","schema":{"type":"string","format":"uuid"}},"RateLimit-Limit":{"description":"Requests per second (5).","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current second.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the per-second window resets.","schema":{"type":"integer"}},"X-RateLimit-Daily-Limit":{"description":"Requests per UTC day (25000).","schema":{"type":"integer"}},"X-RateLimit-Daily-Remaining":{"description":"Requests left today (UTC).","schema":{"type":"integer"}}},"responses":{"BadRequest":{"description":"The request is not valid (invalid_request).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"Unauthorized":{"description":"The key is missing, invalid or expired (invalid_key, expired_key).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"Forbidden":{"description":"The key lacks the scope, or the API is off (insufficient_scope, api_disabled).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"NotFound":{"description":"Not found (not_found).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"TooManyRequests":{"description":"Rate limit or daily limit reached (rate_limited, daily_limit).","headers":{"Retry-After":{"description":"Seconds to wait.","schema":{"type":"integer"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"InternalError":{"description":"Something went wrong (internal_error).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"schemas":{"Location":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"external_id":{"type":["string","null"]},"location_number":{"type":["string","null"]},"node_type":{"type":["string","null"]},"level_code":{"type":["string","null"]},"location_type":{"type":["string","null"]},"status":{"type":["string","null"]},"address":{"type":["string","null"]},"city":{"type":["string","null"]},"state_province":{"type":["string","null"]},"postal_code":{"type":["string","null"]},"country":{"type":["string","null"]},"timezone":{"type":["string","null"]},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"opening_date":{"type":["string","null"],"format":"date"},"closing_date":{"type":["string","null"],"format":"date"},"brand":{"type":["string","null"]},"format":{"type":["string","null"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Person":{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"external_id":{"type":["string","null"]},"employee_id":{"type":["string","null"]},"full_name":{"type":["string","null"]},"preferred_name":{"type":["string","null"]},"email":{"type":["string","null"]},"job_title":{"type":["string","null"]},"department":{"type":["string","null"]},"role_id":{"type":["string","null"],"format":"uuid"},"role_name":{"type":["string","null"]},"role_base_type":{"type":["string","null"]},"location_id":{"type":["string","null"],"format":"uuid"},"manager_id":{"type":["string","null"],"format":"uuid"},"status":{"type":["string","null"]},"user_status":{"type":["string","null"]},"vendor_company":{"type":["string","null"]},"access_expires_at":{"type":["string","null"],"format":"date-time"},"language":{"type":["string","null"]},"timezone":{"type":["string","null"]},"start_date":{"type":["string","null"],"format":"date"},"end_date":{"type":["string","null"],"format":"date"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Role":{"type":"object","required":["id","name","base_type","is_system","permissions","created_at"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"base_type":{"type":"string"},"is_system":{"type":"boolean"},"permissions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time"}}},"Mission":{"type":"object","required":["id","name","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string"},"mission_type":{"type":["string","null"]},"category_id":{"type":["string","null"],"format":"uuid"},"category_name":{"type":["string","null"]},"tags":{"type":["array","null"],"items":{"type":"string"}},"current_version_id":{"type":["string","null"],"format":"uuid"},"version":{"type":["integer","null"]},"assignment_mode":{"type":["string","null"]},"schedule":{},"owner_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"published_at":{"type":["string","null"],"format":"date-time"},"closed_at":{"type":["string","null"],"format":"date-time"},"archived_at":{"type":["string","null"],"format":"date-time"}}},"Launch":{"type":"object","required":["id","mission_id","status","tasks_total","tasks_completed","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"mission_id":{"type":"string","format":"uuid"},"mission_name":{"type":["string","null"]},"mission_version_id":{"type":["string","null"],"format":"uuid"},"version_number":{"type":["integer","null"]},"run_id":{"type":["string","null"],"format":"uuid"},"occurrence_on":{"type":["string","null"],"format":"date"},"assignment_mode":{"type":["string","null"]},"location_id":{"type":["string","null"],"format":"uuid"},"person_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string"},"starts_at":{"type":["string","null"],"format":"date-time"},"due_at":{"type":["string","null"],"format":"date-time"},"closes_at":{"type":["string","null"],"format":"date-time"},"started_at":{"type":["string","null"],"format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"missed_at":{"type":["string","null"],"format":"date-time"},"cancelled_at":{"type":["string","null"],"format":"date-time"},"is_late":{"type":["boolean","null"]},"requires_validation":{"type":["boolean","null"]},"validation_status":{"type":["string","null"]},"validated_at":{"type":["string","null"],"format":"date-time"},"tasks_total":{"type":"integer"},"tasks_completed":{"type":"integer"},"score_earned":{"type":["number","null"]},"score_possible":{"type":["number","null"]},"score_percent":{"type":["number","null"]},"failed":{"type":["boolean","null"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Task":{"type":"object","required":["id","launch_id","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"launch_id":{"type":"string","format":"uuid"},"mission_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"person_id":{"type":["string","null"],"format":"uuid"},"status":{"type":"string"},"available_at":{"type":["string","null"],"format":"date-time"},"started_at":{"type":["string","null"],"format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"approved_at":{"type":["string","null"],"format":"date-time"},"rejected_at":{"type":["string","null"],"format":"date-time"},"cancelled_at":{"type":["string","null"],"format":"date-time"},"score_earned":{"type":["number","null"]},"score_possible":{"type":["number","null"]},"failed":{"type":["boolean","null"]},"failure_reasons":{},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Answer":{"type":"object","required":["id","task_id","launch_id","evidence","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"task_id":{"type":"string","format":"uuid"},"launch_id":{"type":"string","format":"uuid"},"mission_id":{"type":["string","null"],"format":"uuid"},"question_id":{"type":["string","null"],"format":"uuid"},"question":{"type":["string","null"]},"question_kind":{"type":["string","null"]},"reporting_key":{"type":["string","null"]},"value":{},"explanation":{"type":["string","null"]},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/EvidenceFile"}},"rounds":{},"state":{"type":["string","null"]},"submitted_by":{"type":["string","null"],"format":"uuid"},"submitted_at":{"type":["string","null"],"format":"date-time"},"amended_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Comment":{"type":"object","required":["id","launch_id","body","mentioned_person_ids","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"launch_id":{"type":"string","format":"uuid"},"author_id":{"type":["string","null"],"format":"uuid"},"author_name":{"type":["string","null"]},"body":{"type":"string"},"mentioned_person_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"created_at":{"type":"string","format":"date-time"},"edited_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"EvidenceFile":{"type":"object","required":["path"],"additionalProperties":true,"properties":{"path":{"type":"string"},"url":{"type":"string","format":"uri","description":"Signed download URL, valid for one hour."},"url_expires_at":{"type":"string","format":"date-time"}}},"Me":{"type":"object","required":["organization","key","limits"],"properties":{"organization":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}}},"key":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"prefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"location_id":{"type":["string","null"],"format":"uuid"},"expires_at":{"type":"string","format":"date-time"},"owner":{"type":"object","properties":{"id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]}}}}},"limits":{"type":"object","properties":{"per_second":{"type":"integer"},"per_day":{"type":"integer"},"remaining_today":{"type":"integer"}}}}},"Problem":{"type":"object","required":["type","title","status","detail","code","request_id"],"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"code":{"type":"string"},"request_id":{"type":"string"}}}}}}