The structure of an HTTP request template: method, URL, headers, body, and how each field is declared.
An HTTP request template captures everything that defines the shape of a request to a specific endpoint. It’s the single source of truth for that request’s structure — journeys and steps add the execution context (values, sequencing, assertions) on top of it.
Understand this page when you’re creating or editing templates in the library, reviewing what a step will actually send, or debugging a request that isn’t behaving as expected.
HTTP verb: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
url
The URL pattern, including path parameter placeholders (e.g., /v2/payments/:paymentId)
headers
Key/value pairs sent with every request using this template
body
Request body definition — shape, content type, and field declarations
query
Query parameter declarations
name
Human-readable label shown in the library and step picker
description
Optional — explains the purpose of this endpoint
tags
Used for organizing and filtering in the library
Path parameters, query parameters, header values, and body fields that vary between runs are declared as template values (see Template values). Static parts of the request — a fixed Content-Type header, a constant path segment — are defined directly in the template.
A template separates the fixed parts of a request from the variable parts:
Fixed — literal values baked into the template. For example: Content-Type: application/json, or a base path like /v2/payments.
Variable — declared values that callers must supply. For example, a :paymentId path parameter or an amount body field.
When a step is configured in a journey, the journey resolves each declared value from its configured source (run inputs, variables, step outputs, environment values, etc.) and combines them with the fixed parts to produce the final outgoing request.
name: Get paymentmethod: GETurl: /v2/payments/:paymentIdtags: - paymentsheaders: Accept: application/jsonvalues: - name: paymentId in: path required: true description: The ID of the payment to retrieve
name: Update payment metadatamethod: PATCHurl: /v2/payments/:paymentId/metadatatags: - paymentsheaders: Content-Type: application/jsonvalues: - name: paymentId in: path required: true - name: note in: body required: false description: Optional note to attach to the payment
Keep templates focused on a single endpoint. If you need to call the same URL with meaningfully different body shapes, consider separate templates with descriptive names — it makes the library easier to navigate and steps easier to understand at a glance.