FAQ

  • GitHub GitHub Repo stars
  • Discord Discord Server
  • ✨ New! Try the OpenAPI Doctor ✨ The OpenAPI Doctor
    Recommended

    arazzo-expression


    Formats: Severity:

    arazzo-expression checks every runtime expression in the workflow, the $steps.thing.outputs.value strings that wire one step to the next. They have to parse, and they have to make sense where they are used.

    Why did this violation appear?

    An expression uses an unknown prefix, has invalid syntax, or is used somewhere that kind of expression is not available.

    Bad example

    arazzo: 1.0.1
    info:
      title: Read a pet
      version: '1.0'
      description: Retrieve a pet from the API.
      summary: Read a pet.
    sourceDescriptions:
      - name: api
        url: api.yaml
        type: openapi
    workflows:
      - workflowId: readPet
        description: Retrieve a pet.
        summary: Read a pet.
        steps:
          - stepId: read
            description: Call the read operation.
            operationId: $sourceDescriptions.api.read
            outputs:
              pet: $nonsense.body
    
    unknown expression prefix: "$nonsense.body"
    

    Good example

    arazzo: 1.0.1
    info:
      title: Read a pet
      version: '1.0'
      description: Retrieve a pet from the API.
      summary: Read a pet.
    sourceDescriptions:
      - name: api
        url: api.yaml
        type: openapi
    workflows:
      - workflowId: readPet
        description: Retrieve a pet.
        summary: Read a pet.
        steps:
          - stepId: read
            description: Call the read operation.
            operationId: $sourceDescriptions.api.read
            outputs:
              pet: $response.body
    

    How do I fix this violation?

    Correct the expression. The message quotes the part that failed. Success criteria conditions are checked too, including the syntax of jsonpath conditions.

    This rule reports findings from vacuum’s shared Arazzo validation pass, using the arazzoDocument function.