write key comes from
Dashboard → Settings → API Keys and goes into your secret manager as
RECONIFY_API_KEY, because an agent has no business creating credentials or deciding
where secrets live.
Which flow to use is not a decision you make up front. The prompt has the agent work
that out from your code and confirm it with you.
Copy this prompt
The prompt runs in four phases and stops for your approval twice, because an agent that starts writing a sender before it understands how your money moves maps the wrong identifiers, and the mapping is the expensive part to fix later. It carries no project-specific detail on purpose, since discovering that is the agent’s first job.Check what it produced
The mapping the agent proposes is the deliverable worth scrutinizing. A correct one names your own identifiers rather than repeating the documentation:
Each value has to serve its own role:
reference correlates an operation, and entity_id
identifies its wallet or order. The contract allows the same source identifier in both
roles where that is genuinely correct.
Six mistakes account for most of what agents get wrong against this API:
amount sent as a number
amount sent as a number
"amount": 150.00 is rejected. It must be "amount": "150.00". Watch for a
float in Python or a bare number in JavaScript.reference and entity_id swapped
reference and entity_id swapped
reference correlates the operation, and entity_id names the wallet or order.
Swapping them produces events that never correlate, so every operation looks
incomplete.Random event IDs
Random event IDs
A
uuid4() generated at send time defeats retry safety. The ID must be derived
from the source system so the same event produces the same ID twice.Results ignored
Results ignored
A
202 response does not mean every event was stored. If the code does not loop
over results, rejections are silent.An invented webhook handler
An invented webhook handler
There is no outbound webhook. If the agent added a
/webhooks/reconify route,
delete it and poll GET /v2/issues?status=open instead.Tests that call the live API
Tests that call the live API
There is no sandbox. Tests must use a fake HTTP client. Both SDKs support this:
pass
fetch in TypeScript, or http_client in Python.Keep the rules in your repo
Agents forget prompts between sessions, and a rules file does not. The text below belongs inAGENTS.md at your repository root, on its own or appended to an existing file. Claude
Code, Cursor, Codex, and several other tools read it automatically.
AGENTS.md rules for Reconify
AGENTS.md rules for Reconify