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

# POST /udl/rfobservation

`POST /udl/rfobservation`

## Request

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

Service operation to take a single RF observation 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

- RFObservationDetailsIngest: Model representation of observation data for active/passive radio frequency (RF) based sensor phenomenologies. J2000 is the preferred coordinate frame for all observations, but in some cases observations may be in another frame depending on the provider. Please see the 'Discover' tab in the storefront to confirm coordinate frames by data provider. RF observations include several optional ordered arrays which are used to provide detailed information on recorded signals such as power spectral density lists or active signals (code taps/fills, etc). In these cases, the sizes of the arrays must match and can be assumed to have consistent indexing across arrays (e.g. powers[0] is the measured power at frequencies[0]).
  - `origNetwork` string: The originating source network on which this record was created, auto-populated by the system.
  - `type` string, required: Type of RF ob (e.g. RF, RF-SOSI, PSD, RFI, SPOOF, etc).
  - `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.
  - `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.
  - `transponder` string: Optional identifier provided by observation source to indicate the transponder used for this measurement.
  - `azimuth` number, double: Azimuth angle in degrees and topocentric coordinate 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 azimuth angle measurement, in degrees.
  - `azimuthRate` number, double: Rate of change of the azimuth in degrees per second.
  - `elevation` number, double: Elevation in degrees and topocentric coordinate 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 elevation angle measurement, in degrees.
  - `elevationRate` number, double: Rate of change of the elevation in degrees per second.
  - `range` number, double: Target range in kilometers.
  - `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.
  - `rangeUnc` number, double: One sigma uncertainty in the range measurement, in kilometers.
  - `rangeRate` number, double: Rate of change of the range in kilometers per second.
  - `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.
  - `trackRange` number, double: Target track or apparent range in kilometers.
  - `senlat` number, double: Sensor WGS84 latitude at obTime (if mobile/onorbit) in degrees. If null, can be obtained from sensor info. -90 to 90 degrees (negative values south of equator).
  - `senlon` number, double: Sensor WGS84 longitude at obTime (if mobile/onorbit) in degrees. If null, can be obtained from sensor info. -180 to 180 degrees (negative values west of Prime Meridian).
  - `senalt` number, double: Sensor altitude at obTime (if mobile/onorbit) in km. If null, can be obtained from sensor info.
  - `elnot` string: ELINT notation.
  - `frequency` number, double: Center carrier frequency in hertz.
  - `nominalFrequency` number, double: Nominal or expected center carrier frequency in hertz.
  - `startFrequency` number, double: Start carrier frequency in hertz.
  - `endFrequency` number, double: End carrier frequency in hertz.
  - `relativeCarrierPower` number, double: Measured power of the center carrier frequency in decibel watts.
  - `spectrumAnalyzerPower` number, double: Measured spectrum analyzer power of the center carrier frequency in decibel watts.
  - `relativeNoiseFloor` number, double: The measure of the signal created from the sum of all the noise sources and unwanted signals within the measurement system, in decibel watts.
  - `referenceLevel` number, double: Reference signal level, in decibel watts.
  - `pgri` number, double: A pulse group repetition interval (PGRI) is a pulse train in which there are groups of closely spaced pulses separated by much longer times between these pulse groups. The PGRI is measured in seconds.
  - `confidence` number, double: Confidence in the signal and its measurements and characterization.
  - `incoming` boolean: True if the signal is incoming, false if outgoing.
  - `switchPoint` integer: Switch Point of the RFObservation record.
  - `baudRate` number, double: Baud rate is the number of symbol changes, waveform changes, or signaling events, across the transmission medium per second.
  - `snr` number, double: Signal to noise ratio, in decibels.
  - `nominalSnr` number, double: Nominal or expected signal to noise ratio, in decibels.
  - `polarity` number, double: The antenna pointing dependent polarizer angle, in degrees.
  - `polarityType` 'H' | 'V' | 'R' | 'L': Transponder polarization e.g. H - (Horizontally Polarized) Perpendicular to Earth's surface, V - (Vertically Polarized) Parallel to Earth's surface, L - (Left Hand Circularly Polarized) Rotating left relative to the earth's surface, R - (Right Hand Circularly Polarized) Rotating right relative to the earth's surface.
  - `channel` integer: Channel of the RFObservation record.
  - `powerOverNoise` number, double: Measured carrier power over noise (decibel watts per hertz).
  - `nominalPowerOverNoise` number, double: Expected carrier power over noise (decibel watts per hertz).
  - `bandwidth` number, double: Measured bandwidth in hertz.
  - `nominalBandwidth` number, double: Expected bandwidth in hertz.
  - `resolutionBandwidth` number, double: Resolution bandwidth in hertz.
  - `videoBandwidth` number, double: Video bandwidth in hertz.
  - `eirp` number, double: Measured Equivalent Isotopically Radiated Power in decibel watts.
  - `nominalEirp` number, double: Expected Equivalent Isotopically Radiated Power in decibel watts.
  - `minPSD` number, double: Minimum measured PSD value of the trace in decibel watts.
  - `maxPSD` number, double: Maximum measured PSD value of the trace in decibel watts.
  - `frequencyShift` number, double: Frequency Shift of the RFObservation record.
  - `peak` boolean: Peak of the RFObservation record.
  - `antennaName` string: Antenna name of the RFObservation record.
  - `detectionStatus` string: Detection status (e.g. DETECTED, CARRIER_ACQUIRING, CARRIER_DETECTED, NOT_DETECTED, etc).
  - `collectionMode` string: Collection mode (e.g. CONTINUOUS, MANUAL, NEIGHBORHOOD_WATCH, DIRECTED_SEARCH, SPOT_SEARCH, SURVEY, etc).
  - `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.
  - `noisePwrDensity` number, double: Noise power density, in decibel watts per hertz.
  - `carrierStandard` string: Carrier standard (e.g. DVB-S2, 802.11g, etc.).
  - `modulation` string: Transponder modulation (e.g. Auto, QPSK, 8PSK, etc).
  - `innerCodingRate` integer: Inner forward error correction rate: 0 = Auto, 1 = 1/2, 2 = 2/3, 3 = 3/4, 4 = 5/6, 5 = 7/8, 6 = 8/9, 7 = 3/5, 8 = 4/5, 9 = 9/10, 15 = None.
  - `outerCodingRate` integer: Outer forward error correction rate: 0 = Auto, 1 = 1/2, 2 = 2/3, 3 = 3/4, 4 = 5/6, 5 = 7/8, 6 = 8/9, 7 = 3/5, 8 = 4/5, 9 = 9/10, 15 = None.
  - `transmitFilterType` string: Transmit pulse shaping filter type (e.g. RRC).
  - `transmitFilterRollOff` number, double: Transmit pulse shaping filter roll-off value.
  - `symbolToNoiseRatio` number, double: Symbol to noise ratio, in decibels.
  - `bitErrorRate` number, double: The ratio of bit errors per number of received bits.
  - `origMarking` string: Original security marking that the data was marked with.
  - `origCountry` string: Country of origin in which the data was originally posted.
  - `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.
  - `descriptor` string: Optional source-provided and searchable metadata or descriptor of the data.
  - `url` string: Optional URL containing additional information on this observation.
  - `frequencies` number[]: Array of individual PSD frequencies of the signal in hertz. This array should correspond with the same-sized array of powers.
  - `powers` number[]: Array of individual measured PSD powers of the signal in decibel watts. This array should correspond with the same-sized array of frequencies.
  - `snrs` number[]: Array of signal to noise ratios of the signals, in decibels.
  - `confidences` number[]: Array of measurement confidences.
  - `detectionStatuses` string[]: Array of detection statuses (e.g. CARRIER_DETECTED, DETECTED, NOT_DETECTED) for each measured signal.
  - `jamBands` string[]: Array of frequency bands experiencing jamming or intentional interference. This array must be the same length as jamToSigRatios.
  - `jamToSigRatios` number[]: Array of jamming-to-signal power ratios at the receiver for the specified jamBands, in decibels. The values in this array must correspond to the position index in jamBands. This array must be the same length as jamBands.
  - `chipRates` number[]: Array of chipRates.
  - `codeTaps` string[]: Array of code taps.
  - `codeFills` string[]: Array of code fills.
  - `codeLengths` number[]: Array of code lengths.
  - `pnOrders` integer[]: Array of pnOrder.
  - `signalIds` string[]: Array of optional source provided identifiers of the measurements/signals.
  - `baudRates` number[]: Array of measured signal baud rates.
  - `telemetryIds` string[]: Array of optional source provided telemetry identifiers of the measurements/signals.
  - `constellationXPoints` number[]: Array of individual x-coordinates for demodulated signal constellation. This array should correspond with the same-sized array of constellationYPoints.
  - `constellationYPoints` number[]: Array of individual y-coordinates for demodulated signal constellation. This array should correspond with the same-sized array of constellationXPoints.
  - `fftRealCoeffs` number[]: Array of real components of the complex Fast Fourier Transform (FFT) coefficients from the signal. Used together with the same-sized fftImagCoeffs array to preserve both amplitude and phase information. This array should correspond with the same-sized array of frequencies.
  - `fftImagCoeffs` number[]: Array of imaginary components of the complex Fast Fourier Transform (FFT) coefficients from the signal. Used together with the same-sized fftRealCoeffs array to preserve both amplitude and phase information. This array should correspond with the same-sized array of frequencies.

## 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.

- **2026-04-09** `bd17bc53681e`: 2 info
  - added the new optional request property `jamBands`
  - added the new optional request property `jamToSigRatios`
- **2025-10-23** `09bd422d5ac1`: 2 info
  - added the new optional request property `fftImagCoeffs`
  - added the new optional request property `fftRealCoeffs`
- **2025-04-16** `75f764c843a9`: 6 info
  - api operation id `create_97` removed and replaced with ``
  - the endpoint scheme security `BasicAuth` was removed from the API
  - added the new optional request property `azimuthMeasured`
  - added the new optional request property `elevationMeasured`
  - …2 more

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