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 verifyor 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 refereeA 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:runSee running an evaluation for the episode flow and how to read the verdict.
IRONHIDE