Kayhan Space Propagation API

The Propagation API from Kayhan Space — 11 operation(s) for propagation.

OpenAPI Specification

kayhan-space-propagation-api-openapi.yml Raw ↑
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