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

# Node Configuration (Request Config Dialog)

> Configure HTTP nodes with parameters, payload editors, variable extraction, polling conditions, and assertions.

Double-clicking any HTTP node on the visual canvas opens the **Request Configuration Dialog**. This dialog provides a complete workbench for defining request parameters, security credentials, dynamic data bindings, polling loops, and automated assertions.

```
┌────────────────────────────────────────────────────────────────────────────────────────┐
│  [POST] /customers/{id}/orders   Alias: CreateOrder  ℹ️   URL: https://api.example.com │
├────────────────────────────────────────────────────────────────────────────────────────┤
│  ⚙️ Params  • Headers  <> Body  🛡️ Auth  {} Variables  🔄 Polling  ✓ Assertions  ⚙️ Settings│
└────────────────────────────────────────────────────────────────────────────────────────┘
```

***

## 1. Node Header & Alias Management

* **Method & Path**: Displays the HTTP method (GET, POST, PUT, DELETE, PATCH) and relative endpoint route.
* **Node Alias**: A unique identifier within the flow (e.g. `CreateOrder`, `GetCustomerProfile`). This alias acts as the namespace for downstream **Response Binding** (`{{ResponseBinding.CreateOrder.body.id}}`).
* **Base URL & Endpoint**: Full resolved URL with active environment variable overrides.

***

## 2. Configuration Tabs

### 1. Params Tab (Query & Path Parameters)

* **Path Parameters**: Extracted automatically from curly braces in the endpoint (e.g., `/users/{userId}`). Values can be static or dynamic bindings (`{{flow.currentUserId}}`).
* **Query Parameters**: Key-value table supporting type declarations, descriptions, and dynamic tokens.
* **Toggle Controls**: Enable or disable individual parameters for experimental test runs without deleting them.

### 2. Headers Tab

* Manage HTTP request headers (`Content-Type`, `Accept`, `X-Correlation-ID`).
* Supports token interpolation:
  ```http theme={null}
  Authorization: Bearer {{ResponseBinding.AuthNode.body.accessToken}}
  X-Request-ID: {{QMock.utility.guid}}
  ```

### 3. Body Tab (Payload & Mocking)

* **Editor Modes**: Raw JSON, Form-Data, x-www-form-urlencoded, or GraphQL.
* **Auto-Fill Mock Data**: Reads the OpenAPI request schema and populates the editor with realistic, valid synthetic mock payloads in one click.
* **Dynamic Mock Generation Toggle**: When enabled, regenerates all `{{QMock.*}}` tokens on every run.
* **Inline Token Inserter (`+` Button)**: Click the `+` icon on any line or type `{{` to open the popover for inserting **ResponseBinding**, **QMock**, **QPlugin**, or **Variables**.

### 4. Authorization Tab

* **Inherit from Collection**: Automatically inherits parent collection security settings.
* **Bearer Token**: Static token or dynamic expression `{{ResponseBinding.login.body.token}}`.
* **API Key**: Query or Header key insertion with custom name (e.g., `X-API-Key`).
* **OAuth2 Client Credentials**: Automatically acquires and injects scoped JWT access tokens.
* **Basic Auth**: Username and password credentials.

### 5. Variables Tab (Variable Extractions)

Defines rules for extracting values from the node's HTTP response and saving them into flow-scoped variables:

| Source Property | Extracted Variable Name | Description |
| :- | :- | :- |
| `body.id` | `currentOrderId` | Extracted from `{ "id": 1042 }` |
| `body.token` | `authToken` | Extracted from `{ "token": "jwt..." }` |
| `headers['x-trace-id']` | `traceId` | Extracted from response headers |

### 6. Polling Tab (Asynchronous Job Polling)

Configures automatic recurring polling until downstream asynchronous operations complete:

* **Enable Endpoint Polling**: Master toggle.
* **Timing & Limits**:
  * **Polling Interval**: Delay between attempts (e.g., `5 seconds`).
  * **Max Duration**: Timeout limit (e.g., `2 minutes` or `1 hour`).
* **`continueWhen` Rules**: Conditions under which polling continues (e.g., `body.status EQUALS "PENDING"`).
* **`stopWhen` Rules**: Target conditions that signal successful completion (e.g., `body.status EQUALS "COMPLETED"`).

### 7. Assertions Tab (Validation Rules)

Automated verification rules executed immediately upon response arrival:

* **Target Types**: `Status Code`, `Response Time (ms)`, `Header`, `JSON Body Field`.
* **Operators**: `equals`, `notEquals`, `contains`, `notContains`, `greaterThan`, `lessThan`, `matchesRegex`, `hasProperty`.
* **Assertion Retry Policy**:
  * **Max Retries**: Number of retry attempts if an assertion fails.
  * **Retry Interval (ms)**: Wait duration between retries.

### 8. Schemas Tab

* Automatically validates the response payload against the published OpenAPI JSON Schema.
* Highlights unexpected fields, missing required properties, or type violations.

### 9. Settings Tab

* **Continue On Error**: Prevents flow termination if this node fails, allowing downstream error handlers or fallback branches to run.
* **Custom Timeout (ms)**: Overrides flow-level timeout for long-running operations.
* **Execution Retry Policy**: Number of network retries for transient HTTP errors (e.g., 502, 503, 504).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.