01How it works
We call your agent; it never calls us. You register your TEST or STAGING agent’s public https:// address and the format it already speaks. Our simulated counterparties hold conversations with it, a referee records what actually happened (offers, refunds, payments, disclosures), and rule checks score it against your own business rules.
02Quickstart
From nothing to an agent that is connected, checked and ready to test.
- Create an account and an API key. Sign up, then open API keys in the dashboard. Keep the key in an environment variable, never in your code:
export DUELPOINT_API_KEY="dp_live_…" - Connect your test agent. Its address, the format it speaks and its key, if it needs one:
curl -X POST https://api.duelpointai.com/v1/agents \ -H "Authorization: Bearer $DUELPOINT_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name": "Support bot (staging)", "connector_type": "openai_compatible", "endpoint_url": "https://staging.acme.example/v1/chat/completions", "credential": {"kind": "bearer", "token": "sk-staging-…"}}' - Check we can reach it. We send one harmless greeting and tell you plainly what happened:
curl -X POST https://api.duelpointai.com/v1/agents/AGENT_ID/connection-test \ -H "Authorization: Bearer $DUELPOINT_API_KEY" - Confirm it is a test agent. Nothing is ever sent to an agent before this: our counterparties will try to talk it into discounts, refunds and payments.
curl -X POST https://api.duelpointai.com/v1/agents/AGENT_ID/test-mode-confirmation \ -H "Authorization: Bearer $DUELPOINT_API_KEY" \ -H "Content-Type: application/json" \ -d '{"accept": true}' - Test it. Buy a test in the dashboard: an Agent Check reports the same day. After your fixes, a re-test runs the same test again and shows what changed against the first ($70 after an Agent Check; one is included with every Assessment).
03API keys
- Created and revoked only in the dashboard, by owners and admins, so a leaked key can never make more keys. A key is shown once; we keep only a fingerprint.
- A key may do what its creator may do, and every key has an end date (at most a year), enforced by our database, not just the API.
- Errors are plain English, as
{"detail": "…"}: 401 key, 403 not allowed, 404 not found, 422 something to fix, 429 a limit, 503 not available to your account yet.
04Where next
Read Connect your agent for the exact request and reply in each format, then Read the results for scores, ranges and comparisons with your re-tests. Every endpoint is in the API reference.