Kayhan Space Screening API

The Screening API from Kayhan Space — 23 operation(s) for screening.

OpenAPI Specification

kayhan-space-screening-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Satcat Service Authentication Screening 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: Screening
paths:
  /screenings/conjunction_plot:
    get:
      tags:
      - Screening
      summary: Get Conjunction Plot
      description: Get a summary of all the user's conjunctions.
      operationId: get_conjunction_plot_screenings_conjunction_plot_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ConjunctionMinimal'
                type: array
                title: Response Get Conjunction Plot Screenings Conjunction Plot Get
      security:
      - Oauth2Scheme: []
  /screenings:
    post:
      tags:
      - Screening
      summary: Create Screening
      description: "Create a screening.\n    Compares all points of the primary ephemerides which overlap in time with the\n    resolved assigned secondaries, and identify close-approaches which may require\n    the operator to perform collision avoidance action (conjunctions).\n    <br/>\n    Screenings are not automatically submitted for processing upon creation, unless the\n    `submit` query parameter is used. Screenings can be further configured using the\n    various `/screenings/{id}` endpoints and then submitted for processing using\n    `PUT /screenings/{id}/submit`.\n    <br/>\n    Because Screenings are processed in a queue, screening is an asynchronous operation.\n    The status and results of a submitted  screening can be found by retrieving\n    the Screening using `GET /screenings/{id}`."
      operationId: create_screening_screenings_post
      security:
      - Oauth2Scheme: []
      parameters:
      - name: submit
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to automatically submit the screening for processing upon creation. If not used, the screening can be further configured and later submitted using the screening actions subresources.
          default: false
          title: Submit
        description: Whether to automatically submit the screening for processing upon creation. If not used, the screening can be further configured and later submitted using the screening actions subresources.
      - 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/ScreeningCreate'
              description: Configuration of the screening to create
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningReadMinimal'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Screening
      summary: List Screenings
      description: List the screenings to which the currently authenticated user has read access.
      operationId: list_screenings_screenings_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: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_ScreeningPreviewWithCoverage_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}:
    get:
      tags:
      - Screening
      summary: Get Screening
      description: Retrieve metadata about a screening.
      operationId: get_screening_screenings__id__get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningPreviewWithCoverage'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Screening
      summary: Update Screening
      description: Update the configuration of a screening. Can only be performed on Screenings that have not yet been submitted.
      operationId: update_screening_screenings__id__patch
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreeningUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningPreview'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Screening
      summary: Delete Screening
      description: Delete a screening. If the screening is running, causes the `cancel` operation to be taken on the screening, and the screening to be subsequently deleted. Any conjunctions associated with the screening are also deleted.
      operationId: delete_screening_screenings__id__delete
      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: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/primaries:
    post:
      tags:
      - Screening
      summary: Add Screening Primary
      description: Add a Screenable to the list of primaries for a screening. If `norad_cat_id` is specified, must also be specified alongside `catalog_id`, and signifies that the ephemeris for object `norad_cat_id` from catalog `catalog_id` should be added.
      operationId: add_screening_primary_screenings__id__primaries_post
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreenableCreate'
              description: Configuration of the primary to add
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningPreview'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Screening
      summary: List Screening Primaries
      description: Get the list of primaries for a screening.
      operationId: list_screening_primaries_screenings__id__primaries_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - 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: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_PrimaryReadWithCoverage_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/secondaries:
    post:
      tags:
      - Screening
      summary: Add Screening Secondary
      description: Add a Screenable to the list of secondaries for a screening. If `norad_cat_id` is specified, must also be specified alongside `catalog_id`, and signifies that the ephemeris for object `norad_cat_id` from catalog `catalog_id` should be added. If `catalog_id` is specified alone, signifies that the whole catalog should be used.
      operationId: add_screening_secondary_screenings__id__secondaries_post
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreenableCreate'
              description: Configuration of the secondary to add
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Screening
      summary: List Screening Secondaries
      description: Get the list of primaries for a screening.
      operationId: list_screening_secondaries_screenings__id__secondaries_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - 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: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_SecondaryReadWithCoverage_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/screenables_batch:
    post:
      tags:
      - Screening
      summary: Add Screenables Batch
      operationId: add_screenables_batch_screenings__id__screenables_batch_post
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Body_add_screenables_batch_screenings__id__screenables_batch_post'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningPreview'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Screening
      summary: Remove Screening Screenables Batch
      description: Remove a set of Screenables from a screening.
      operationId: remove_screening_screenables_batch_screenings__id__screenables_batch_delete
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the screening to modify
          title: Id
        description: ID of the screening to modify
      - name: primary_id
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
              format: uuid
          - type: 'null'
          description: IDs of the primaries to remove from the screening. Specify the query parameter multiple times to delete multiple primaries.
          title: Primary Id
        description: IDs of the primaries to remove from the screening. Specify the query parameter multiple times to delete multiple primaries.
      - name: secondary_id
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
              format: uuid
          - type: 'null'
          description: IDs of the secondaries to remove from the screening. Specify the query parameter multiple times to delete multiple secondaries.
          title: Secondary Id
        description: IDs of the secondaries to remove from the screening. Specify the query parameter multiple times to delete multiple secondaries.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/primaries/{primary_id}:
    delete:
      tags:
      - Screening
      summary: Remove Screening Primary
      description: Remove a Screenable from the list of primaries for a screening.
      operationId: remove_screening_primary_screenings__id__primaries__primary_id__delete
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the screening to modify
          title: Id
        description: ID of the screening to modify
      - name: primary_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the primary to remove from the screening
          title: Primary Id
        description: ID of the primary to remove from the screening
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/secondaries/{secondary_id}:
    delete:
      tags:
      - Screening
      summary: Remove Screening Secondary
      description: Remove a Screenable from the list of secondaries for a screening.
      operationId: remove_screening_secondary_screenings__id__secondaries__secondary_id__delete
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the screening to modify
          title: Id
        description: ID of the screening to modify
      - name: secondary_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          description: ID of the secondary to remove from the screening
          title: Secondary Id
        description: ID of the secondary to remove from the screening
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/submit:
    put:
      tags:
      - Screening
      summary: Submit Screening
      description: Submit a screening for processing. Submitting a screening is an idempotent operation. Once a screening has been submitted and entered the PENDING state, submitting it again will have no further effect. <br/> If the screening as configured at submission fails validation, the server will return HTTP status 422 (Unprocessable Entity) and the screening will not enter the PENDING state until the configuration is updated and the screening is submitted again.
      operationId: submit_screening_screenings__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/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/cancel:
    put:
      tags:
      - Screening
      summary: Cancel Screening
      description: Cancel a screening which has the status RUNNING, causing the screening operation to be abandoned and the job to enter the CANCELED status.
      operationId: cancel_screening_screenings__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/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/archive:
    put:
      tags:
      - Screening
      summary: Archive Screening
      description: Mark a screening as archived.
      operationId: archive_screening_screenings__id__archive_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/ScreeningRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/conjunctions:
    get:
      tags:
      - Screening
      summary: List Screening Conjunctions
      description: List the conjunctions which the screening generated.
      operationId: list_screening_conjunctions_screenings__id__conjunctions_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - 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: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_ConjunctionRead_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/conjunctions/{conjunction_id}:
    get:
      tags:
      - Screening
      summary: Get Screening Conjunction
      description: Retrieve metadata about a single screening conjunction.
      operationId: get_screening_conjunction_screenings__id__conjunctions__conjunction_id__get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: conjunction_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Conjunction Id
      - name: fields
        in: query
        required: false
        schema:
          type: string
          title: Fields
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConjunctionRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/catalogs/{catalog_id}/ephemerides:
    get:
      tags:
      - Screening
      summary: List Ephemerides In Catalog By Screening
      description: List the ephemerides available in the catalog and their relationship to the screening, if any.
      operationId: list_ephemerides_in_catalog_by_screening_screenings__id__catalogs__catalog_id__ephemerides_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Catalog Id
      - 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:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_EphemerisMetadataScreeningRead_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/catalogs/{catalog_id}:
    get:
      tags:
      - Screening
      summary: Get Catalog By Screening
      description: Get the catalog and its ephemerides' relationships to the screening, if any.
      operationId: get_catalog_by_screening_screenings__id__catalogs__catalog_id__get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: catalog_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Catalog Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogScreeningPreviewRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/catalogs:
    get:
      tags:
      - Screening
      summary: List Catalogs By Screening
      description: List the available in the catalog and their ephemerides' relationships to the screening, if any. If using the `latest` parameter, return only the latest catalog available for each individual catalog type available. Pagination parameters are ignored when using the `latest` parameter. Additionally, archived and unready catalogs are not returned when using the `latest` parameter.
      operationId: list_catalogs_by_screening_screenings__id__catalogs_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Id
      - name: latest
        in: query
        required: false
        schema:
          type: boolean
          description: Whether to retrieve only the latest catalog for each applicable catalog_type.
          default: false
          title: Latest
        description: Whether to retrieve only the latest catalog for each applicable catalog_type.
      - 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:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffsetPageResult_CatalogScreeningPreviewRead_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /screenings/{id}/results/ccsds:
    get:
      tags:
      - Screening
      summary: Get Screening Results Ccsds List
      description: Retrieve screening conjunction results as a list of serialized JSON objects in CCSDS format.
      operationId: get_screening_results_ccsds_list_screenings__id__results_ccsds_get
      security:
      - Oauth2Scheme: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          description: ID of the screening to get results for
          title: Id
        description: ID of the screening to get results for
      - 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/SortDirecti

# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kayhan-space/refs/heads/main/openapi/kayhan-space-screening-api-openapi.yml