> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Query param authentication

> Set a query parameter and value to be used for request authentication.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Adds authentication to an HTTP API connection by appending one or more query parameters to the address of every request. Some APIs expect credentials in the URL itself, for example `?api_key=...` or `?token=...`, rather than in a header. Use this to attach those parameters automatically so you do not have to add them to each request by hand.

This documentation describes: [Schema](/schemas/http-authentication-configurator/query-param)

## Fields

<FormField property="params" label="Params" required>
  The query parameters to add to every request. Each entry is a name and a value, for example `api_key` with your key. You can add as many as the API requires. The values are credentials, so consider storing them in environment variables or global variables and referencing them here rather than typing them in plainly.
</FormField>

## Sample data

This feature adds authentication to a live HTTP connection rather than transforming data, so there is no before/after to show. A typical configuration that attaches an API key looks like this:

| Field  | Value                      |
| ------ | -------------------------- |
| Params | `api_key` = `your-api-key` |

With this setting, a request to `https://api.example.com/orders` is sent as `https://api.example.com/orders?api_key=your-api-key`.

```json Configuration theme={null}
{
  "prototype": "query-param",
  "parameters": {
    "params": {
      "api_key": "your-api-key"
    }
  }
}
```
