---
title: "POST /udl/ephemerisset"
method: POST
path: "/udl/ephemerisset"
tags: ["Ephemeris"]
---

# POST /udl/ephemerisset

`POST /udl/ephemerisset`

## Request

- Base URL: `https://unifieddatalibrary.com`
- URL: `https://unifieddatalibrary.com/udl/ephemerisset`
- Auth: none declared

Service operation intended for initial integration only. Takes a single EphemerisSet as a POST body and ingest into the database. This operation does not persist any Ephemeris Points that may be present in the body of the request. This operation is not intended to be used for automated feeds into UDL.A specific role is required to perform this service operation. Please contact the UDL team for assistance.
</br>
The following rules apply to this operation:
<h3>
 * Ephemeris Set numPoints value must correspond exactly to the number of Ephemeris states associated with that Ephemeris Set.  The numPoints value is checked against the actual posted number of states and mismatch will result in the post being rejected.
 * Ephemeris Set pointStartTime and pointEndTime must correspond to the earliest and latest state times, respectively, of the associated Ephemeris states.
 * Either satNo, idOnOrbit, or origObjectId must be provided. The preferred option is to post with satNo for a cataloged object, and with (only) origObjectId for an unknown, uncataloged, or internal/test object. There are several cases for the logic associated with these fields:
   + If satNo is provided and correlates to a known UDL sat number then the idOnOrbit will be populated appropriately in addition to the satNo.
   + If satNo is provided and does not correlate to a known UDL sat number then the provided satNo value will be moved to the origObjectId field and satNo left null.
   + If origObjectId and a valid satNo or idOnOrbit are provided then both the satNo/idOnOrbit and origObjectId will maintain the provided values.
   + If only origObjectId is provided then origObjectId will be populated with the posted value. In this case, no checks are made against existing UDL sat numbers.
</h3>

## Request body

