HTTP headers
- Last Updated: November 10, 2025
- 3 minute read
- Hybrid Data Pipeline
- Version 5.0
- Documentation
You can use request HTTP headers to control the following service behaviors:
- Refresh Result HTTP header determines whether the response comes from cached data (if available) or from the back-end data store.
- Data Source User HTTP header and Data Source Password HTTP header may be used to specify the backend data store credentials.
- Timezone HTTP header specifies the time zone to apply to
DateTimevalues. - Top Mode HTTP header may be used to optimize requests to the backend data store.
- OData Prefer HTTP header - Max Page Size determines how the service breaks up a result set into multiple responses.
- OIDC Authentication Service Name HTTP header specifies access to an OData endpoint using the OIDC authentication service.
- Correlated Logging HTTP header specifies a correlation ID that enables tracing of requests across the Hybrid Data Pipeline server and client components.
Some of these behaviors can be controlled with query parameters instead of HTTP headers. See Custom query parameters.
Refresh Result HTTP header
Hybrid Data Pipeline
buffers the results of an OData query, allowing clients to page back and forth
through the results using the $top and $skip system query parameters. The $top parameter specifies how many results to return in
the first response and $skip specifies where to
start in the result set to return the next set of results. When the Hybrid Data Pipeline service receives an OData
query for which it has a buffered result and the $skip query parameter is either not specified or is set to zero,
Hybrid Data Pipeline can page back to
the beginning of the buffered result or execute a new query.
By default, Hybrid Data Pipeline treats a query where $skip is missing or set to zero as a request to
re-execute the query in the backend data source. You can change default behavior in
the data source definition, or in the request with the ddcloud-refresh-result HTTP header. The HTTP header value overrides
the setting in the Refresh Result field of
the data source definition.
| Name | ddcloud-refresh-result |
|---|---|
| Accepted Values | 0, reuse cached results. 1, discard cached results and query the data store again. |
| Default when not specified | 1.The service executes the query anew. |
Data Source User HTTP header
The credentials for the backend data source can be stored in the data
source definition on the General tab. If they
are not, you must supply them in requests using the ddcloud-datasource-user HTTP header.
| Name | ddcloud-datasource-user |
|---|---|
| Default when not specified | The Hybrid Data Pipeline service checks the data source definition for this value. |
Data Source Password HTTP header
The credentials for the backend data source can be stored in the data
source definition on the General tab. If they
are not, you must supply them in requests using the ddcloud-datasource-password HTTP header.
| Name | ddcloud-datasource-password |
|---|---|
| Default when not specified | The Hybrid Data Pipeline service checks the data source definition for this value. |
Timezone HTTP header
To correctly processDateTime data types for clients in a
different timezone than the data store, use the ddcloud-timezone HTTP header. | Name | ddcloud-timezone |
|---|---|
| Accepted Values | A Java timezone id string. |
| Default when not specified | The timezone is taken from URL; GMT is used if timezone is not specified as a HTTP header or URL parameter |
Top Mode HTTP header
In some cases, the Hybrid Data Pipeline OData service can optimize requests to the
backend data store when you use the ddcloud-top-mode to specify how a client will be using the $top system parameter to page through results. A value
of 0 indicates that the client will use $top to limit the result set and will rarely request
the remaining entities. A value of 1 indicates
that the client will often use $top and $skip to page through results.
Hybrid Data Pipeline applies the optimization only to queries that meet the following conditions:
- Include a value for
$top - Do not include
$skipor include$skipwith a value of0 - Do not include
$expand - Do not include
$count=truewith the inline count mode set to2, which causes a fetch of all rows
When the conditions are met, Hybrid Data Pipeline will generate only a SELECT statement that includes the data store-specific
syntax for limiting the rows returned. If the client queries the same entity
collection again but specifies $top and $skip to fetch more entities, the service executes a
new query. The results might contain some of the entities already received from the
first request.
In the following example, the ddcloud-top-mode is set to 1,
directing the Hybrid Data Pipeline
service to fetch the complete result set and not to attempt optimization:
ddcloud-top-mode=1
| Name | ddcloud-top-mode |
|---|---|
| Accepted Values | 0 indicates
that the client will use $top to
limit the result set and will rarely request the remaining
entities
|
| Default when not specified | 0 |
OData Prefer HTTP header - Max Page Size
The OData 4.0 specification defines a Prefer HTTP header, odata.maxpagesize, that can be used to control the page
size for server-driven paging. In server-driven paging, the server returns partial
results and includes a link the client can use to get the next set of results.
You can set the page size in the data source definition, on the
OData tab, in the Page Size field. The HTTP header value for odata.maxpagesize overrides the value specified in the
data source definition. In the following example, the maximum page size is set to
4000, resulting in up to 4000 entities per page.
Prefer: odata.maxpagesize=4000
| Name | Prefer |
|---|---|
| Accepted Values | odata.maxpagesize=x
where x is the maximum number of
top-level entities that are returned on a page. |
| Default when not specified | The page size from either the data source or the service default page size. |
OIDC Authentication Service Name HTTP header
To connect to an OData 4.0 endpoint using the OIDC authentication
service, use the x-datadirect-authService HTTP
header with bearer as prefix.
| Name | x-datadirect-authService |
|---|---|
| Accepted Values | An existing OIDC authentication service name string. |
| Default when not specified | OAuth authentication is used if the
authentication service HTTP header is not specified. Basic
authentication is used if the HTTP header does not have the
bearer prefix. |
Correlated Logging HTTP header
You may specify a correlation ID by passing the ID in the Trace-ID
HTTP header. This correlation or trace ID enables tracing of requests across Hybrid
Data Pipeline and client components.
| Name | Trace-ID |
|---|---|
| Accepted Values | A string value up to 64 ASCII/UTF-8 Latin block characters in length, typically a UUID or a custom trace token. |
| Default when not specified | An auto-generated UUID. |