---
title: "POST /filedrop/udl-sensorplan"
method: POST
path: "/filedrop/udl-sensorplan"
tags: ["Sensor Tasking"]
---

# POST /filedrop/udl-sensorplan

`POST /filedrop/udl-sensorplan`

## Request

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

Service operation to take one or more sensorplan record(s) as a POST body and ingest into the database. This operation is 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.

## Request body

- SensorPlanIngest[]
  - `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.
  - `type` string, required: The type of this sensor plan/schedule (PLAN, REQUEST, SCHEDULE).
  - `recType` string, required: The type of records that comprise this parent set (COLLECT, CONTACT).
  - `startTime` string, date-time, required: The start time of the plan or schedule, in ISO 8601 UTC format.
  - `endTime` string, date-time: The end time of the plan or schedule, in ISO 8601 UTC format.
  - `name` string: Name associated with this plan or schedule.
  - `idSensor` string: Unique identifier of the requested/schedule/planned sensor associated with this request.
  - `origSensorId` string: Optional identifier provided by the source to indicate the sensor identifier requested/scheduled/planned for this request. This may be an internal identifier and not necessarily a valid sensor ID.
  - `purpose` string: The purpose/description of this plan or schedule.
  - `senNetwork` string: The sensor or ground network associated with this plan or schedule.
  - `reqTotal` integer: The total number of requests contained in this plan or schedule. Value of this field must match the size of collectRequest list if the list is provided and can be null or any value otherwise.
  - `customer` string: The customer for this plan or schedule.
  - `status` string: The status of this plan or schedule (ACCEPTED, APPROVED, COMPLETED, PROPOSED, REJECTED, REQUESTED, SCHEDULED).
  - `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.
  - `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.
  - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
  - `collectRequests` object[]: The list of collect requests belonging to the SensorPlan. Each collect request is associated with a parent SensorPlan via the IdPlan. If provided, the list must have the same size as reqTotal.
    - `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.
    - `idParentReq` string: The unique ID of the collect request record from which this request originated. This may be used for cases of sensor-to-sensor tasking, such as tip/cue operations.
    - `msgType` string: The type of external message from which this request originated.
    - `msgCreateDate` string, date-time: The timestamp of the external message from which this request originated, if applicable, in ISO8601 UTC format with millisecond precision.
    - `type` string, required: The type of this collect or contact request (DIRECTED SEARCH, DWELL, OBJECT, POL, RATE TRACK, SEARCH, SOI, STARE, TTC, VOLUME SEARCH, etc.).
    - `idPlan` string: Unique identifier of the parent plan or schedule associated with this request. If null, this request is assumed not associated with a plan or schedule.
    - `planIndex` integer: Index number (integer) for records within a collection plan or schedule.
    - `taskId` string: Task ID associated with this request. A task ID may be associated with a single collect request or may be used to tie together the sub-requests of a full collect, for example a DWELL consisting of many dwell points.
    - `dwellId` string: The dwell ID associated with this request. A dwell ID is dwell point specific and a DWELL request consist of many dwell point requests.
    - `externalId` string: Optional ID from external systems. This field has no meaning within UDL and is provided as a convenience for systems that require tracking of an internal system generated ID.
    - `idSensor` string: Unique identifier of the requested/scheduled/planned sensor associated with this request. If both idSensor and origSensorId are null then the request is assumed to be a general request for observations or contact on an object, if specified, or an area/volume. In this case, the requester may specify a desired obType.
    - `origSensorId` string: Optional identifier provided by the source to indicate the sensor identifier requested/scheduled/planned for this request. This may be an internal identifier and not necessarily a valid sensor ID. If both idSensor and origSensorId are null then the request is assumed to be a general request for observations or contact on an object, if specified, or an area/volume. In this case, the requester may specify a desired obType.
    - `obType` string: Optional type of observation (EO, IR, RADAR, RF-ACTIVE, RF-PASSIVE, OTHER) requested. This field may correspond to a request of a specific sensor, or to a general non sensor specific request.
    - `priority` string: The priority of the collect request (EMERGENCY, FLASH, IMMEDIATE, PRIORITY, ROUTINE).
    - `taskCategory` integer: The (SSN) tasking category (1-5) associated with this request. The tasking category defines the priority of gathering and transmitting the requested observational data. Note that category definitions are sensor type specific.
    - `suffix` string: The (SSN) tasking suffix (A-Z) associated with this request. The suffix defines the amount of observational data and the frequency of collection. Note that suffix definitions are sensor type specific.
    - `uctFollowUp` boolean: Boolean indicating that this collect request is UCT follow-up.
    - `startTime` string, date-time, required: The start time or earliest time of the collect or contact request window, in ISO 8601 UTC format.
    - `endTime` string, date-time: The end time of the collect or contact request window, in ISO 8601 UTC format. If no endTime or duration is provided it is assumed the request is either ongoing or that the request is for a specified number of tracks (numTracks). If both duration and endTime are provided, the endTime is assumed to take precedence.
    - `idOnOrbit` string: Unique identifier of the target on-orbit object for this request.
    - `satNo` integer: Satellite/catalog number of the target on-orbit object for this request.
    - `origObjectId` string: Optional identifier provided by the data source to indicate the target object of this request. This may be an internal identifier and not necessarily map to a valid satellite number.
    - `taskGroup` string: The tasking group to which the target object is assigned.
    - `iron` integer: Inter-Range Operations Number. Four-digit identifier used to schedule and identify AFSCN contact support for booster, launch, and on-orbit operations.
    - `orbitRegime` string: The orbit regime of the target (GEO, HEO, LAUNCH, LEO, MEO, OTHER).
    - `targetSize` number, double: The minimum object (diameter) size, in meters, to be reported.
    - `rcsMin` number, double: The minimum Radar Cross-Section of the target, in m^2. If only minimum RCS is provided it is assumed to be minimum reportable RCS.
    - `rcs` number, double: The Radar Cross-Section of the target, in m^2.
    - `rcsMax` number, double: The maximum Radar Cross-Section of the target, in m^2.
    - `freqMin` number, double: The minimum frequency of interest, in MHz. If only minimum frequency is provided it is assumed to be minimum reportable frequency.
    - `freq` number, double: The estimated or expected emission frequency of the target, in MHz.
    - `freqMax` number, double: The maximum frequency of interest, in MHz.
    - `polarization` string: The RF polarization (H, LHC, RHC, V).
    - `visMagMin` number, double: The minimum estimated or expected visual magnitude of the target, in Magnitudes (M). If only minimum vismag is provided it is assumed to be minimum reportable vismag.
    - `visMag` number, double: The estimated or expected visual magnitude of the target, in Magnitudes (M).
    - `visMagMax` number, double: The maximum estimated or expected visual magnitude of the target, in Magnitudes (M).
    - `spectralModel` string: The spectral model used for the irradiance calculation.
    - `reflectance` number, double: The fraction of solar energy reflected from target.
    - `irradiance` number, double: The target object irradiance value.
    - `numFrames` integer: For optical sensors, the requested number of frames to capture at each sensor step.
    - `frameRate` number, double: For optical sensors, the frame rate of the camera, in Hz.
    - `integrationTime` number, double: For optical sensors, the integration time per camera frame, in milliseconds.
    - `numTracks` integer: The number of requested tracks on the target. If numTracks is not provided it is assumed to indicate all possible observations every pass over the request duration or within the request start/end window.
    - `numObs` integer: The number of requested observations on the target.
    - `duration` integer: The duration of the collect request, in seconds. If both duration and endTime are provided, the endTime is assumed to take precedence.
    - `srchPattern` string: The search pattern to be executed for this request (e.g. PICKET-FENCE, SCAN, etc.).
    - `scenario` string: Pre-coordinated code, direction, or configuration to be executed by the sensor or site for this collect or contact.
    - `idElset` string: ID of the UDL Elset of the object associated with this request.
    - `idManifold` string: ID of the UDL Manifold Elset of the object associated with this request. A Manifold Elset provides theoretical Keplerian orbital elements belonging to an object of interest's manifold describing a possible/theoretical orbit for an object of interest for tasking purposes.
    - `idStateVector` string: ID of the UDL State Vector of the object or central vector associated with this request.
    - `esId` string: ID of the UDL Ephemeris Set of the object associated with this request.
    - `epoch` string, date-time: Epoch time, in ISO 8601 UTC format, of the orbital elements.
    - `semiMajorAxis` number, double: The average of the periapsis and apoapsis distances, in kilometers. For circular orbits, the semimajor axis is the distance between the centers of the bodies.
    - `eccentricity` number, double: The orbital eccentricity of an astronomical object is a parameter that determines the amount by which its orbit around another body deviates from a perfect circle.
    - `inclination` number, double: The angle, in degrees, between the equator and the orbit plane when looking from the center of the Earth. Inclination ranges from 0-180 degrees, with 0-90 representing posigrade orbits and 90-180 representing retrograde orbits.
    - `raan` number, double: Right ascension of the ascending node, or RAAN is the angle as measured in degrees eastwards (or, as seen from the north, counterclockwise) from the First Point of Aries to the ascending node.
    - `argOfPerigee` number, double: The argument of perigee is the angle, in degrees, formed between the perigee and the ascending node.
    - `trueAnomoly` number, double: The true anomaly defines the angular position, in degrees, of the object on it's orbital path as measured from the orbit focal point at epoch. The true anomaly is referenced from perigee.
    - `ra` number, double: The expected or directed right ascension angle, in degrees, for search or target acquisition.
    - `dec` number, double: The expected or directed declination angle, in degrees, for search or target acquisition.
    - `az` number, double: The expected or directed azimuth angle, in degrees, for search or target acquisition.
    - `el` number, double: The expected or directed elevation angle, in degrees, for search or target acquisition.
    - `range` number, double: The expected acquisition range or defined center range, in km.
    - `extentAz` number, double: The extent of the azimuth angle, in degrees, from center azimuth to define a spatial volume.
    - `extentEl` number, double: The extent of the elevation angle, in degrees, from center elevation to define a spatial volume.
    - `extentRange` number, double: The extent of the range, in km, from center range to define a spatial volume.
    - `lat` number, double: WGS-84 latitude, in degrees. -90 to 90 degrees (negative values south of equator). If an accompanying stopLat is provided, then the lat value can be assumed to be the starting latitude of a volume definition.
    - `lon` number, double: WGS-84 longitude, in degrees. -180 to 180 degrees (negative values west of Prime Meridian). If an accompanying stopLon is provided, then lon value can be assumed to be the starting longitude of a volume definition.
    - `alt` number, double: Height above WGS-84 ellipsoid (HAE), in kilometers. If an accompanying stopAlt is provided, then alt value can be assumed to be the starting altitude of a volume definition.
    - `stopLat` number, double: The stopping WGS-84 latitude of a volume definition, in degrees. -90 to 90 degrees (negative values south of equator). The stopLat value is only meaningful if a (starting) lat value is provided.
    - `stopLon` number, double: The stopping WGS-84 longitude of a volume definition, in degrees. -180 to 180 degrees (negative values west of Prime Meridian). The stopLon value is only meaningful if a (starting) lon value is provided.
    - `stopAlt` number, double: The stopping HAE WGS-84 height above ellipsoid (HAE), of a volume definition, in kilometers. The stopAlt value is only meaningful if a (starting) alt value is provided.
    - `srchInc` number, double: The maximum inclination, in degrees, to be used in search operations.
    - `xAngle` number, double: The angular distance, in degrees, in the sensor-x direction from scan center defined by the central vector. The specification of xAngle and yAngle defines a rectangle of width 2*xAngle and height 2*yAngle centered about the central vector.
    - `yAngle` number, double: The angular distance, in degrees, in the sensor-y direction from scan center defined by the central vector. The specification of xAngle and yAngle defines a rectangle of width 2*xAngle and height 2*yAngle centered about the central vector.
    - `orientAngle` number, double: The magnitude of rotation, in degrees, between the xAngle direction and locally defined equinoctial plane. A positive value indicates clockwise rotation about the sensor boresight vector.
    - `customer` string: The customer for this request.
    - `transactionId` string: Optional identifier to track a commercial or marketplace transaction executed to produce this data.
    - `notes` string: Notes or comments associated with this request.
    - `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.
    - `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.
    - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
    - `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.
    - `stateVector` object: This service provides operations for querying and manipulation of state vectors for OnOrbit objects. State vectors are cartesian vectors of position (r) and velocity (v) that, together with their time (epoch) (t), uniquely determine the trajectory of the orbiting body in space. J2000 is the preferred coordinate frame for all state vector positions/velocities in UDL, but in some cases data may be in another frame depending on the provider and/or datatype. Please see the 'Discover' tab in the storefront to confirm coordinate frames by data provider.
      - `idStateVector` 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.
      - `epoch` string, date-time, required: Time of validity for state vector in ISO 8601 UTC datetime format, with microsecond precision.
      - `pedigree` string: The pedigree of state vector, or methods used for its generation to include state update/orbit determination, propagation from another state, or a state from a calibration satellite (e.g. ORBIT_UPDATE, PROPAGATION, CALIBRATION, CONJUNCTION, FLIGHT_PLAN).
      - `idOnOrbit` string: Unique identifier of the satellite on-orbit object, if correlated. For the public catalog, the idOnOrbit is typically the satellite number as a string, but may be a UUID for analyst or other unknown or untracked satellites.
      - `satNo` integer: Satellite/Catalog number of the target OnOrbit object.
      - `origObjectId` string: Optional identifier provided by state vector source to indicate the target onorbit object of this state vector. This may be an internal identifier and not necessarily map to a valid satellite number.
      - `idOrbitDetermination` string: Unique identifier of the OD solution record that produced this state vector. This ID can be used to obtain additional information on an OrbitDetermination object using the 'get by ID' operation (e.g. /udl/orbitdetermination/{id}). For example, the OrbitDetermination with idOrbitDetermination = abc would be queries as /udl/orbitdetermination/abc.
      - `msgTs` string, date-time: Time when message was generated in ISO 8601 UTC format with microsecond precision.
      - `uct` boolean: Boolean indicating this state vector was unable to be correlated to a known object. This flag should only be set to true by data providers after an attempt to correlate to an OnOrbit object was made and failed. If unable to correlate, the 'origObjectId' field may be populated with an internal data provider specific identifier.
      - `xpos` number, double: Cartesian X position of the target, in kilometers, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `ypos` number, double: Cartesian Y position of the target, in kilometers, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `zpos` number, double: Cartesian Z position of the target, in kilometers, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `xvel` number, double: Cartesian X velocity of target, in kilometers/second, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `yvel` number, double: Cartesian Y velocity of target, in kilometers/second, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `zvel` number, double: Cartesian Z velocity of target, in kilometers/second, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `xaccel` number, double: Cartesian X acceleration of target, in kilometers/second^2, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `yaccel` number, double: Cartesian Y acceleration of target, in kilometers/second^2, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `zaccel` number, double: Cartesian Z acceleration of target, in kilometers/second^2, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed.
      - `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.
      - `cov` number[]: Covariance matrix, in kilometer and second based units, in the specified covReferenceFrame. If the covReferenceFrame is null it is assumed to be J2000. The array values (1-21) 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 cov array should contain only the lower left triangle values from top left down to bottom right, in order. If additional covariance terms are included for DRAG, SRP, and/or THRUST, the matrix can be extended with the following order of elements: ``` x y z x' y' z' DRG SRP THR DRG 22 23 24 25 26 27 28 SRP 29 30 31 32 33 34 35 36 THR 37 38 39 40 41 42 43 44 45 ```
      - `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.
      - `covMethod` string: The method used to generate the covariance during the orbit determination (OD) that produced the state vector, or whether an arbitrary, non-calculated default value was used (CALCULATED, DEFAULT).
      - `eqCov` number[]: The covariance matrix values represent the lower triangular half of the covariance matrix in terms of equinoctial elements. The size of the covariance matrix is dynamic. The values are outputted in order across each row, i.e.: ``` 1 2 3 4 5 6 7 8 9 10 : : : : : : : : : : 51 52 53 54 55 : : : : : : : : : : ``` The ordering of values is as follows: ``` Af Ag L N Chi Psi B BDOT AGOM T C1 C2 ... Af 1 Ag 2 3 L 4 5 6 N 7 8 9 10 Chi 11 12 13 14 15 Psi 16 17 18 19 20 21 B 22 23 24 25 26 27 28 BDOT 29 30 31 32 33 34 35 36 AGOM 37 38 39 40 41 42 43 44 45 T 46 47 48 49 50 51 52 53 54 55 C1 56 57 58 59 60 61 62 63 64 65 66 C2 67 68 69 70 71 72 73 74 75 76 77 78 : : ``` where C1, C2, etc, are the "consider parameters" that may be added to the covariance matrix. The covariance matrix will be as large as the last element/model parameter needed. In other words, if the DC solved for all 6 elements plus AGOM, the covariance matrix will be 9x9 (and the rows for B and BDOT will be all zeros). If the covariance matrix is unavailable, the size will be set to 0x0, and no data will follow. The cov field should contain only the lower left triangle values from top left down to bottom right, in order.
      - `xposAlt1` number, double: Cartesian X position of the target, in kilometers, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `yposAlt1` number, double: Cartesian Y position of the target, in kilometers, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `zposAlt1` number, double: Cartesian Z position of the target, in kilometers, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `xvelAlt1` number, double: Cartesian X velocity of the target, in kilometers/second, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `yvelAlt1` number, double: Cartesian Y velocity of the target, in kilometers/second, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `zvelAlt1` number, double: Cartesian Z velocity of the target, in kilometers/second, in the specified alt1ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `alt1ReferenceFrame` string: The reference frame of the alternate1 (Alt1) cartesian orbital state.
      - `xposAlt2` number, double: Cartesian X position of the target, in kilometers, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `yposAlt2` number, double: Cartesian Y position of the target, in kilometers, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `zposAlt2` number, double: Cartesian Z position of the target, in kilometers, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `xvelAlt2` number, double: Cartesian X velocity of the target, in kilometers/second, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `yvelAlt2` number, double: Cartesian Y velocity of the target, in kilometers/second, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `zvelAlt2` number, double: Cartesian Z velocity of the target, in kilometers/second, in the specified alt2ReferenceFrame. Alternate reference frames are optional and are intended to allow a data source to provide an equivalent vector in a different cartesian frame than the primary vector.
      - `alt2ReferenceFrame` string: The reference frame of the alternate2 (Alt2) cartesian orbital state.
      - `posUnc` number, double: One sigma position uncertainty, in kilometers.
      - `velUnc` number, double: One sigma velocity uncertainty, in kilometers/second.
      - `mass` number, double: The mass of the object, in kilograms.
      - `area` number, double: The actual area of the object at it's largest cross-section, expressed in meters^2.
      - `solarRadPressCoeff` number, double: Area-to-mass ratio coefficient for solar radiation pressure.
      - `dragCoeff` number, double: Area-to-mass ratio coefficient for atmospheric ballistic drag (m2/kg).
      - `dragArea` number, double: The effective area of the object exposed to atmospheric drag, expressed in meters^2.
      - `revNo` integer: Epoch revolution number.
      - `geopotentialModel` string: Geopotential model used for this vector (e.g. EGM-96, WGS-84, WGS-72, JGM-2, or GEM-T3), including mm degree zonals, nn degree/order tesserals. E.g. EGM-96 24Z,24T.
      - `dragModel` string: The Drag Model used for this vector (e.g. HARRIS-PRIESTER, JAC70, JBH09, MSIS90, NONE, etc.).
      - `lunarSolar` boolean: Boolean indicating use of lunar/solar perturbations for this vector.
      - `solarRadPress` boolean: Boolean indicating use of solar radiation pressure perturbations for this vector.
      - `srpArea` number, double: The effective area of the object exposed to solar radiation pressure, expressed in meters^2.
      - `solidEarthTides` boolean: Boolean indicating use of solid earth tide perturbations for this vector.
      - `inTrackThrust` boolean: Boolean indicating use of in-track thrust perturbations for this vector.
      - `bDot` number, double: First derivative of drag/ballistic coefficient (m2/kg-s).
      - `edr` number, double: Model parameter value for energy dissipation rate (EDR) (w/kg).
      - `thrustAccel` number, double: Model parameter value for thrust acceleration (m/s2).
      - `cmOffset` number, double: Model parameter value for center of mass offset (m).
      - `lastObStart` string, date-time: The start of the time interval containing the time of the last accepted observation, in ISO 8601 UTC format with microsecond precision. For an exact observation time, the firstObTime and lastObTime are the same.
      - `lastObEnd` string, date-time: The end of the time interval containing the time of the last accepted observation, in ISO 8601 UTC format with microsecond precision. For an exact observation time, the firstObTime and lastObTime are the same.
      - `obsAvailable` integer: The number of observations available for the OD of the object.
      - `obsUsed` integer: The number of observations accepted for the OD of the object.
      - `tracksAvail` integer: The number of sensor tracks available for the OD of the object.
      - `tracksUsed` integer: The number of sensor tracks accepted for the OD of the object.
      - `recODSpan` number, double: The recommended OD time span calculated for the object, expressed in days.
      - `actualODSpan` number, double: The actual time span used for the OD of the object, expressed in days.
      - `residualsAcc` number, double: The percentage of residuals accepted in the OD of the object.
      - `solarFluxF10` number, double: F10 (10.7 cm) solar flux value.
      - `solarFluxF10Avg` number, double: F10 (10.7 cm) solar flux 81-day average value.
      - `solarFluxAPAvg` number, double: Average solar flux geomagnetic index.
      - `taiUtc` number, double: TAI (Temps Atomique International) minus UTC (Universal Time Coordinates) offset in seconds.
      - `ut1Utc` number, double: Universal Time-1 (UT1) minus UTC offset, in seconds.
      - `ut1Rate` number, double: Rate of change of UT1 (milliseconds/day) - first derivative of ut1Utc.
      - `polarMotionX` number, double: Polar Wander Motion X (arc seconds).
      - `polarMotionY` number, double: Polar Wander Motion Y (arc seconds).
      - `iau1980Terms` integer: Number of terms used in the IAU 1980 nutation model (4, 50, or 106).
      - `leapSecondTime` string, date-time: Time of the next leap second after epoch in ISO 8601 UTC time. If the next leap second is not known, the time of the previous leap second is used.
      - `integratorMode` string: Integrator Mode.
      - `partials` string: Type of partial derivatives used (ANALYTIC, FULL NUM, or FAST NUM).
      - `stepMode` string: Integrator step mode (AUTO, TIME, or S).
      - `fixedStep` boolean: Boolean indicating use of fixed step size for this vector.
      - `stepSizeSelection` string: Initial step size selection (AUTO or MANUAL).
      - `stepSize` number, double: Initial integration step size (seconds).
      - `errorControl` number, double: Integrator error control.
      - `sigmaPosUVW` number[]: Array containing the standard deviation of error in target object position, U, V and W direction respectively (km).
      - `sigmaVelUVW` number[]: Array containing the standard deviation of error in target object velocity, U, V and W direction respectively (km/sec).
      - `rms` number, double: The Weighted Root Mean Squared (RMS) of the differential correction on the target object that produced this vector. WRMS is a quality indicator of the state vector update, with a value of 1.00 being optimal. WRMS applies to Batch Least Squares (BLS) processes.
      - `rawFileURI` string: Optional URI location in the document repository of the raw file parsed by the system to produce this record. To download the raw file, prepend https://udl-hostname/scs/download?id= to this value.
      - `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.
      - `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.
      - `algorithm` string: Optional algorithm used to produce this record.
      - `sourcedData` string[]: Optional array of UDL data (observation) UUIDs used to build this state vector. See the associated sourcedDataTypes array for the specific types of observations for the positionally corresponding UUIDs in this array (the two arrays must match in size).
      - `sourcedDataTypes` string[]: Optional array of UDL observation data types used to build this state vector (e.g. EO, RADAR, RF, DOA). See the associated sourcedData array for the specific UUIDs of observations for the positionally corresponding data types in this array (the two arrays must match in size).
      - `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.
      - `descriptor` string: Optional source-provided and searchable metadata or descriptor of the data.
      - `missionCenter` string: Mission center or organization performing this vector creation.
      - `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.
      - `sourceDL` string: The source data library from which this record was received. This could be a remote or tactical UDL or another data library. If null, the record should be assumed to have originated from the primary Enterprise UDL.
    - `elset` object: An element set is a collection of Keplerian orbital elements describing an orbit of a particular satellite. The data is used along with an orbit propagator in order to predict the motion of a satellite. The element set, or elset for short, consists of identification data, the classical elements and drag parameters.
      - `idElset` 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.
      - `satNo` integer: Satellite/catalog number of the target on-orbit object.
      - `epoch` string, date-time, required: Elset epoch time in ISO 8601 UTC format, with microsecond precision.
      - `meanMotion` number, double: Mean motion is the angular speed required for a body to complete one orbit, assuming constant speed in a circular orbit which completes in the same time as the variable speed, elliptical orbit of the actual body. Measured in revolutions per day.
      - `idOnOrbit` string: Unique identifier of the satellite on-orbit object, if correlated. For the public catalog, the idOnOrbit is typically the satellite number as a string, but may be a UUID for analyst or other unknown or untracked satellites.
      - `uct` boolean: Boolean indicating this Elset was unable to be correlated to a known object. This flag should only be set to true by data providers after an attempt to correlate to an on-orbit object was made and failed. If unable to correlate, the 'origObjectId' field may be populated with an internal data provider specific identifier.
      - `eccentricity` number, double: The orbital eccentricity of an astronomical object is a parameter that determines the amount by which its orbit around another body deviates from a perfect circle. A value of 0 is a circular orbit, values between 0 and 1 form an elliptic orbit, 1 is a parabolic escape orbit, and greater than 1 is a hyperbolic escape orbit.
      - `inclination` number, double: The angle between the equator and the orbit when looking from the center of the Earth. If the orbit went exactly around the equator from left to right, then the inclination would be 0. The inclination ranges from 0 to 180 degrees.
      - `raan` number, double: Right ascension of the ascending node, or RAAN is the angle as measured in degrees eastwards (or, as seen from the north, counterclockwise) from the First Point of Aries to the ascending node, which is where the orbit crosses the equator when traveling north.
      - `argOfPerigee` number, double: The argument of perigee is the angle in degrees formed between the perigee and the ascending node. If the perigee would occur at the ascending node, the argument of perigee would be 0.
      - `meanAnomaly` number, double: Where the satellite is in its orbital path. The mean anomaly ranges from 0 to 360 degrees. The mean anomaly is referenced to the perigee. If the satellite were at the perigee, the mean anomaly would be 0.
      - `revNo` integer: The current revolution number. The value is incremented when a satellite crosses the equator on an ascending pass.
      - `bStar` number, double: The drag term for SGP4 orbital model, used for calculating decay constants for altitude, eccentricity etc, measured in inverse earth radii.
      - `agom` number, double: AGOM, expressed in m^2/kg, is the value of the (averaged) object Area times the solar radiation pressure coefficient(Gamma) over the object Mass. Applicable only with ephemType4.
      - `ballisticCoeff` number, double: Ballistic coefficient, in m^2/kg. Applicable only with ephemType4.
      - `meanMotionDot` number, double: 1st derivative of the mean motion with respect to time. Units are revolutions per day squared.
      - `meanMotionDDot` number, double: 2nd derivative of the mean motion with respect to time. Units are revolutions per day cubed.
      - `semiMajorAxis` number, double: The sum of the periapsis and apoapsis distances divided by two. For circular orbits, the semimajor axis is the distance between the centers of the bodies, not the distance of the bodies from the center of mass. Units are kilometers.
      - `period` number, double: Period of the orbit equal to inverse of mean motion, in minutes.
      - `apogee` number, double: The orbit point furthest from the center of the earth in kilometers. If not provided, apogee will be computed from the TLE according to the following. Using mu, the standard gravitational parameter for the earth (398600.4418), semi-major axis A = (mu/(n * 2 * pi/(24*3600))^2)(1/3). Using semi-major axis A, eccentricity E, apogee = (A * (1 + E)) in km. Note that the calculations are for computing the apogee radius from the center of the earth, to compute apogee altitude the radius of the earth should be subtracted (6378.135 km).
      - `perigee` number, double: The orbit point nearest to the center of the earth in kilometers. If not provided, perigee will be computed from the TLE according to the following. Using mu, the standard gravitational parameter for the earth (398600.4418), semi-major axis A = (mu/(n * 2 * pi/(24*3600))^2)(1/3). Using semi-major axis A, eccentricity E, perigee = (A * (1 - E)) in km. Note that the calculations are for computing the perigee radius from the center of the earth, to compute perigee altitude the radius of the earth should be subtracted (6378.135 km).
      - `origObjectId` string: Optional identifier provided by elset source to indicate the target onorbit object of this elset. This may be an internal identifier and not necessarily map to a valid satellite number.
      - `idOrbitDetermination` string: Unique identifier of the OD solution record that produced this elset. This ID can be used to obtain additional information on an OrbitDetermination object using the 'get by ID' operation (e.g. /udl/orbitdetermination/{id}). For example, the OrbitDetermination with idOrbitDetermination = abc would be queried as /udl/orbitdetermination/abc.
      - `line1` string: Read only derived/generated line1 of a legacy TLE (two line element set) format, ignored on create/edit operations.
      - `line2` string: Read only derived/generated line2 of a legacy TLE (two line element set) format, ignored on create/edit operations.
      - `descriptor` string: Optional source-provided and searchable metadata or descriptor of the data.
      - `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.
      - `rawFileURI` string: Optional URI location in the document repository of the raw file parsed by the system to produce this record. To download the raw file, prepend https://udl-hostname/scs/download?id= to this value.
      - `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.
      - `sourceDL` string: The source data library from which this record was received. This could be a remote or tactical UDL or another data library. If null, the record should be assumed to have originated from the primary Enterprise UDL.
      - `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.
      - `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.
      - `algorithm` string: Optional algorithm used to produce this record.
      - `sourcedData` string[]: Optional array of UDL data (observation) UUIDs used to build this element set. See the associated sourcedDataTypes array for the specific types of observations for the positionally corresponding UUIDs in this array (the two arrays must match in size).
      - `sourcedDataTypes` string[]: Optional array of UDL observation data types used to build this element set (e.g. EO, RADAR, RF, DOA). See the associated sourcedData array for the specific UUIDs of observations for the positionally corresponding data types in this array (the two arrays must match in size).
      - `transactionId` string: Optional identifier to track a commercial or marketplace transaction executed to produce this data.
      - `ephemType` integer: The ephemeris type associated with this TLE: 0: SGP (or SGP4 with Kozai mean motion) 1: SGP (Kozai mean motion) 2: SGP4 (Brouver mean motion) 3: SDP4 4: SGP4-XP 5: SDP8 6: SP (osculating mean motion)
      - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
    - `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.
  - `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.

## Response `202`

Accepted

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `429`: Rate of Requests Exceeds Allowed Limit
- `500`: Internal Server Error

## Changes

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

- **2026-04-09** `bd17bc53681e`: 2 info
  - added the new optional request property `items/collectRequests/items/stateVector/missionCenter`
  - added the non-success response with the status `429`
- **2025-10-23** `09bd422d5ac1`: 1 info
  - added the new `ECR/ECEF` enum value to the request property `items/collectRequests/items/stateVector/covReferenceFrame`
- **2025-09-26** `45631f9bb3f0`: 1 breaking, 1 info
  - the `items/origNetwork` request property's minLength was increased from `0` to `1`
  - added the new optional request property `items/collectRequests/items/stateVector/msgTs`
- **2025-05-29** `4e1cbc17e814`: 3 info
  - added the new `EFG/TDR` enum value to the request property `items/collectRequests/items/stateVector/covReferenceFrame`
  - added the new `GCRF` enum value to the request property `items/collectRequests/items/stateVector/covReferenceFrame`
  - added the new `TEME` enum value to the request property `items/collectRequests/items/stateVector/covReferenceFrame`
- …earlier changes not shown

[Operation history](https://skmtc.dev/bluestaq/apis/unified-data-library-services-api/changes/filedrop/udl-sensorplan/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)
