Ironhide logoIRONHIDETest Your Agent

Verify the connection

Verification is a fast, free check that your ci agent is registered and ready before you drive a real episode. Every agent starts unverified and must pass verification before it can run episodes or gate in CI.

No trajectory is ever recorded from a verification, so run it as often as you like:

$ ironhide verify

or over the API, authenticated with your wk_live_ key:

$ curl -s -X POST https://app.ironhideai.com/agents/agt_9f2c11/verify \
    -H "Authorization: Bearer wk_live_4c8d…"

On success the CLI stamps the agent verified and points you at the next step:

✓ verified  (1843 ms) — your agent speaks the contract.
next: ironhide episode run to drive an episode through the referee

A failure returns a 200 with passed: false, a specific error code, a message, and a fix hint. A 502 driver_unavailable is reserved for Ironhide-side infrastructure failures — not your agent's fault, retry.

What verification confirms#

Verification checks that the connection is real and usable end to end:

  • your wk_live_ token authenticates and resolves to this agent;
  • the agent is on a supported contract version (v2, the default);
  • the referee can hand your agent an episode manifest and accept a submitted trajectory back.

Because your agent runs inside your own pipeline, there is no endpoint for Ironhide to reach and no container to pull — verification is about credentials and contract, not network plumbing. The proof that your agent behaves correctly comes from the episodes themselves.

Reading the result#

Success:

{
  "agent_id": "agt_9f2c11",
  "passed": true,
  "error_code": null,
  "message": "",
  "hint": "",
  "latency_ms": 1843,
  "status": "verified",
  "contract_version": "v2"
}

Failure:

{
  "agent_id": "agt_9f2c11",
  "passed": false,
  "error_code": "contract_unavailable",
  "message": "Your agent failed verification.",
  "hint": "Confirm the agent is registered in ci mode on contract v2.",
  "latency_ms": 120,
  "status": "failing",
  "contract_version": "v2"
}

The outcome is stamped on the registration: status flips to verified or failing, and ironhide status shows the last verification result.

Next steps#

Once passed is true, drive a real episode:

$ ironhide episode run --episode-id <alias> --adapter my_pkg.agent:run

See running an evaluation for the episode flow and how to read the verdict.