Understanding the prediction response

A successful request to the GET /v2/prediction endpoint returns a series of LPP messages
containing predicted navigation models. Unlike the assistance endpoint, which returns one
LPP message per GNSS system, the prediction endpoint returns multiple LPP messages per
GNSS system, each covering a specific time interval.

The response format depends on the encoding query parameter:
UPER (default) returns a binary multipart/mixed response, while JER returns
LPP messages in JSON format. For full details on encoding formats, content types,
and base message structure, see Response encoding and formats.

Response headers

HeaderDescription
X-Request-IDEchoes back the value of the X-Request-ID request header, if provided.
X-Correlation-IDAn auto-generated UUID that uniquely identifies the request. When contacting support, provide this value to help troubleshoot issues.
X-Prediction-NextQuery parameters for the next follow-up request to get the next batch of prediction data. Omitted if no more prediction data is available. See Prediction data request.
Content-EncodingIndicates the encoding applied to the response body. Supported values: gzip, deflate, br. If omitted, the response is not compressed (identity encoding). Clients should inspect this header to determine how to decode the response.
Content-TypeDepends on the encoding query parameter and the Accept request header. See Response encoding and formats.

Validity period

Each prediction LPP message covers a specific time interval. The validity information
is conveyed differently depending on the encoding format.

UPER validity headers

In UPER responses, each multipart part includes additional headers with validity information:

HeaderDescription
X-Validity-StartStart time of the validity period in seconds since Unix epoch. Omitted if prediction data for this GNSS system is not available.
X-Validity-DurationDuration of the validity period in seconds. Omitted if prediction data for this GNSS system is not available.
X-GNSS-Validity-StartStart time of the validity period in seconds since the corresponding GNSS epoch. Omitted if prediction data for this GNSS system is not available.

JER validity object

In JER responses, each message object includes a validity field:

FieldTypeDescription
validityobjectThe validity period. Omitted if the message contains error information instead of valid data.
validity.startintegerStart time of the validity period in seconds since Unix epoch.
validity.durationintegerDuration of the validity period in seconds.
validity.gnssStartintegerStart time of the validity period in seconds since the corresponding GNSS epoch.

Note

The reference time value in the LPP message (gnss-ReferenceTime field) corresponds to
the middle of the validity period, that is,
gnssStart + (duration / 2) (or X-GNSS-Validity-Start + (X-Validity-Duration / 2) for UPER).

Response body examples

UPER example

--boundary
Content-Type: application/octet-stream
X-Constellation: gps
X-Validity-Start: 1772366400
X-Validity-Duration: 14400
X-GNSS-Validity-Start: 1456401618

<binary LPP message 1 for GPS>
--boundary
Content-Type: application/octet-stream
X-Constellation: gps
X-Validity-Start: 1772380800
X-Validity-Duration: 14400
X-GNSS-Validity-Start: 1456416018

<binary LPP message 2 for GPS>
--boundary--

JER example (application/json)

{
  "prediction": {
    "messages": [
      {
        "gnss": "gps",
        "validity": {
          "start": 1772366400,
          "duration": 14400,
          "gnssStart": 1456401618
        },
        "lpp": {
          "gnss-CommonAssistData": {
            "gnss-ReferenceTime": {...}
          },
          "gnss-GenericAssistData": [
            {
              "gnss-ID": { "gnss-id": "gps" },
              "gnss-NavigationModel": {...}
            }
          ]
        }
      },
      {
        "gnss": "gps",
        "validity": {
          "start": 1772380800,
          "duration": 14400,
          "gnssStart": 1456416018
        },
        "lpp": {
          "gnss-CommonAssistData": {
            "gnss-ReferenceTime": {...}
          },
          "gnss-GenericAssistData": [
            {
              "gnss-ID": { "gnss-id": "gps" },
              "gnss-NavigationModel": {...}
            }
          ]
        }
      }
    ]
  }
}

Partially unavailable data

If prediction data for a particular GNSS system is temporarily unavailable,
the response still includes an entry for that system, but with an error indication:

  • UPER: The X-GNSS-Error header is set (for example, currentlyNotAvailable).
    The validity headers are omitted.
  • JER: The lpp object includes gnss-Error instead of navigation model data.
    The validity field is omitted.

Related information


Did this page help you?