/openapi.jsonOpenAPI document
Responses
| Status | Description | Body |
|---|---|---|
| 200 | This document. | object |
Example
curl "https://api.atlantisfrontline.com/v1/openapi.json"
Read-only REST API for Atlas One data: endpoints, parameters, responses and examples.
https://api.atlantisfrontline.com/v1Read-only REST API for Atlas One data. Phase 1 supports GET only.
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.
Scopes. locations:read, people:read, roles:read, missions:read, launches:read (launches, tasks, answers and comments).
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.
Paging. Lists return has_more and next_cursor; pass it back as cursor. Default page size is 100, maximum 500.
Limits. 5 requests per second and 25,000 per UTC day for the whole organization. Over the limit returns 429 with Retry-After.
Errors. application/problem+json with type, title, status, detail, code and request_id.
Evidence files. Answers list evidence files; files stored for your organization carry a signed url valid for one hour (url_expires_at).
Every error response uses this body (application/problem+json).
| Name | Type | Description |
|---|---|---|
| type | string (uri) | Always present. |
| title | string | Always present. |
| status | integer | Always present. |
| detail | string | Always present. |
| code | string | Always present. |
| request_id | string | Always present. |
/openapi.json| Status | Description | Body |
|---|---|---|
| 200 | This document. | object |
curl "https://api.atlantisfrontline.com/v1/openapi.json"
/me| Status | Description | Body |
|---|---|---|
| 200 | The calling key. | Me |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| organization | object | Always present. |
| key | object | Always present. |
| limits | object | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/me"
/locationsRequires scope locations:read. Sortable fields: name, created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of locations. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/locations"
/locations/countRequires scope locations:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/locations/count"
/locations/{id}Requires scope locations:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The location. | Location |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| parent_id | string (uuid) or null | |
| name | string | Always present. |
| external_id | string or null | |
| location_number | string or null | |
| node_type | string or null | |
| level_code | string or null | |
| location_type | string or null | |
| status | string or null | |
| address | string or null | |
| city | string or null | |
| state_province | string or null | |
| postal_code | string or null | |
| country | string or null | |
| timezone | string or null | |
| latitude | number or null | |
| longitude | number or null | |
| opening_date | string (date) or null | |
| closing_date | string (date) or null | |
| brand | string or null | |
| format | string or null | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/locations/{id}"/peopleRequires scope people:read. Sortable fields: full_name, created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of people. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/people"
/people/countRequires scope people:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/people/count"
/people/{id}Requires scope people:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The person. | Person |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| external_id | string or null | |
| employee_id | string or null | |
| full_name | string or null | |
| preferred_name | string or null | |
| string or null | ||
| job_title | string or null | |
| department | string or null | |
| role_id | string (uuid) or null | |
| role_name | string or null | |
| role_base_type | string or null | |
| location_id | string (uuid) or null | |
| manager_id | string (uuid) or null | |
| status | string or null | |
| user_status | string or null | |
| vendor_company | string or null | |
| access_expires_at | string (date-time) or null | |
| language | string or null | |
| timezone | string or null | |
| start_date | string (date) or null | |
| end_date | string (date) or null | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/people/{id}"/rolesRequires scope roles:read. Sortable fields: name, created_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of roles. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/roles"
/roles/countRequires scope roles:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/roles/count"
/roles/{id}Requires scope roles:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The role. | Role |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| name | string | Always present. |
| base_type | string | Always present. |
| is_system | boolean | Always present. |
| permissions | array of string | Always present. |
| created_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/roles/{id}"/missionsRequires scope missions:read. Sortable fields: name, created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of missions. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/missions"
/missions/countRequires scope missions:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/missions/count"
/missions/{id}Requires scope missions:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The mission. | Mission |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| name | string | Always present. |
| description | string or null | |
| status | string | Always present. |
| mission_type | string or null | |
| category_id | string (uuid) or null | |
| category_name | string or null | |
| tags | array of string or null | |
| current_version_id | string (uuid) or null | |
| version | integer or null | |
| assignment_mode | string or null | |
| schedule | any | |
| owner_id | string (uuid) or null | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
| published_at | string (date-time) or null | |
| closed_at | string (date-time) or null | |
| archived_at | string (date-time) or null |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/missions/{id}"/launchesRequires scope launches:read. Sortable fields: created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of launches. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/launches"
/launches/countRequires scope launches:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/launches/count"
/launches/{id}Requires scope launches:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The launch. | Launch |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| mission_id | string (uuid) | Always present. |
| mission_name | string or null | |
| mission_version_id | string (uuid) or null | |
| version_number | integer or null | |
| run_id | string (uuid) or null | |
| occurrence_on | string (date) or null | |
| assignment_mode | string or null | |
| location_id | string (uuid) or null | |
| person_id | string (uuid) or null | |
| status | string | Always present. |
| starts_at | string (date-time) or null | |
| due_at | string (date-time) or null | |
| closes_at | string (date-time) or null | |
| started_at | string (date-time) or null | |
| completed_at | string (date-time) or null | |
| missed_at | string (date-time) or null | |
| cancelled_at | string (date-time) or null | |
| is_late | boolean or null | |
| requires_validation | boolean or null | |
| validation_status | string or null | |
| validated_at | string (date-time) or null | |
| tasks_total | integer | Always present. |
| tasks_completed | integer | Always present. |
| score_earned | number or null | |
| score_possible | number or null | |
| score_percent | number or null | |
| failed | boolean or null | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/launches/{id}"/launches/{id}/commentsRequires scope launches:read. Same paging and filters as /comments.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of comments. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/launches/{id}/comments"/tasksRequires scope launches:read. Sortable fields: created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of tasks. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/tasks"
/tasks/countRequires scope launches:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/tasks/count"
/tasks/{id}Requires scope launches:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The task. | Task |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| launch_id | string (uuid) | Always present. |
| mission_id | string (uuid) or null | |
| name | string or null | |
| person_id | string (uuid) or null | |
| status | string | Always present. |
| available_at | string (date-time) or null | |
| started_at | string (date-time) or null | |
| completed_at | string (date-time) or null | |
| approved_at | string (date-time) or null | |
| rejected_at | string (date-time) or null | |
| cancelled_at | string (date-time) or null | |
| score_earned | number or null | |
| score_possible | number or null | |
| failed | boolean or null | |
| failure_reasons | any | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/tasks/{id}"/answersRequires scope launches:read. Sortable fields: created_at, updated_at.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| limit | query | integer | No | Page size, 1 to 500 (default 100). |
| cursor | query | string | No | next_cursor of the previous page. |
| order | query | string | No | Field and direction, such as updated_at desc. |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | A page of answers. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/answers"
/answers/countRequires scope launches:read. Counts rows matching the filter; order, limit and cursor are ignored.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| filter | query | string | No | JSON: {"where":{...},"order":"...","limit":n,"fields":[...]} |
| updated_since | query | string (date-time) | No | Only rows updated at or after this ISO 8601 time. |
| Status | Description | Body |
|---|---|---|
| 200 | The count. | object |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/answers/count"
/answers/{id}Requires scope launches:read.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string (uuid) | Yes | |
| fields | query | string | No | Comma separated fields to return; id is always kept. |
| Status | Description | Body |
|---|---|---|
| 200 | The answer. | Answer |
| 400 | The request is not valid (invalid_request). | Problem |
| 401 | The key is missing, invalid or expired (invalid_key, expired_key). | Problem |
| 403 | The key lacks the scope, or the API is off (insufficient_scope, api_disabled). | Problem |
| 404 | Not found (not_found). | Problem |
| 429 | Rate limit or daily limit reached (rate_limited, daily_limit). | Problem |
| 500 | Something went wrong (internal_error). | Problem |
| Name | Type | Description |
|---|---|---|
| id | string (uuid) | Always present. |
| task_id | string (uuid) | Always present. |
| launch_id | string (uuid) | Always present. |
| mission_id | string (uuid) or null | |
| question_id | string (uuid) or null | |
| question | string or null | |
| question_kind | string or null | |
| reporting_key | string or null | |
| value | any | |
| explanation | string or null | |
| evidence | array of EvidenceFile | Always present. |
| rounds | any | |
| state | string or null | |
| submitted_by | string (uuid) or null | |
| submitted_at | string (date-time) or null | |
| amended_at | string (date-time) or null | |
| created_at | string (date-time) | Always present. |
| updated_at | string (date-time) | Always present. |
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/answers/{id}"
Comments
/commentsList comments
Requires scope
launches:read. Sortable fields: created_at, updated_at.Parameters
updated_at desc.Responses
Example
/comments/countCount comments
Requires scope
launches:read. Counts rows matching the filter; order, limit and cursor are ignored.Parameters
Responses
Example
/comments/{id}Get one comment
Requires scope
launches:read.Parameters
Responses
Comment Fields
Example
curl -H "Authorization: Bearer af_live_..." "https://api.atlantisfrontline.com/v1/comments/{id}"