> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.itential.com/adapters/configure/add-dynamic-headers/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.itential.com/_mcp/server. # Add dynamic headers > How to add headers with values that are not known until call time, using iapMetadata or adapter.js code changes. A header is dynamic when its value is not known until the call is made. Static header configuration in `action.json` or the service instance configuration cannot accommodate this — the header value must be supplied at call time. ## Using iapMetadata (no code change required) If the adapter method exposes an `iapMetadata` parameter, pass the headers inside an `addlHeaders` object on that parameter. You can construct the `iapMetadata` object usingItential Platform workflow capabilities such as `query` and `merge`. Structure: ```json { "addlHeaders": { "": "", "": "" } } ``` Example: ```json { "addlHeaders": { "x_custom_header": "63121931219fdd", "Session-id": "AB9637462349" } } ``` If the adapter method does not have an `iapMetadata` parameter, you can request that the Adapter Team add it. Note that adding `iapMetadata` requires creating new methods — Itential does not modify existing method signatures to avoid breaking changes. ## Using adapter.js (code change required) If the adapter does not support `iapMetadata`, you can expose the dynamic header value as a parameter in the adapter method and set it in `addlHeaders` on the `reqObj`. This approach also requires updating `pronghorn.json` to match the new method signature. See [Call properties authentication](/adapters/configure/service-instance-configuration/properties/authentication-properties) for an example of this pattern applied to authentication, which follows the same approach. ## Static headers If the header value does not change between calls, use the static header options instead. See [Headers overview](./overview) for guidance on when to use `action.json` versus the service instance configuration. > How to add headers with values that are not known until call time, using iapMetadata or adapter.js code changes.