---
title: "POST /udl/radarobservation/createBulk"
method: POST
path: "/udl/radarobservation/createBulk"
tags: ["Observation"]
---

# POST /udl/radarobservation/createBulk

`POST /udl/radarobservation/createBulk`

## Request

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

Service operation intended for initial integration only, to take a list of radar observations as a POST body and ingest into the database. This operation is not intended to be used for automated feeds into UDL. Data providers should contact the UDL team for specific role assignments and for instructions on setting up a permanent feed through an alternate mechanism.

## Request body

- RadarObservationIngest[]
  - `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.
  - `obTime` string, date-time, required: Ob detection time in ISO 8601 UTC with microsecond precision.
  - `idOnOrbit` string: Unique identifier of the target on-orbit object, if correlated.
  - `idSensor` string: Unique identifier of the reporting sensor.
  - `satNo` integer: Satellite/Catalog number of the target on-orbit object.
  - `taskId` string: Optional identifier to indicate the specific tasking which produced this observation.
  - `transactionId` string: Optional identifier to track a commercial or marketplace transaction executed to produce this data.
  - `trackId` string: Optional identifier of the track to which this observation belongs.
  - `obPosition` string: The position of this observation within a track (FENCE, FIRST, IN, LAST, SINGLE). This identifier is optional and, if null, no assumption should be made regarding whether other observations may or may not exist to compose a track.
  - `origObjectId` string: Optional identifier provided by observation source to indicate the target onorbit object of this observation. This may be an internal identifier and not necessarily a valid satellite number.
  - `origSensorId` string: Optional identifier provided by observation source to indicate the sensor identifier which produced this observation. This may be an internal identifier and not necessarily a valid sensor ID.
  - `uct` boolean: Boolean indicating this observation is part of an uncorrelated track or 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.
  - `azimuth` number, double: azimuth angle in degrees and topocentric frame.
  - `azimuthMeasured` boolean: Optional flag indicating whether the azimuth value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `azimuthUnc` number, double: One sigma uncertainty in the line of sight azimuth angle measurement, in degrees.
  - `azimuthBias` number, double: Sensor azimuth angle bias in degrees.
  - `azimuthRate` number, double: Rate of change of the line of sight azimuth in degrees per second.
  - `elevation` number, double: Line of sight elevation in degrees and topocentric frame.
  - `elevationMeasured` boolean: Optional flag indicating whether the elevation value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `elevationUnc` number, double: One sigma uncertainty in the line of sight elevation angle measurement, in degrees.
  - `elevationBias` number, double: Sensor elevation bias in degrees.
  - `elevationRate` number, double: Rate of change of the line of sight elevation in degrees per second.
  - `range` number, double: Target range in km.
  - `rangeMeasured` boolean: Optional flag indicating whether the range value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `rangeAccel` number, double: Range accelaration in km/s2.
  - `rangeAccelUnc` number, double: One sigma uncertainty in the range acceleration measurement, in kilometers/(second^2).
  - `rangeUnc` number, double: One sigma uncertainty in the range measurement, in kilometers.
  - `rangeBias` number, double: Sensor range bias in km.
  - `rangeRate` number, double: Rate of change of the line of sight range in km/sec.
  - `rangeRateMeasured` boolean: Optional flag indicating whether the rangeRate value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `rangeRateUnc` number, double: One sigma uncertainty in the range rate measurement, in kilometers/second.
  - `doppler` number, double: Corrected doppler measurement in meters per second.
  - `dopplerUnc` number, double: One sigma uncertainty in the corrected doppler measurement, in meters/second.
  - `ra` number, double: Line of sight right ascension in degrees and J2000 coordinate frame.
  - `raMeasured` boolean: Optional flag indicating whether the ra value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `declination` number, double: Line of sight declination angle in degrees and J2000 coordinate frame.
  - `declinationMeasured` boolean: Optional flag indicating whether the declination value is measured (true) or computed (false). If null, consumers may consult the data provider for information regarding whether the corresponding value is computed or measured.
  - `x` number, double: X position of target in km in J2000 coordinate frame.
  - `y` number, double: Y position of target in km in J2000 coordinate frame.
  - `z` number, double: Z position of target in km in J2000 coordinate frame.
  - `xvel` number, double: X velocity of target in km/sec in J2000 coordinate frame.
  - `yvel` number, double: Y velocity of target in km/sec in J2000 coordinate frame.
  - `zvel` number, double: Z velocity of target in km/sec in J2000 coordinate frame.
  - `senx` number, double: Sensor x position in km at obTime (if mobile/onorbit) in the specified senReferenceFrame. If senReferenceFrame is null then J2000 should be assumed.
  - `seny` number, double: Sensor y position in km at obTime (if mobile/onorbit) in the specified senReferenceFrame. If senReferenceFrame is null then J2000 should be assumed.
  - `senz` number, double: Sensor z position in km at obTime (if mobile/onorbit) in the specified senReferenceFrame. If senReferenceFrame is null then J2000 should be assumed.
  - `rcs` number, double: Radar cross section in meters squared for polarization principal.
  - `rcsUnc` number, double: one sigma uncertainty in principal polarization Radar Cross Section, in meters^2.
  - `orthogonalRcs` number, double: Radar cross section in meters squared for orthogonal polarization.
  - `orthogonalRcsUnc` number, double: one sigma uncertainty in orthogonal polarization Radar Cross Section, in meters^2.
  - `snr` number, double: Signal to noise ratio, in dB.
  - `trackingState` string: The beam type (or tracking state) in use at the time of collection of this observation. Values include: INIT ACQ WITH INIT VALUES: Initial acquisition based on predefined initial values such as position, velocity, or other specific parameters. INIT ACQ: Initial acquisition when no prior information or initial values such as position or velocity are available. TRACKING SINGLE BEAM: Continuously tracks and monitors a single target using one specific radar beam. TRACKING SEQUENTIAL ROVING: Sequentially tracks different targets or areas by "roving" from one sector to the next in a systematic order. SELF ACQ WITH INIT VALUES: Autonomously acquires targets using predefined starting parameters or initial values. SELF ACQ: Automatically detects and locks onto targets without the need for predefined initial settings. NON-TRACKING: Non-tracking.
  - `beam` number, double: ID of the beam that produced this observation.
  - `timingBias` number, double: Sensor timing bias in seconds.
  - `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.
  - `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.
  - `senReferenceFrame` 'J2000' | 'EFG/TDR' | 'ECR/ECEF' | 'TEME' | 'ITRF' | 'GCRF': The reference frame of the observing sensor state. If the senReferenceFrame is null it is assumed to be J2000.
  - `descriptor` string: Optional source-provided and searchable metadata or descriptor of the 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.
  - `type` string: Read only enumeration specifying the type of observation (e.g. OPTICAL, RADAR, RF, etc).

## Response `204`

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-04-16** `75f764c843a9`: 9 info
  - api operation id `createBulks_28` removed and replaced with ``
  - the endpoint scheme security `BasicAuth` was removed from the API
  - added the new optional request property `items/azimuthMeasured`
  - added the new optional request property `items/declinationMeasured`
  - …5 more

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