API Reference / API Methods / Advanced / Set extra header
Feb. 26, 2019

Set Extra Header

Required API Key: no ACL required
Method signature
$config = ClientConfig::create('YourApplicationID', 'YourAdminAPIKey');
$config->setDefaultHeaders([
  headerName => string headerValue,
  // Other default headers
]);

$client = Client::createWithConfig($config);

About this method

Sends an extra http header to Algolia, for all subsequent queries.

This method allows you to send the server a specific key/value pair - that we call an extra http header, with every query. By doing this, you are giving the api an additional header that it can later use in certain situations.

Here are some headers with different use cases:

  • Setting X-Forwarded-For for analytics purposes. If your server sends the end-user’s IP along with every search, this enables analytics to distinguish between end-users. Otherwise, the analytics will be based on the server IP, not giving you the detail of each user. Alternatively, see X-Algolia-UserToken below.
  • Setting X-Forwarded-For for geo purposes. This ensures that the geo search location will be based on the IP of the end-user and not that of your backend server. For an example of this, see the aroundLatLngViaIP parameter.
  • Setting X-Algolia-UserToken for API key rate-limit purposes.
  • Setting X-Algolia-UserToken for analytics purposes. The provided value will be used by the analytics to distinguish between end-users. It takes priority over any value given to X-Forwarded-For. Use this header if you need to forward the end-user’s identity without relying on IPs.

Note that this will be replaced eventually by the “Request Options” parameter, which will allow you to set the header as part of your query parameters.

Examples

1
2
3
$client->setDefaultHeaders([
  'NAME-OF-HEADER' => 'value-of-header'
]);

Parameters

headerName
type: string
Required

Name of the header to add.

headerValue
type: string
Required

Value of the header to add.

Response

No response

Did you find this page helpful?