- EphemerisSetIngest: EphemerisSet represents a wrapper or collection of Ephemeris 'points' and meta data indicating the specifics of the propagation of an on-orbit object. Ephemeris is typically distributed in a flat file containing details of the ephemeris generation as well as a large collection of individual points at varying time steps. EphemerisSet is analogous to this flat file.
  - `id` string: Unique identifier of the record, auto-generated by the system.
  - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
  - `idOnOrbit` string: Unique identifier of the primary satellite on-orbit object.
  - `origObjectId` string: Optional identifier provided by ephemeris source to indicate the target object of this ephemeris. This may be an internal identifier and not necessarily map to a valid satellite number.
  - `pointStartTime` string, date-time, required: Start time/first time point of the ephemeris, in ISO 8601 UTC format.
  - `usableStartTime` string, date-time: Optional start time of the usable time span for the ephemeris data, in ISO 8601 UTC format with microsecond precision.
  - `pointEndTime` string, date-time, required: End time/last time point of the ephemeris, in ISO 8601 UTC format.
  - `usableEndTime` string, date-time: Optional end time of the usable time span for the ephemeris data, in ISO 8601 UTC format with microsecond precision.
  - `stepSize` integer: Ephemeris step size, in seconds.
  - `numPoints` integer, required: Number of points contained in the ephemeris.
  - `type` string, required: The type/purpose of the ephemeris (e.g., CALIBRATION, LAUNCH, MNVR_PLAN, ROUTINE, SCREENING).
  - `pedigree` string: The pedigree of the ephemeris or source data used for ephemeris generation (e.g. DOPPLER, GPS, HYBRID, PROPAGATED, RANGING, SLR).
  - `category` string, required: The source category of the ephemeris (e.g. OWNER_OPERATOR, ANALYST, EXTERNAL).
  - `idStateVector` string: ID of the State Vector used to generate the ephemeris.
  - `hasMnvr` boolean: Boolean indicating whether maneuver(s) are incorporated into the ephemeris.
  - `idManeuvers` string[]: Array of the maneuver IDs of all maneuvers incorporated in the ephemeris.
  - `hasCov` boolean: Boolean indicating whether covariance data is provided with the ephemeris.
  - `hasAccel` boolean: Boolean indicating whether acceleration data is provided with the ephemeris.
  - `centBody` string: The Central Body of the ephemeris. Assumed to be Earth, unless otherwise indicated.
  - `integrator` string: Integrator used in ephemeris generation (e.g. RK7(8), RK8(9), COWELL, TWO-BODY).
  - `geopotentialModel` string: Geopotential model used in ephemeris generation (e.g. EGM-96, WGS-84, WGS-72, JGM-2, GEM-T3), including mm degree zonals, nn degree/order tesserals (e.g. EGM-96 24Z,24T).
  - `dragModel` string: Drag model used in ephemeris generation (e.g. JAC70, MSIS90, NONE, etc.).
  - `lunarSolar` boolean: Boolean indicating use of lunar/solar data in ephemeris generation.
  - `solidEarthTides` boolean: Boolean indicating use of solid earth tide data in ephemeris generation.
  - `bDot` number, double: First derivative of ballistic coefficient (m^2/kg-s).
  - `edr` number, double: Model parameter value for energy dissipation rate (EDR), expressed in w/kg.
  - `interpolation` string: The recommended interpolation method for the ephemeris data.
  - `interpolationDegree` integer: The recommended interpolation degree for the ephemeris data.
  - `filename` string: Filename of the raw file used to provide the ephemeris data including filetype extension, if applicable. This file may be retrieved using the 'getFile' operation as specified in the 'EphemerisSet' OpenAPI docs.
  - `comments` string: Additional source provided comments associated with the ephemeris.
  - `description` string: Notes/description of the provided ephemeris. A value of DSTOP signifies the ephemeris were generated using the last observation available.
  - `descriptor` string: Optional source-provided and searchable metadata or descriptor of the data.
  - `referenceFrame` 'J2000' | 'EFG/TDR' | 'ECR/ECEF' | 'TEME' | 'ITRF' | 'GCRF': The reference frame of the cartesian orbital states. If the referenceFrame is null it is assumed to be J2000.
  - `covReferenceFrame` 'J2000' | 'UVW' | 'EFG/TDR' | 'ECR/ECEF' | 'TEME' | 'GCRF': The reference frame of the covariance matrix elements. If the covReferenceFrame is null it is assumed to be J2000.
  - `createdAt` string, date-time: Time the row was created in the database, in UTC.
  - `createdBy` string: Application user who created the row in the database.
  - `source` string, required: Source of the data.
  - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
  - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
  - `satNo` integer: Satellite/catalog number of the target on-orbit object.
  - `ephemerisList` EphemerisIngest[]: The list of ephemeris states belonging to the EphemerisSet. Each ephemeris point is associated with a parent Ephemeris Set via the EphemerisSet ID (esId).
    - `id` string: Unique identifier of the record, auto-generated by the system.
    - `classificationMarking` string, required: Classification marking of the data in IC/CAPCO Portion-marked format.
    - `esId` string: Unique identifier of the parent EphemerisSet, auto-generated by the system. The esId (ephemerisSet id) is used to identify all individual ephemeris states associated with a parent ephemerisSet.
    - `ts` string, date-time, required: Time associated with the Ephemeris Point, in ISO8601 UTC format.
    - `xpos` number, double, required: Cartesian X position of target, in km, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `ypos` number, double, required: Cartesian Y position of target, in km, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `zpos` number, double, required: Cartesian Z position of target, in km, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `xvel` number, double, required: Cartesian X velocity of target, in km/sec, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `yvel` number, double, required: Cartesian Y velocity of target, in km/sec, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `zvel` number, double, required: Cartesian Z velocity of target, in km/sec, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `xaccel` number, double: Cartesian X acceleration of target, in km/sec^2, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `yaccel` number, double: Cartesian Y acceleration of target, in km/sec^2, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `zaccel` number, double: Cartesian Z acceleration of target, in km/sec^2, in the specified EphemerisSet referenceFrame. If referenceFrame is null then J2K should be assumed.
    - `cov` number[]: Covariance matrix, in kilometer and second based units, in the specified Ephemeris Set covReferenceFrame. If the covReferenceFrame from the EphemerisSet table is null it is assumed to be J2000. The array values represent the lower triangular half of the position-velocity covariance matrix. The size of the covariance matrix is dynamic, depending on whether the covariance for position only or position & velocity. The covariance elements are position dependent within the array with values ordered as follows: ``` x y z x' y' z' x 1 y 2 3 z 4 5 6 x' 7 8 9 10 y' 11 12 13 14 15 z' 16 17 18 19 20 21 ``` The array containing the covariance matrix elements will be of length 6 for position only covariance, or length 21 for position-velocity covariance. The cov array should contain only the lower left triangle values from top left down to bottom right, in order.
    - `createdAt` string, date-time: Time the row was created in the database, auto-populated by the system.
    - `createdBy` string: Application user who created the row in the database, auto-populated by the system.
    - `source` string, required: Source of the data.
    - `dataMode` 'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE', required: Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data: REAL: Data collected or produced that pertains to real-world objects, events, and analysis. TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics. EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data. SIMULATED: Synthetic data generated by a model to mimic real-world datasets.
    - `idOnOrbit` string: Unique identifier of the on-orbit satellite object.
    - `origObjectId` string: Optional identifier provided by ephemeris source to indicate the target object of this ephemeris. This may be an internal identifier and not necessarily map to a valid satellite number.
    - `origin` string: Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.
  - `tags` string[]: Optional array of provider/source specific tags for this data, where each element is no longer than 32 characters, used for implementing data owner conditional access controls to restrict access to the data. Should be left null by data providers unless conditional access controls are coordinated with the UDL team.
  - `transactionId` string: Optional identifier to track a commercial or marketplace transaction executed to produce this data.
  - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.

## Response `201`

Success

## Other responses

- `400`: Bad Request
- `401`: Invalid/Missing User Credentials
- `403`: User Is Not Authorized
- `405`: Method Not Allowed
- `415`: MediaType Unsupported
- `429`: Rate of Requests Exceeds Allowed Limit
- `500`: Internal Server Error

## Changes

> 12 revisions in range; 1 could not be searched.

- **2025-10-23** `09bd422d5ac1`: 1 info
  - added the new `ECR/ECEF` enum value to the request property `covReferenceFrame`
- **2025-05-29** `4e1cbc17e814`: 3 info
  - added the new `EFG/TDR` enum value to the request property `covReferenceFrame`
  - added the new `GCRF` enum value to the request property `covReferenceFrame`
  - added the new `TEME` enum value to the request property `covReferenceFrame`
- **2025-04-16** `75f764c843a9`: 1 breaking, 2 info
  - the `stepSize` request property format changed from `int32` to `int16`
  - api operation id `create_43` removed and replaced with ``
  - the endpoint scheme security `BasicAuth` was removed from the API

[Operation history](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/changes/udl/ephemerisset/post.md)

---

[API](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api.md) - [All operations](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/revisions/bd17bc53681e?raw)
