> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Connection configuration references

> References for configuring HTTP connections, including setup, request handling, and authentication types.

References for configuring HTTP connections, including setup, request handling, and authentication types.

## Connection configuration

Defines the base setup for the external HTTP service.

| Field          | Description                                      |
| -------------- | ------------------------------------------------ |
| Base URL       | The API endpoint for all requests                |
| Authentication | API key, token, or credentials (stored securely) |
| Common Headers | Headers applied to all requests                  |

## HTTP request configuration

Defines how the request is sent to the target API.

| Parameter       | Type    | Required | Description                                                                                                                                                                                             |
| --------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| httpMethod      | String  | Yes      | HTTP method (GET & POST)                                                                                                                                                                                |
| urlPath         | String  | No       | Path appended to base URL                                                                                                                                                                               |
| body            | String  | No       | Request body (supports template variables)                                                                                                                                                              |
| headers         | List    | No       | Additional headers                                                                                                                                                                                      |
| parameters      | List    | No       | Query parameters                                                                                                                                                                                        |
| retries         | Integer | No       | Number of retry attempts (default: 0)                                                                                                                                                                   |
| timeoutInMillis | Integer | No       | Timeout (default: 30000 ms, max: 180000 ms)                                                                                                                                                             |
| capacity        | Integer | No       | Maximum number of HTTP calls that this HTTP processor can execute in parallel per mediation context. Additional requests are queued until capacity is available. Valid values are 1-100. Default is 20. |

Template Variables

You can dynamically reference values from events or secrets using the `${}` syntax.

| Variable              | Example                          | Description                         |
| --------------------- | -------------------------------- | ----------------------------------- |
| `${event.customerId}` | `/customers/${event.customerId}` | Pulls value from input event        |
| `${secrets.apiKey}`   | `"Bearer ${secrets.apiKey}"`     | Inserts secure API key from secrets |

> **Note**
>
> If a template variable in the HTTP request configuration (body, headers, or parameters) references a missing or invalid JSONPath (for example, `${event.invalid}`), the HTTP processor does not throw an error. Instead, the resolved value is sent as an empty string in the outbound request. The event continues downstream without failure, and no error is recorded in the audit trail. To avoid unexpected behavior, validate all JSONPath expressions and ensure the referenced fields exist in the incoming event before deploying the pipeline.

Example

```json
{
  "urlPath": "/customers/${event.customerId}",
  "headers": [
    { "key": "Authorization", "value": "Bearer ${secrets.apiKey}" }
  ]
}
```

## HTTP output configuration

Controls how response data is added to the output event.

| Parameter                      | Type          | Default | Description                                                                                                                                                                                                                                                                                                                           |
| ------------------------------ | ------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Pass on event in case of error | Boolean       | false   | Continue pipeline execution even if the HTTP call fails                                                                                                                                                                                                                                                                               |
| Fields To Append               | List          | -       | Maps response JSON fields to output event fields                                                                                                                                                                                                                                                                                      |
| responseSample                 | String (JSON) | -       | Sample JSON response used to configure `responseToOutputMapper`. When **Use sample response for test run** is enabled and the meter runs in Test Mode, this JSON is also used as the mock response body instead of the real HTTP response.                                                                                            |
| skipHttpCallsInTestMode        | Boolean       | false   | When true and the meter is run in Test Mode, the HTTP processor does not make an outbound HTTP request. Instead, it returns the responseSample JSON as the response payload and applies responseToOutputMapper to that sample. In normal (non-test) runs, this flag is ignored and the HTTP processor always calls the real endpoint. |

Example

```
"responseToOutputMapper": [
  { "field": "customerName", "jsonPath": "$.name" },
  { "field": "customerTier", "jsonPath": "$.tier" }
]
```

## Supported authentication types

Zuora currently supports the following authentication types for HTTP connections:

| Parameter         | Description                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Basic Auth        | Uses a username and password encoded in the HTTP header                                                                                                                                                                                                                                                                                                                     |
| Bearer Token Auth | Uses a bearer token (example: Authorization: Bearer \<token>)                                                                                                                                                                                                                                                                                                               |
| No Auth           | Sends requests without authentication (for open/public APIs)                                                                                                                                                                                                                                                                                                                |
| OAuth 2.0         | Uses a managed HTTP connection. Configure the OAuth settings in the connection, then reference that connection from the HTTP processor. Supports Grant Type, Client ID, Client Secret, Token Endpoint, and Scopes. At runtime, Zuora Mediation uses the managed connection to retrieve or refresh the access token and add the required authorization header automatically. |