Citra Space Scenarios API
The scenarios API from Citra Space — 19 operation(s) for scenarios.
The scenarios API from Citra Space — 19 operation(s) for scenarios.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/citra-space:citra-space-scenarios-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SOICAT Scenarios API
version: 0.1.0
tags:
- name: Scenarios
paths:
/scenario-runs/{run_id}:
get:
operationId: get_scenario_run_scenario_runs__run_id__get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Get scenario run scenario runs run id get
x-summary-source: derived
/scenario-runs/{run_id}/archive:
post:
operationId: archive_scenario_run_scenario_runs__run_id__archive_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Archive scenario run scenario runs run id archive post
x-summary-source: derived
/scenario-runs/{run_id}/arm:
post:
operationId: arm_scenario_run_scenario_runs__run_id__arm_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Arm scenario run scenario runs run id arm post
x-summary-source: derived
/scenario-runs/{run_id}/launch-console/chunks/{chunk_id}:
get:
operationId: scenario_run_chunk_scenario_runs__run_id__launch_console_chunks__chunk_id__get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
- in: path
name: chunk_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema: {}
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Scenario run chunk scenario runs run id launch console chunks chunk id get
x-summary-source: derived
/scenario-runs/{run_id}/launch-console/manifest:
get:
operationId: scenario_run_manifest_scenario_runs__run_id__launch_console_manifest_get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
additionalProperties: {}
propertyNames:
type: string
type: object
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Scenario run manifest scenario runs run id launch console manifest get
x-summary-source: derived
/scenario-runs/{run_id}/launch-console/window:
get:
operationId: scenario_run_window_scenario_runs__run_id__launch_console_window_get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
- in: query
name: from
required: true
schema:
format: double
minimum: 0
type: number
- in: query
name: to
required: true
schema:
exclusiveMinimum: 0
format: double
type: number
- in: query
name: resolution
required: false
schema:
exclusiveMinimum: 0
format: double
type:
- number
- 'null'
responses:
'200':
content:
application/json:
schema:
additionalProperties: {}
propertyNames:
type: string
type: object
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Scenario run window scenario runs run id launch console window get
x-summary-source: derived
/scenario-runs/{run_id}/pause:
post:
operationId: pause_scenario_run_scenario_runs__run_id__pause_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Pause scenario run scenario runs run id pause post
x-summary-source: derived
/scenario-runs/{run_id}/promotions:
post:
operationId: promote_scenario_run_scenario_runs__run_id__promotions_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioPromotionCreate'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Promote scenario run scenario runs run id promotions post
x-summary-source: derived
/scenario-runs/{run_id}/purge:
post:
operationId: purge_scenario_run_scenario_runs__run_id__purge_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioControlAccepted'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Purge scenario run scenario runs run id purge post
x-summary-source: derived
/scenario-runs/{run_id}/scoring:
get:
operationId: scenario_run_scoring_scenario_runs__run_id__scoring_get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
additionalProperties: {}
propertyNames:
type: string
type: object
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Scenario run scoring scenario runs run id scoring get
x-summary-source: derived
/scenario-runs/{run_id}/scoring/recompute:
post:
operationId: recompute_scenario_run_scoring_scenario_runs__run_id__scoring_recompute_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioControlAccepted'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Recompute scenario run scoring scenario runs run id scoring recompute post
x-summary-source: derived
/scenario-runs/{run_id}/start:
post:
operationId: start_scenario_run_scenario_runs__run_id__start_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Start scenario run scenario runs run id start post
x-summary-source: derived
/scenario-runs/{run_id}/status:
get:
operationId: scenario_run_status_scenario_runs__run_id__status_get
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioStatus'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Scenario run status scenario runs run id status get
x-summary-source: derived
/scenario-runs/{run_id}/stop:
post:
operationId: stop_scenario_run_scenario_runs__run_id__stop_post
parameters:
- in: path
name: run_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Stop scenario run scenario runs run id stop post
x-summary-source: derived
/scenarios:
get:
operationId: list_scenarios_scenarios_get
parameters:
- in: query
name: include_archived
required: false
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ScenarioRead'
type: array
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: List scenarios scenarios get
x-summary-source: derived
post:
operationId: create_scenario_scenarios_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioCreate'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Create scenario scenarios post
x-summary-source: derived
/scenarios/{scenario_id}:
get:
operationId: get_scenario_scenarios__scenario_id__get
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Get scenario scenarios scenario id get
x-summary-source: derived
patch:
operationId: update_scenario_scenarios__scenario_id__patch
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioUpdate'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Update scenario scenarios scenario id patch
x-summary-source: derived
/scenarios/{scenario_id}/archive:
post:
operationId: archive_scenario_scenarios__scenario_id__archive_post
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Archive scenario scenarios scenario id archive post
x-summary-source: derived
/scenarios/{scenario_id}/duplicate:
post:
operationId: duplicate_scenario_scenarios__scenario_id__duplicate_post
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Duplicate scenario scenarios scenario id duplicate post
x-summary-source: derived
/scenarios/{scenario_id}/runs:
get:
operationId: list_scenario_runs_scenarios__scenario_id__runs_get
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ScenarioRunRead'
type: array
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: List scenario runs scenarios scenario id runs get
x-summary-source: derived
post:
operationId: create_scenario_run_scenarios__scenario_id__runs_post
parameters:
- in: path
name: scenario_id
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunCreate'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/ScenarioRunRead'
description: Successful Response
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
description: Validation Error
tags:
- Scenarios
summary: Create scenario run scenarios scenario id runs post
x-summary-source: derived
components:
schemas:
ScenarioKind:
enum:
- launch
type: string
LaunchSeparation:
properties:
childName:
default: upper-stage
type: string
deltaVMps:
items:
format: double
type: number
type: array
parentName:
default: payload
type: string
t0OffsetSeconds:
format: double
type: number
required:
- t0OffsetSeconds
type: object
ScenarioRunCreate:
properties:
expectedScenarioRevision:
format: int32
type: integer
logicalStart:
format: date-time
type: string
mode:
default: quick
oneOf:
- $ref: '#/components/schemas/ScenarioRunMode'
seed:
format: int64
type: integer
required:
- expectedScenarioRevision
- logicalStart
- seed
type: object
ScenarioPromotionCreate:
properties:
logicalStart:
format: date-time
type:
- string
- 'null'
type: object
ScenarioCreate:
properties:
definition:
$ref: '#/components/schemas/LaunchScenarioDefinition'
description:
type:
- string
- 'null'
name:
maxLength: 255
minLength: 1
type: string
required:
- name
- definition
type: object
LaunchWarning:
properties:
confidence:
default: 1.0
format: double
maximum: 1
minimum: 0
type: number
payload:
additionalProperties: {}
propertyNames:
type: string
type: object
source:
default: scenario
pattern: ^[a-z0-9_-]+$
type: string
t0OffsetSeconds:
format: double
type: number
type: object
ValidationError:
properties:
ctx:
type: object
input: {}
loc:
items:
oneOf:
- type: string
- format: int64
type: integer
type: array
msg:
type: string
type:
type: string
required:
- loc
- msg
- type
type: object
ScenarioRead:
properties:
archivedAt:
format: date-time
type:
- string
- 'null'
createdAt:
format: date-time
type: string
createdBy:
format: uuid
type: string
definition:
$ref: '#/components/schemas/LaunchScenarioReadDefinition'
description:
type:
- string
- 'null'
id:
format: uuid
type: string
kind:
$ref: '#/components/schemas/ScenarioKind'
name:
type: string
revision:
format: int32
type: integer
updatedAt:
format: date-time
type: string
updatedBy:
format: uuid
type: string
required:
- id
- kind
- name
- definition
- revision
- createdBy
- updatedBy
- createdAt
- updatedAt
type: object
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
type: object
ScenarioUpdate:
description: OpenAPI shape for the presence-aware PATCH parser in the handler.
properties:
definition:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/LaunchScenarioDefinition'
description:
type:
- string
- 'null'
expectedRevision:
format: int32
minimum: 1
type: integer
name:
maxLength: 255
minLength: 1
type:
- string
- 'null'
required:
- expectedRevision
type: object
ScenarioStatus:
properties:
alertCount:
format: int64
type: integer
error:
type:
- string
- 'null'
id:
format: uuid
type: string
observationCount:
format: int64
type: integer
state:
$ref: '#/components/schemas/ScenarioState'
taskCount:
format: int64
type: integer
updatedAt:
format: date-time
type: string
warningCounts:
additionalProperties:
format: int64
type: integer
propertyNames:
type: string
type: object
required:
- id
- state
- updatedAt
- warningCounts
- observationCount
- taskCount
- alertCount
type: object
LaunchScenarioReadDefinition:
description: Schema-only read contract for legacy launch-family compatibility.
properties:
ambientObservationIntervalSeconds:
default: 30.0
format: double
minimum: 0.1
type: number
assessmentConfig:
type: object
durationSeconds:
exclusiveMinimum: 0
format: double
maximum: 604800
type: number
kind:
default: launch
oneOf:
- $ref: '#/components/schemas/ScenarioKind'
maneuvers:
items:
$ref: '#/components/schemas/LaunchManeuver'
maxItems: 4096
type: array
missionId:
format: uuid
type:
- string
- 'null'
noiseConfig:
type: object
operatorPolicy:
type: object
protectedSatelliteGroupIds:
items:
format: uuid
type: string
maxItems: 31
type: array
scenarioType:
default: new_launch_into_suspected_orbit
oneOf:
- enum:
- new_launch_into_suspected_orbit
- co_orbital_intercept
- high_velocity_intercept
type: string
schedulingConfig:
type: object
sensors:
items:
$ref: '#/components/schemas/ScenarioSensorDefinition'
maxItems: 8
type: array
separations:
items:
$ref: '#/components/schemas/LaunchSeparation'
maxItems: 2
type: array
truthParameters:
type: object
warnings:
items:
$ref: '#/components/schemas/LaunchWarning'
maxItems: 1024
type: array
required:
- durationSeconds
type: object
LaunchScenarioDefinition:
properties:
ambientObservationIntervalSeconds:
default: 30.0
format: double
minimum: 0.1
type: number
assessmentConfig:
type: object
durationSeconds:
exclusiveMinimum: 0
format: double
maximum: 604800
type: number
kind:
default: launch
oneOf:
- $ref: '#/components/schemas/ScenarioKind'
maneuvers:
items:
$ref: '#/components/schemas/LaunchManeuver'
maxItems: 4096
type: array
missionId:
format: uuid
type:
- string
- 'null'
noiseConfig:
type: object
operatorPolicy:
type: object
protectedSatelliteGroupIds:
items:
format: uuid
type: string
maxItems: 31
type: array
scenarioType:
default: new_launch_into_suspected_orbit
oneOf:
- enum:
- new_launch_into_suspected_orbit
type: string
schedulingConfig:
type: object
sensors:
items:
$ref: '#/components/schemas/ScenarioSensorDefinition'
maxItems: 8
type: array
separations:
items:
$ref: '#/components/schemas/LaunchSeparation'
maxItems: 2
type: array
truthParameters:
type: object
warnings:
items:
$ref: '#/components/schemas/LaunchWarning'
maxItems: 1024
type: array
required:
- durationSeconds
type: object
SensorType:
enum:
- telescope
- antenna
title: SensorType
type: string
ScenarioControlAccepted:
properties:
id:
format: uuid
type: string
requestedAction:
type: string
state:
$ref: '#/components/schemas/ScenarioState'
required:
- id
- state
- requestedAction
type: object
ScenarioSensorDefinition:
properties:
activeFromT0Seconds:
format: double
type: number
activeUntilT0Seconds:
format: double
type:
- number
- 'null'
altitudeKm:
default: 0
format: double
minimum: -1
type: number
edgeSensorId:
format: uuid
type: string
groundStationId:
format: uuid
type:
- string
- 'null'
latitude:
default: 0
format: double
maximum: 90
minimum: -90
type: number
longitude:
default: 0
format: double
maximum: 180
minimum: -180
type: number
minElevationDegrees:
default: 0
format: double
maximum: 90
minimum: 0
type: number
minimumRangeKm:
default: 0
format: double
minimum: 0
type: number
name:
default: Scenario sensor
type: string
observationIntervalSeconds:
default: 30.0
format: double
minimum: 0.1
type: number
probabilityDetection:
default: 1.0
format: double
maximum: 1
minimum: 0
type: number
requireSiteDark:
type: boolean
requireTargetSunlit:
type: boolean
sensorId:
format: uuid
type: string
sensorType:
$ref: '#/components/schemas/SensorType'
required:
- sensorId
- sensorType
- edgeSensorId
type: object
LaunchManeuver:
properties:
deltaVMps:
items:
format: double
type: number
type: array
objectName:
type: string
t0OffsetSeconds:
format: double
type: number
required:
- objectName
- t0OffsetSeconds
- deltaVMps
type: object
ScenarioRunRead:
properties:
armedAt:
format: date-time
type:
- string
- 'null'
artifactHash:
type:
- string
- 'null'
completedAt:
format: date-time
type:
- string
- 'null'
createdAt:
format: date-time
type: string
createdBy:
format: uuid
type: string
failureReason:
type:
- string
- 'null'
id:
format: uuid
type: string
inputHash:
type: string
inputSnapshot: {}
logicalStart:
format: date-time
type: string
mode:
$ref: '#/components/schemas/ScenarioRunMode'
progress: {}
promotedFromRunId:
format: uuid
type:
- string
- 'null'
purgedAt:
format: date-time
type:
- string
- 'null'
replayManifest: {}
scenarioId:
format: uuid
type: string
scenarioRevision:
format: int32
type: integer
scoring: {}
seed:
format: int64
type: integer
startedAt:
format: date-time
type:
- string
- 'null'
state:
$ref: '#/components/schemas/ScenarioState'
updatedAt:
format: date-time
type: string
versionManifest: {}
required:
- id
- scenarioId
- scenarioRevision
- mode
- state
- logicalStart
- seed
- inputHash
- inputSnapshot
- versionManifest
- progress
- createdBy
- createdAt
- updatedAt
type: object
ScenarioRunMode:
enum:
- quick
- full_system
type: string
ScenarioState:
enum:
- queued
- compiling
- draft
- arming
- armed
- running
- paused
- completed
- archived
- failed
type: string
securitySchemes:
HTTPBearer:
scheme: bearer
type: http