01 / 04
Submit an exact proposal
/api/v1/proposalsEXPIRES_AT="$(node -e 'const expiresAt = new Date(Date.now() + 30 * 60 * 1000).toISOString(); console.log(expiresAt)')"
curl -X POST https://agenthail.com/api/v1/proposals \
-H "Authorization: Bearer ah_live_..." \
-H "Idempotency-Key: 2bb7c286-c76f-4e7a-838d-c2c47c4799ac" \
-H "Content-Type: application/json" \
--data-binary @- <<JSON
{
"agent_run_id": "n8n_run_2048",
"tool": "stripe",
"action_type": "create_refund",
"arguments": {
"invoice_id": "INV-2048",
"amount": 12500,
"currency": "USD"
},
"target": {
"type": "invoice",
"id": "INV-2048",
"version": "7"
},
"summary": "Refund invoice INV-2048",
"policy": {
"version": "refunds-v3",
"reference": "policy://billing/refunds"
},
"expires_at": "$EXPIRES_AT"
}
JSON201 response · save the token and resume reference
{
"proposal_id": "req_...",
"state": "proposed",
"version": 1,
"proposal_version": 1,
"payload_hash": "...",
"resume_reference": "ahrsm_...",
"requester_token": "ahr_...",
"status_url": "https://agenthail.com/api/v1/proposals/req_...",
"receipt_url": "https://agenthail.com/api/v1/proposals/req_.../receipt"
}