Check the API contract behind the journey.

Call operations from a pinned OpenAPI document, assert their status and JSON fields, and capture public values for later flow steps.

reflow / OpenAPI · test itemIllustrative example
get-item.rfl · excerptLine 4 · selected step

Illustrative playback. Contract digest abbreviated in the request line; expand Complete flow step for exact source. Checkpoint names and comparison comments are presentation labels. Select a checkpoint line to inspect its output; preceding lines provide context.

Output · selected step
getItemPinned contract
sha256:9c491f4050369bc8572eaf86ab1333bad35dabb38f11a890f94b4bd0d2a37444

The synthetic item API from the guide. The test item already exists.

Declared requestapi: OpenAPI
GET /items.get
Query · id
3f2b8c1e-5a4d-4e6f-9b7a-1c2d3e4f5a6b
Header · X-Project
default

The binding supplies the server and private session credential. One request; no automatic retries.

Retained evidence · illustrativeconfirmed
HTTP status
200
JSON assertion
/id · equals · pass

Assertion results omit target and operand values. Raw response bodies are not retained.

Agent review · example

The expected public item id was returned. Check this API result alongside the rest of the journey. A confirmed response can still fail its assertions.

getItem safe evidence · snapshot deltaIllustrative comparison
Retained fieldBeforeAfter
Completionconfirmedconfirmed
HTTP status200200
/id · equalspasspass

Delta: safe status and assertion results unchanged. This comparison does not expose or compare a retained raw response body.

Complete flow step

Use the guide’s exact spec and private binding with an owned test server. This illustration does not send a request.

---
providers:
  api: OpenAPI
---

api.call (
  operationId="getItem"
  spec="sha256:9c491f4050369bc8572eaf86ab1333bad35dabb38f11a890f94b4bd0d2a37444"
  query=json(
    {"id":"3f2b8c1e-5a4d-4e6f-9b7a-1c2d3e4f5a6b"}
  )
  header=json(
    {"X-Project":"default"}
  )
  expect=json(
    {"status":200,"json":[{"pointer":"/id","equals":"3f2b8c1e-5a4d-4e6f-9b7a-1c2d3e4f5a6b"}]}
  )
)

Use the API your application declares.

Select an operation by name. Reflow validates its declared parameters and JSON body before sending one request to the privately configured server.

  • Declared status and completion
  • Values-free JSON assertion results
  • Public scalar captures and safe body hashes

Assert the response and retain safe evidence.

Check a declared success or error status and public JSON fields. Sensitive fields and known private values are withheld from captures and response comparisons.

Your agent can check that a test item exists, capture its public identifier, and pass that identifier into another declared operation. A complete response can still fail its assertions; an uncertain request requires reconciliation before another write.

Bring the evidence into PR review

Inspect a pinned operation before sending a request

This example uses the exact synthetic item spec in the OpenAPI guide. Configure its absolute private spec path, digest and API base URL in the api binding. The guide includes a complete request, public capture and follow-up flow.

Your agent can inspect the installed plugin’s commands and write the flow using your application knowledge. Select the plugin version in the flow’s requirements.

Flow excerptOpenAPI
---
providers:
  api: OpenAPI
---

api.describe_operation operationId="getItem" spec="sha256:9c491f4050369bc8572eaf86ab1333bad35dabb38f11a890f94b4bd0d2a37444"

Plugin requirements and private connection settings are configured separately.

Check the rest
of the application.