apiKey
Send an API key as a header or query parameter on later HTTP requests
Stores a named key either in httpAuthHeaders (in: "header", default) or httpAuthQuery (in: "query"). Later http nodes on this run apply those values.
This node does not send a request. The wire is passthrough. The key value is not copied onto this node’s output.
- Header mode: following HTTP nodes get the named header. A header with the same name on the HTTP node wins (case-insensitive).
- Query mode: the key is added to the following HTTP URL. Query keys already on that URL win over inherited auth query.
Empty name or value after template resolve fails at execute time.
Typical chains: apiKey (header) → http, then apiKey (query) → http. Sample: auth-helpers.flow.json.
Data
| Field | Type | Default | Description |
|---|---|---|---|
label | string | Optional UI label | |
name | string | required | Header or query parameter name |
value | string | required | Templated key value |
in | enum | "header" | header · query |
Input / output
| Value | |
|---|---|
| Execute input | Previous node output (passthrough) |
| Output | Same as input |
| Vars | Merges httpAuthHeaders or httpAuthQuery for following HTTP nodes |
Examples
Header: previous node → apiKey → HTTP
Previous node can be anything (often another HTTP or auth helper). Next HTTP lists no X-Api-Key.
… → key (apiKey header) → products (http GET)
{
"id": "key",
"type": "apiKey",
"data": {
"name": "X-Api-Key",
"value": "{{secrets.API_TOKEN}}",
"in": "header"
}
}
{
"id": "products",
"type": "http",
"data": {
"method": "GET",
"url": "{{env.API_BASE}}/products/1",
"headers": {}
}
}
Request snapshot on products includes X-Api-Key.
Query: apiKey → HTTP
{
"id": "keyQ",
"type": "apiKey",
"data": {
"name": "apiKey",
"value": "demo-query-key",
"in": "query"
}
}
{
"id": "productsQ",
"type": "http",
"data": {
"method": "GET",
"url": "{{env.API_BASE}}/products/1",
"headers": {}
}
}
Request snapshot URL includes apiKey=demo-query-key. If the HTTP URL already had ?apiKey=from-url, that value wins.
Next HTTP overrides the header
{
"id": "productsOverride",
"type": "http",
"data": {
"method": "GET",
"url": "{{env.API_BASE}}/products/1",
"headers": { "X-Api-Key": "from-node" }
}
}
The node header wins over the inherited apiKey header.