Skip to main content
The journey YAML is the canonical, text-based representation of a journey. Reqflo keeps the Visual and YAML editors in sync, so every change in one view is reflected immediately in the other. You can edit YAML directly in the browser at Build → YAML, or maintain .yaml files in version control and import them.

Representative example

journey:
  name: "Create and verify order"
  description: "Places an order and confirms it appears in the order list."
  version: "1.2.0"
  owner: "payments-team"
  tags:
    - orders
    - smoke
  base_template: "create-order-v2"
  overlays: []

  inputs:
    - name: customer_id
      required: true
      description: "Customer to place the order for"
    - name: product_sku
      required: true

  variables:
    - name: auth_token
      source: me
    - name: base_url
      source: environment

  steps:
    - id: create_order
      name: "Create order"
      type: http_request
      template: "POST /orders"
      values:
        customer_id: "{{ inputs.customer_id }}"
        product_sku: "{{ inputs.product_sku }}"
        authorization: "Bearer {{ variables.auth_token }}"
      assertions:
        - type: status_code
          expected: 201
        - type: json_path
          path: "$.order.id"
          operator: exists

    - id: verify_order
      name: "Verify order in list"
      type: http_request
      template: "GET /orders"
      values:
        authorization: "Bearer {{ variables.auth_token }}"
      assertions:
        - type: status_code
          expected: 200
        - type: json_path
          path: "$.orders[*].id"
          operator: contains
          expected: "{{ steps.create_order.body.order.id }}"

Top-level fields

FieldTypeRequiredDescription
journey.namestringyesHuman-readable journey name. Shown in the UI and CLI output.
journey.descriptionstringnoShort summary of what the journey does.
journey.versionstringnoSemantic version string (e.g. 1.2.0). Managed via the Details panel.
journey.ownerstringnoTeam or individual who owns this journey.
journey.tagsstring[]noFreeform labels for filtering and discovery.
journey.base_templatestringnoName of the base request template this journey derives from.
journey.overlaysstring[]noNamed overlays applied on top of the base template.
journey.inputsInput[]noRun inputs declared for the journey.
journey.variablesVariable[]noVariables declared for the journey.
journey.stepsStep[]yesOrdered list of steps. Must contain at least one step.

inputs fields

FieldTypeRequiredDescription
namestringyesInput identifier. Referenced in expressions as {{ inputs.name }}.
requiredbooleannoWhether a missing value blocks the run. Defaults to false.
descriptionstringnoDescription shown in the Values panel and Runbook UI.
defaultstringnoFallback value used when no input is supplied at run time.

variables fields

FieldTypeRequiredDescription
namestringyesVariable identifier. Referenced in expressions as {{ variables.name }}.
sourcestringnoWhere the value comes from: environment, me, hard_coded, preset, or omitted for manual configuration.
valuestringnoHard-coded value. Only meaningful when source is hard_coded.

steps fields

FieldTypeRequiredDescription
idstringyesUnique step identifier within the journey. Used in step output references such as {{ steps.<id>.body.<path> }}.
namestringyesHuman-readable step label.
typestringyesStep type. Currently only http_request is supported. See Step types.
templatestringyes (http_request)Request template to use, matched from the request template library.
valuesmapnoKey/value pairs supplying values to the request template fields. Values can be literals or template expressions.
assertionsAssertion[]noAssertions evaluated after the step completes. See Assertion reference.

Template expressions

Values in values blocks support {{ ... }} expressions for dynamic references.
ExpressionResolves to
{{ inputs.<name> }}A run input value
{{ variables.<name> }}A declared variable
{{ steps.<id>.body.<path> }}A field from a previous step’s response body
{{ steps.<id>.headers.<name> }}A response header from a previous step
{{ steps.<id>.status }}The HTTP status code from a previous step
{{ env.<name> }}An environment value
{{ secrets.<name> }}A secret reference (resolved at run time; never displayed)
{{ me.<field> }}A user-specific “me” value
Secret references are resolved by the Cloud Runner (for cloud runs) or the local environment (for local CLI runs). The secret value is never written into the YAML or displayed in the UI.