Kayhan Space Propagation API
The Propagation API from Kayhan Space — 11 operation(s) for propagation.
The Propagation API from Kayhan Space — 11 operation(s) for propagation.
openapi: 3.1.0
info:
title: Satcat Service Authentication Propagation API
description: '
Kayhan Space''s Satcat Service API.
## Features
* **View** historical CDM data for an object.
* **View** latest CDM data for an object.
'
contact:
email: help@kayhan.space
version: 1.0.0
servers:
- url: /api/satcat
tags:
- name: Propagation
paths:
/propagations:
get:
tags:
- Propagation
summary: Get All Propagations
description: Retrieve all propagation jobs.
operationId: get_all_propagations_propagations_get
security:
- Oauth2Scheme: []
parameters:
- name: filters
in: query
required: false
schema:
anyOf:
- type: string
contentMediaType: application/json
contentSchema: {}
- type: 'null'
title: Filters
- name: sort_field
in: query
required: false
schema:
type: string
default: created_at
title: Sort Field
- name: sort_direction
in: query
required: false
schema:
$ref: '#/components/schemas/SortDirection'
default: desc
- name: offset
in: query
required: false
schema:
type: integer
default: 0
title: Offset
- name: count
in: query
required: false
schema:
type: integer
default: 0
title: Count
- name: group_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Optional group ID to use for the request
title: Group Id
description: Optional group ID to use for the request
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OffsetPageResult_PropagationRead_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Propagation
summary: Create Propagation
description: "Submit propagation parameters to Kayhan's system and create propagation job.<br/>\n Define: Propagation Duration, and Time Step."
operationId: create_propagation_propagations_post
security:
- Oauth2Scheme: []
parameters:
- name: norad_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: NORAD ID to associate with propagation.
title: Norad Id
description: NORAD ID to associate with propagation.
- name: group_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Optional group ID to use for the request
title: Group Id
description: Optional group ID to use for the request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationJobParameters'
description: Configuration of the propagation job to create
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}:
get:
tags:
- Propagation
summary: Get Propagation
description: Retrieve current propagation job by ID.
operationId: get_propagation_propagations__id__get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Propagation
summary: Update Propagation
description: "Adjust propagation parameters to Kayhan's system and update propagation job.<br/>\n Define: Propagation Duration, and Time Step. By default, only includes Two Body Force Model."
operationId: update_propagation_propagations__id__patch
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationJobParameters'
description: Configuration of the propagation job to create
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove Propagation
description: Delete propagation job from Kayhan's System.
operationId: remove_propagation_propagations__id__delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/states:
post:
tags:
- Propagation
summary: Add State Vector
description: Add state vector to propagation job.
operationId: add_state_vector_propagations__id__states_post
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_add_state_vector_propagations__id__states_post'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Propagation
summary: Get State Vector
description: Get state vector assigned to propagation job.
operationId: get_state_vector_propagations__id__states_get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/StateVectorRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Propagation
summary: Change State Vector
description: Change state vector assigned to propagation job.
operationId: change_state_vector_propagations__id__states_patch
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_change_state_vector_propagations__id__states_patch'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove State Vector
description: Removed state vector assigned to propagation job.
operationId: remove_state_vector_propagations__id__states_delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/forces:
post:
tags:
- Propagation
summary: Add Propagation Forces
description: Add force models to propagation job. By default, a standard "High-Fidelity" set of forces is provided.
operationId: add_propagation_forces_propagations__id__forces_post
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: group_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Optional group ID to use for the request
title: Group Id
description: Optional group ID to use for the request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_add_propagation_forces_propagations__id__forces_post'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ForceModelRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Propagation
summary: Get Propagation Forces
description: Get force models assigned to propagation job.
operationId: get_propagation_forces_propagations__id__forces_get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ForceModelRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Propagation
summary: Update Propagation Forces
description: Update force models to propagation job.
operationId: update_propagation_forces_propagations__id__forces_patch
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: group_id
in: query
required: false
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
description: Optional group ID to use for the request
title: Group Id
description: Optional group ID to use for the request
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_update_propagation_forces_propagations__id__forces_patch'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ForceModelRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove Propagation Forces
description: Remove force models to propagation job.
operationId: remove_propagation_forces_propagations__id__forces_delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/maneuvers:
post:
tags:
- Propagation
summary: Add Propagation Maneuver
description: Add a single maneuver to a propagation job.
operationId: add_propagation_maneuver_propagations__id__maneuvers_post
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationManeuverAdd'
description: Configuration of the maneuver to create
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ManeuverRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Propagation
summary: Get All Propagation Maneuvers
description: Get all maneuvers from propagation job.
operationId: get_all_propagation_maneuvers_propagations__id__maneuvers_get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: filters
in: query
required: false
schema:
anyOf:
- type: string
contentMediaType: application/json
contentSchema: {}
- type: 'null'
title: Filters
- name: sort_field
in: query
required: false
schema:
type: string
default: created_at
title: Sort Field
- name: sort_direction
in: query
required: false
schema:
$ref: '#/components/schemas/SortDirection'
default: desc
- name: offset
in: query
required: false
schema:
type: integer
default: 0
title: Offset
- name: count
in: query
required: false
schema:
type: integer
default: 0
title: Count
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OffsetPageResult_ManeuverRead_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove All Maneuvers From Propagation
description: Remove all maneuvers from propagation job.
operationId: remove_all_maneuvers_from_propagation_propagations__id__maneuvers_delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/maneuvers/{maneuver_id}:
get:
tags:
- Propagation
summary: Get Specific Propagation Maneuver
description: Get maneuver from propagation job.
operationId: get_specific_propagation_maneuver_propagations__id__maneuvers__maneuver_id__get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: maneuver_id
in: path
required: true
schema:
type: string
format: uuid
title: Maneuver Id
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ManeuverRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Propagation
summary: Update Propagation Maneuver
description: Update maneuver assigned to propagation job.
operationId: update_propagation_maneuver_propagations__id__maneuvers__maneuver_id__patch
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: maneuver_id
in: path
required: true
schema:
type: string
format: uuid
title: Maneuver Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationManeuverAdd'
description: Configuration of the maneuver to update
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ManeuverRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove Specific Propagation Maneuver
description: Remove specific maneuver from propagation job.
operationId: remove_specific_propagation_maneuver_propagations__id__maneuvers__maneuver_id__delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
- name: maneuver_id
in: path
required: true
schema:
type: string
format: uuid
title: Maneuver Id
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/tle:
post:
tags:
- Propagation
summary: Add Tle
description: Add tle to propagation job.
operationId: add_tle_propagations__id__tle_post
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_add_tle_propagations__id__tle_post'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
get:
tags:
- Propagation
summary: Get Tle
description: Get tle assigned to propagation job.
operationId: get_tle_propagations__id__tle_get
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/TLERead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Propagation
summary: Change Tle
description: Change tle assigned to propagation job.
operationId: change_tle_propagations__id__tle_patch
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_change_tle_propagations__id__tle_patch'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Propagation
summary: Remove Tle
description: Removed tle assigned to propagation job.
operationId: remove_tle_propagations__id__tle_delete
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/opm:
post:
tags:
- Propagation
summary: Add Opm
description: "Add an OPM file to propagation job.\n Configures the propagation's initial state and maneuvers.\n\n If the propagation is configured to use a target_duration instead of an end_time,\n this endpoint will automatically update the start_time of the propagation to\n match the epoch of the state vector from the OPM."
operationId: add_opm_propagations__id__opm_post
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: UUID of Propagation
title: Id
description: UUID of Propagation
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_add_opm_propagations__id__opm_post'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/submit:
put:
tags:
- Propagation
summary: Submit Propagation
description: Submit a propagation job for processing. Submitting a propagation job is an idempotent operation. Once a propagation job has been submitted and entered the PENDING state, submitting it again will have no further effect. <br/> If the propagation job as configured at submission fails validation, the propagation job will return HTTP status 422 (Unprocessable Entity) and the propagation job will not enter the PENDING state until the configuration is updated and the propagation job is submitted again.
operationId: submit_propagation_propagations__id__submit_put
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
title: Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/cancel:
put:
tags:
- Propagation
summary: Cancel Propagation
description: Cancel a propagation job which has the status RUNNING, causing the propagation job operation to be abandoned and the job to enter the CANCELED status.
operationId: cancel_propagation_propagations__id__cancel_put
security:
- Oauth2Scheme: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
title: Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/propagations/{id}/archive:
put:
tags:
- Propagation
summary: Archive Propagation
description: Mark a propagation as archived.
operationId: archive_propagation_propagations__id__archive_put
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PropagationRead'
security:
- Oauth2Scheme: []
components:
schemas:
SortDirection:
type: string
enum:
- asc
- desc
title: SortDirection
Body_add_propagation_forces_propagations__id__forces_post:
properties:
force_models:
$ref: '#/components/schemas/PropagationForceModels'
description: Configuration of the propagation job to create
type: object
required:
- force_models
title: Body_add_propagation_forces_propagations__id__forces_post
TLERead:
properties:
id:
type: string
format: uuid
title: Id
object_name:
anyOf:
- type: string
- type: 'null'
title: Object Name
line1:
anyOf:
- type: string
- type: 'null'
title: Line1
line2:
anyOf:
- type: string
- type: 'null'
title: Line2
type: object
required:
- id
title: TLERead
OceanTides:
properties:
active:
type: boolean
title: Active
description: Set to True to enable force model in propagation.
default: true
degree:
anyOf:
- type: integer
- type: 'null'
title: Degree
description: The degree of OceanTides effect to use.
default: 10
order:
anyOf:
- type: integer
- type: 'null'
title: Order
description: The order of OceanTides effect to use.
default: 10
type: object
title: OceanTides
EarthModel:
properties:
model:
type: string
title: Model
description: 'Physical characteristics of Earth as described by an Earth Model. Currently supports: "WGS84", "GRS80", "EGM96"'
default: EGM96
type: object
title: EarthModel
Body_change_
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kayhan-space/refs/heads/main/openapi/kayhan-space-propagation-api-openapi.yml