Kayhan Space Conjunction API
The Conjunction API from Kayhan Space — 8 operation(s) for conjunction.
The Conjunction API from Kayhan Space — 8 operation(s) for conjunction.
openapi: 3.1.0
info:
title: Satcat Service Authentication Conjunction 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: Conjunction
paths:
/conjunction_messages:
get:
tags:
- Conjunction
summary: List Conjunction Messages
description: List the conjunction messages to which the currently authenticated user has read access.
operationId: list_conjunction_messages_conjunction_messages_get
security:
- Oauth2Scheme: []
parameters:
- name: latest_for
in: query
required: false
schema:
type: string
description: key or cdm_id of conjunction message to get latest data for
title: Latest For
description: key or cdm_id of conjunction message to get latest data for
- name: history_for
in: query
required: false
schema:
type: string
description: key or cdm_id of conjunction message to get history data for
title: History For
description: key or cdm_id of conjunction message to get history data for
- name: operational
in: query
required: false
schema:
type: boolean
description: Whether to include only CDMs with designation 'OPERATIONAL' in the result; defaults to true
default: true
title: Operational
description: Whether to include only CDMs with designation 'OPERATIONAL' in the result; defaults to true
- 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: creation_date
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_ConjunctionListRead_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Conjunction
summary: Upload Cdms
description: Upload one or more CDMs as a Super Admin.
operationId: upload_cdms_conjunction_messages_post
security:
- Oauth2Scheme: []
parameters:
- name: group_slug
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Group Slug
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_upload_cdms_conjunction_messages_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConjunctionRead'
title: Response Upload Cdms Conjunction Messages Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/conjunction_messages/ccsds:
get:
tags:
- Conjunction
summary: List Conjunction Messages
description: List the conjunction messages to which the currently authenticated user has read access in CCSDS format.
operationId: list_conjunction_messages_conjunction_messages_ccsds_get
security:
- Oauth2Scheme: []
parameters:
- name: latest_for
in: query
required: false
schema:
type: string
description: key or cdm_id of conjunction message to get latest data for
title: Latest For
description: key or cdm_id of conjunction message to get latest data for
- name: history_for
in: query
required: false
schema:
type: string
description: key or cdm_id of conjunction message to get history data for
title: History For
description: key or cdm_id of conjunction message to get history data for
- name: operational
in: query
required: false
schema:
type: boolean
description: Whether to include only CDMs with designation 'OPERATIONAL' in the result; defaults to true
default: true
title: Operational
description: Whether to include only CDMs with designation 'OPERATIONAL' in the result; defaults to true
- 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: creation_date
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'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/events:
get:
tags:
- Conjunction
summary: List Events
description: List the events to which the currently authenticated user has read access.
operationId: list_events_events_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_EventRead_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/events/{event_key}/ccsds_cdm:
post:
tags:
- Conjunction
summary: Add Cdm To Event
description: Add a CCSDS JSON CDM to an event. The CDM must have the same primary and secondary objects as the associated event. Returns the created conjunction.
operationId: add_cdm_to_event_events__event_key__ccsds_cdm_post
security:
- Oauth2Scheme: []
parameters:
- name: event_key
in: path
required: true
schema:
type: string
description: key of the event to add the CDM to
title: Event Key
description: key of the event to add the CDM to
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_add_cdm_to_event_events__event_key__ccsds_cdm_post'
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'
/conjunction_messages/{cdm_id}/file:
get:
tags:
- Conjunction
summary: Get Cdm File
description: Retrieve raw conjunction messages with given key or cdm_id.
operationId: get_cdm_file_conjunction_messages__cdm_id__file_get
security:
- Oauth2Scheme: []
parameters:
- name: cdm_id
in: path
required: true
schema:
type: string
description: key or cdm_id of conjunction message
title: Cdm Id
description: key or cdm_id of conjunction message
- name: updated
in: query
required: false
schema:
type: boolean
default: false
title: Updated
- name: file_format
in: query
required: false
schema:
$ref: '#/components/schemas/CDMWriteFormat'
default: JSON
responses:
'200':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/conjunction_messages/{cdm_id}:
get:
tags:
- Conjunction
summary: Get Conjunction Message By Id
description: Retrieve all conjunction messages with given key, cdm_id (18th SDS), or Satcat UUID.
operationId: get_conjunction_message_by_id_conjunction_messages__cdm_id__get
security:
- Oauth2Scheme: []
parameters:
- name: cdm_id
in: path
required: true
schema:
type: string
description: key, cdm_id, or uuid of conjunction message
title: Cdm Id
description: key, cdm_id, or uuid of conjunction message
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'
/conjunction_messages/{cdm_id}/ccsds:
get:
tags:
- Conjunction
summary: Get Conjunction Message By Id
description: Retrieve conjunction message with given key or cdm_id in CCSDS format.
operationId: get_conjunction_message_by_id_conjunction_messages__cdm_id__ccsds_get
security:
- Oauth2Scheme: []
parameters:
- name: cdm_id
in: path
required: true
schema:
type: string
description: key or cdm_id of conjunction message
title: Cdm Id
description: key or cdm_id of conjunction message
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Get Conjunction Message By Id Conjunction Messages Cdm Id Ccsds Get
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/conjunction_messages/{cdm_id}/pc_remediation:
post:
tags:
- Conjunction
summary: Request Pc Remediation
description: Manually request remediation of a CDM's collision probability value. Returns the updated conjunction message in CCSDS JSON format.
operationId: request_pc_remediation_conjunction_messages__cdm_id__pc_remediation_post
security:
- Oauth2Scheme: []
parameters:
- name: cdm_id
in: path
required: true
schema:
type: string
description: key or cdm_id of conjunction message
title: Cdm Id
description: key or cdm_id of conjunction message
- name: method
in: query
required: false
schema:
$ref: '#/components/schemas/PCRemediationMethod'
default: hall
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: object
additionalProperties: true
title: Response Request Pc Remediation Conjunction Messages Cdm Id Pc Remediation Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
EventRead:
properties:
id:
type: string
format: uuid
title: Id
key:
type: string
title: Key
created_at:
type: string
format: date-time
title: Created At
updated_at:
type: string
format: date-time
title: Updated At
tca_range_start:
type: string
format: date-time
title: Tca Range Start
tca_range_end:
type: string
format: date-time
title: Tca Range End
auto_intent_enabled:
type: boolean
title: Auto Intent Enabled
default_cdm:
$ref: '#/components/schemas/ConjunctionRead'
type: object
required:
- id
- key
- created_at
- updated_at
- tca_range_start
- tca_range_end
- auto_intent_enabled
- default_cdm
title: EventRead
SortDirection:
type: string
enum:
- asc
- desc
title: SortDirection
Body_add_cdm_to_event_events__event_key__ccsds_cdm_post:
properties:
cdm_file:
type: string
contentMediaType: application/octet-stream
title: Cdm File
description: the CCSDS JSON CDM file to be added to the event
type: object
required:
- cdm_file
title: Body_add_cdm_to_event_events__event_key__ccsds_cdm_post
ConjunctionRead:
properties:
id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Id
key:
anyOf:
- type: string
- type: 'null'
title: Key
event_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Event Id
event:
anyOf:
- $ref: '#/components/schemas/EventReadSimple'
- type: 'null'
created_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created At
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
designation:
$ref: '#/components/schemas/satcat__schemas__common__Designation'
cdm_id:
anyOf:
- type: integer
- type: 'null'
title: Cdm Id
key_number:
type: integer
title: Key Number
filename:
anyOf:
- type: string
- type: 'null'
title: Filename
insert_epoch:
type: string
format: date-time
title: Insert Epoch
creation_date:
type: string
format: date-time
title: Creation Date
originator:
anyOf:
- type: string
- type: 'null'
title: Originator
tca:
type: string
format: date-time
title: Tca
miss_distance_km:
type: number
title: Miss Distance Km
relative_velocity_mag_km_s:
type: number
title: Relative Velocity Mag Km S
relative_position_r_km:
type: number
title: Relative Position R Km
relative_position_i_km:
type: number
title: Relative Position I Km
relative_position_c_km:
type: number
title: Relative Position C Km
relative_velocity_r_km_s:
type: number
title: Relative Velocity R Km S
relative_velocity_i_km_s:
type: number
title: Relative Velocity I Km S
relative_velocity_c_km_s:
type: number
title: Relative Velocity C Km S
comment_screening_option:
anyOf:
- type: string
- type: 'null'
title: Comment Screening Option
collision_probability:
anyOf:
- type: number
- type: 'null'
title: Collision Probability
collision_probability_method:
anyOf:
- type: string
- type: 'null'
title: Collision Probability Method
frisbee_collision_probability:
anyOf:
- type: number
- type: 'null'
title: Frisbee Collision Probability
frisbee_collision_probability_method:
anyOf:
- type: string
- type: 'null'
title: Frisbee Collision Probability Method
original_collision_probability:
anyOf:
- type: number
- type: 'null'
title: Original Collision Probability
original_collision_probability_method:
anyOf:
- type: string
- type: 'null'
title: Original Collision Probability Method
primary_rso_id:
type: string
format: uuid
title: Primary Rso Id
secondary_rso_id:
type: string
format: uuid
title: Secondary Rso Id
angle_of_approach:
anyOf:
- type: number
- type: 'null'
title: Angle Of Approach
mahalanobis_distance:
anyOf:
- type: number
- type: 'null'
title: Mahalanobis Distance
relative_miss_sig_m:
anyOf:
- type: number
- type: 'null'
title: Relative Miss Sig M
relative_sig_r_u_m:
anyOf:
- type: number
- type: 'null'
title: Relative Sig R U M
relative_sig_it_u_m:
anyOf:
- type: number
- type: 'null'
title: Relative Sig It U M
relative_sig_ct_u_m:
anyOf:
- type: number
- type: 'null'
title: Relative Sig Ct U M
primary:
anyOf:
- $ref: '#/components/schemas/RSODetailedMetadataRead'
- type: 'null'
secondary:
anyOf:
- $ref: '#/components/schemas/RSODetailedMetadataRead'
- type: 'null'
is_intra_org:
type: boolean
title: Is Intra Org
recommendation_jsonb:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Recommendation Jsonb
primary_state:
anyOf:
- $ref: '#/components/schemas/SpacecraftConjunctionStateRead'
- type: 'null'
secondary_state:
anyOf:
- $ref: '#/components/schemas/SpacecraftConjunctionStateRead'
- type: 'null'
type: object
required:
- designation
- key_number
- insert_epoch
- creation_date
- tca
- miss_distance_km
- relative_velocity_mag_km_s
- relative_position_r_km
- relative_position_i_km
- relative_position_c_km
- relative_velocity_r_km_s
- relative_velocity_i_km_s
- relative_velocity_c_km_s
- primary_rso_id
- secondary_rso_id
- is_intra_org
title: ConjunctionRead
OffsetPageResult_ConjunctionListRead_:
properties:
pagination:
$ref: '#/components/schemas/OffsetPagination'
items:
items:
$ref: '#/components/schemas/ConjunctionListRead'
type: array
title: Items
total_count:
type: integer
title: Total Count
type: object
required:
- pagination
- items
- total_count
title: OffsetPageResult[ConjunctionListRead]
RSOMetadataRead:
properties:
norad_id:
anyOf:
- type: integer
- type: 'null'
title: Norad Id
country:
anyOf:
- type: string
- type: 'null'
title: Country
satname:
anyOf:
- type: string
- type: 'null'
title: Satname
type: object
title: RSOMetadataRead
OffsetPageResult_EventRead_:
properties:
pagination:
$ref: '#/components/schemas/OffsetPagination'
items:
items:
$ref: '#/components/schemas/EventRead'
type: array
title: Items
total_count:
type: integer
title: Total Count
type: object
required:
- pagination
- items
- total_count
title: OffsetPageResult[EventRead]
RSODetailedMetadataRead:
properties:
id:
type: string
format: uuid
title: Id
norad_id:
anyOf:
- type: integer
- type: 'null'
title: Norad Id
international_designator:
anyOf:
- type: string
- type: 'null'
title: International Designator
object_type:
anyOf:
- type: string
- type: 'null'
title: Object Type
object_type_category:
anyOf:
- type: string
- type: 'null'
title: Object Type Category
object_name:
anyOf:
- type: string
- type: 'null'
title: Object Name
rso_metadata:
anyOf:
- $ref: '#/components/schemas/RSOMetadataRead'
- type: 'null'
type: object
required:
- id
title: RSODetailedMetadataRead
CDMWriteFormat:
type: string
enum:
- JSON
- KVN
title: CDMWriteFormat
SpacecraftConjunctionStateRead:
properties:
id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Id
created_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created At
comment_screening_data_source:
anyOf:
- type: string
- type: 'null'
title: Comment Screening Data Source
ephemeris_name:
anyOf:
- type: string
- type: 'null'
title: Ephemeris Name
covariance_method:
anyOf:
- type: string
- type: 'null'
title: Covariance Method
ref_frame:
anyOf:
- type: string
- type: 'null'
title: Ref Frame
gravity_model:
anyOf:
- type: string
- type: 'null'
title: Gravity Model
atmospheric_model:
anyOf:
- type: string
- type: 'null'
title: Atmospheric Model
n_body_perturbations:
anyOf:
- type: string
- type: 'null'
title: N Body Perturbations
solar_rad_pressure:
anyOf:
- type: string
- type: 'null'
title: Solar Rad Pressure
earth_tides:
anyOf:
- type: string
- type: 'null'
title: Earth Tides
intrack_thrust:
anyOf:
- type: string
- type: 'null'
title: Intrack Thrust
comment_covariance_scale_factor:
anyOf:
- type: string
- type: 'null'
title: Comment Covariance Scale Factor
comment_exclusion_volume_radius:
anyOf:
- type: string
- type: 'null'
title: Comment Exclusion Volume Radius
hbr_m:
anyOf:
- type: number
- type: 'null'
title: Hbr M
time_lastob_start:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Time Lastob Start
time_lastob_end:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Time Lastob End
recommended_od_span:
anyOf:
- type: number
- type: 'null'
title: Recommended Od Span
actual_od_span:
anyOf:
- type: number
- type: 'null'
title: Actual Od Span
obs_available:
anyOf:
- type: integer
- type: 'null'
title: Obs Available
obs_used:
anyOf:
- type: integer
- type: 'null'
title: Obs Used
tracks_available:
anyOf:
- type: integer
- type: 'null'
title: Tracks Available
tracks_used:
anyOf:
- type: integer
- type: 'null'
title: Tracks Used
residuals_accepted:
anyOf:
- type: integer
- type: 'null'
title: Residuals Accepted
weighted_rms:
anyOf:
- type: number
- type: 'null'
title: Weighted Rms
od_quality_rating:
anyOf:
- additionalProperties:
additionalProperties: true
type: object
type: object
- type: 'null'
title: Od Quality Rating
comment_apogee:
anyOf:
- type: string
- type: 'null'
title: Comment Apogee
comment_perigee:
anyOf:
- type: string
- type: 'null'
title: Comment Perigee
comment_inclination:
anyOf:
- type: string
- type: 'null'
title: Comment Inclination
comment_operator_hard_body_radius:
anyOf:
- type: string
- type: 'null'
title: Comment Operator Hard Body Radius
area_pc:
anyOf:
- type: number
- type: 'null'
title: Area Pc
cd_area_over_mass:
anyOf:
- type: number
- type: 'null'
title: Cd Area Over Mass
cr_area_over_mass:
anyOf:
- type: number
- type: 'null'
title: Cr Area Over Mass
thrust_acceleration_m:
anyOf:
- type: number
- type: 'null'
title: Thrust Acceleration M
sedr:
anyOf:
- type: number
- type: 'null'
title: Sedr
x_km:
type: number
title: X Km
y_km:
type: number
title: Y Km
z_km:
type: number
title: Z Km
x_dot_km:
type: number
title: X Dot Km
y_dot_km:
type: number
title: Y Dot Km
z_dot_km:
type: number
title: Z Dot Km
comment_dcp_density_forecast_uncertainty:
anyOf:
- type: string
- type: 'null'
title: Comment Dcp Density Forecast Uncertainty
comment_dcp_sensitivity_vector_position:
anyOf:
- type: string
- type: 'null'
title: Comment Dcp Sensitivity Vector Position
comment_dcp_sensitivity_vector_velocity:
anyOf:
- type: string
- type: 'null'
title: Comment Dcp Sensitivity Vector Velocity
cr_r:
anyOf:
- type: number
- type: 'null'
title: Cr R
ct_r:
anyOf:
- type: number
- type: 'null'
title: Ct R
ct_t:
anyOf:
- type: number
- type: 'null'
title: Ct T
cn_r:
anyOf:
- type: number
- type: 'null'
title: Cn R
cn_t:
anyOf:
- type: number
- type: 'null'
title: Cn T
cn_n:
anyOf:
- type: number
- type: 'null'
title: Cn N
crdot_r:
anyOf:
- type: number
- type: 'null'
title: Crdot R
crdot_t:
anyOf:
- type: number
- type: 'null'
title: Crdot T
crdot_n:
anyOf:
- type: number
- type: 'null'
title: Crdot N
crdot_rdot:
anyOf:
- type: number
- type: 'null'
title: Crdot Rdot
ctdot_r:
anyOf:
- type: number
- type: 'null'
title: Ctdot R
ctdot_t:
anyOf:
- type: number
- type: 'null'
title: Ctdot T
ctdot_n:
anyOf:
- type: number
- type: 'null'
title: Ctdot N
ctdot_rdot:
anyOf:
- type: number
- type: 'null'
title: Ctdot Rdot
ctdot_tdot:
anyOf:
- type: number
- type: 'null'
title: Ctdot Tdot
cndot_r:
anyOf:
- type: number
- type: 'null'
title: Cndot R
cndot_t:
anyOf:
- type: number
- type: 'null'
title: Cndot T
cndot_n:
anyOf:
- type: number
- type: 'null'
title: Cndot N
cndot_rdot:
anyOf:
- type: number
- type: 'null'
title: Cndot Rdot
cndot_tdot:
anyOf:
- type: number
- type: 'null'
title: Cndot Tdot
cndot_ndot:
anyOf:
- type: number
- type: 'null'
title: Cndot Ndot
cdrg_r:
anyOf:
- type: number
- type: 'null'
title: Cdrg R
cdrg_t:
anyOf:
- type: number
- type: 'null'
title: Cdrg T
cdrg_n:
anyOf:
- type: number
- type: 'null'
title: Cdrg N
cdrg_rdot:
anyOf:
- type: number
- type: 'null'
title: Cdrg Rdot
cdrg_tdot:
anyOf:
- type: number
- type: 'null'
title: Cdrg Tdot
cdrg_ndot:
anyOf:
- type: number
- type: 'null'
title: Cdrg Ndot
cdrg_drg:
anyOf:
- type: number
- type: 'null'
title: Cdrg Drg
csrp_r:
anyOf:
- type:
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kayhan-space/refs/heads/main/openapi/kayhan-space-conjunction-api-openapi.yml