---
title: "GET /udl/diffofarrival"
method: GET
path: "/udl/diffofarrival"
tags: ["TDOA/FDOA"]
---

# GET /udl/diffofarrival

`GET /udl/diffofarrival`

## Request

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

Service operation to dynamically query data by a variety of query parameters not specified in this API documentation. See the queryhelp operation (`/udl/<datatype>/queryhelp`) for more details on valid/required query parameter information.

## Query parameters

- `obTime` string, date-time, required
- `firstResult` integer
- `maxResults` integer

## Response `200`

OK

- DiffOfArrivalAbridged[]
  - `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.
  - `idSensor1` string: Sensor ID of the primary/1st sensor used for this measurement.
  - `idSensor2` string: Sensor ID of the secondary/2nd sensor used for this measurement.
  - `satNo` integer: Catalog number of the target on-orbit object.
  - `taskId` string: Optional identifier to indicate the specific tasking which produced this observation.
  - `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.
  - `origSensorId1` string: Optional identifier provided by DOA source to indicate the primary/1st sensor identifier used for this measurement. This may be an internal identifier and not necessarily a valid sensor ID.
  - `origSensorId2` string: Optional identifier provided by DOA source to indicate the secondary/2nd sensor identifier used for this 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.
  - `sensor1Delay` number, double: The signal arrival delay relative to sensor 1, in seconds.
  - `sensor2Delay` number, double: The signal arrival delay relative to sensor 2, in seconds.
  - `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 kilometers. If null, can be obtained from sensor info.
  - `azimuth1` number, double: Line of sight azimuth angle for sensor 1, in degrees and topocentric frame. Azimuth ranges from 0 to 360 degrees.
  - `elevation1` number, double: Line of sight elevation angle for sensor 1, in degrees and topocentric frame. Elevation ranges from -90 to 90 degrees.
  - `sen2lat` number, double: Sensor 2 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).
  - `sen2lon` number, double: Sensor 2 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).
  - `sen2alt` number, double: Sensor 2 altitude at obTime (if mobile/onorbit), in kilometers. If null, can be obtained from sensor info.
  - `azimuth2` number, double: Line of sight azimuth angle for sensor 2, in degrees and topocentric frame. Azimuth ranges from 0 to 360 degrees.
  - `elevation2` number, double: Line of sight elevation angle for sensor 2, in degrees and topocentric frame. Elevation ranges from -90 to 90 degrees.
  - `frequency` number, double: Center frequency of the collect, in hertz.
  - `bandwidth` number, double: Bandwidth of the signal, in hertz.
  - `deltaRange` number, double: Delta range, in kilometers. Delta range calculation convention is (sensor2 - sensor1).
  - `deltaRangeUnc` number, double: One sigma uncertainty in delta range, in kilometers.
  - `deltaRangeRate` number, double: Delta range rate, in kilometers per second. Delta range rate calculation convention is (sensor2 - sensor1).
  - `deltaRangeRateUnc` number, double: One sigma uncertainty in the delta range rate, in kilometers per second.
  - `snr` number, double: Signal to noise ratio, in decibels.
  - `polarityType` string: 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.
  - `tdoa` number, double: Time difference of arrival of the center frequency signal, in seconds. TDOA calculation convention is (sensor2 - sensor1).
  - `tdoaUnc` number, double: One sigma uncertainty in time difference of arrival of the center frequency signal, in seconds.
  - `tdoaAmb` integer: The number of full signal cycles the time difference of arrival measurement could be shifted due to repeating patterns in the signal (0 = no ambiguity, +1 = one positive cycle ambiguity, -1 = one negative cycle ambiguity).
  - `fdoa` number, double: Frequency difference of arrival of the center frequency signal, in hertz. FDOA calculation convention is (sensor2 - sensor1).
  - `fdoaUnc` number, double: One sigma uncertainty in frequency difference of arrival of the center frequency signal, in hertz.
  - `collectionMode` string: Collection mode (e.g., DIRECTED_SEARCH, MANUAL, NEIGHBORHOOD_WATCH, SPOT_SEARCH, SURVEY, etc.).
  - `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.
  - `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.
  - `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.
  - `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.

## Other responses

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

## Changes

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

- **2026-03-25** `173e4aff893f`: 6 info
  - added the optional property `items/azimuth1` to the response with the `200` status
  - added the optional property `items/azimuth2` to the response with the `200` status
  - added the optional property `items/elevation1` to the response with the `200` status
  - added the optional property `items/elevation2` to the response with the `200` status
  - …2 more
- **2025-05-29** `4e1cbc17e814`: 2 info
  - added the new optional `query` request parameter `firstResult`
  - added the new optional `query` request parameter `maxResults`
- **2025-04-16** `75f764c843a9`: 2 info
  - api operation id `findAllWithStream_6` 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/diffofarrival/get.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)
