Documentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.
One prompt. End-to-end Didit integration.
The fastest way to integrate Didit into any application is to hand this prompt to an AI coding agent. It walks the agent through programmatic account creation, SDK install, workflow setup, session creation, webhooks with HMAC-SHA256 signature verification, and decision handling — every endpoint, header, package name, and price has been cross-checked against the canonical docs on this site. How to use:- Open Claude Code, Codex, Cursor, GitHub Copilot, Devin, or any AI coding agent that can run shell commands.
- Click Copy Prompt below.
- Paste into your agent’s chat.
- Fill in the
<my_stack>block with your framework / language / use case. - Hit enter.
What the prompt covers
| Step | What the agent does |
|---|---|
| 1. Register | Two API calls to https://apx.didit.me/auth/v2/programmatic/{register,verify-email}/ — returns the api_key |
| 2. Choose approach | Sessions API + SDK (recommended for any user-facing flow) or Standalone APIs (server-to-server, custom UI) |
| 3. Create workflow | POST /v3/workflows/ with the canonical body shape: {workflow_label, features: [{feature: "OCR"}, ...]} using UPPERCASE feature enums |
| 4. Install SDK | Picks the right package for your stack: @didit-protocol/sdk-web, didit-sdk-ios (SPM), me.didit:didit-sdk (Maven), @didit-protocol/sdk-react-native, or didit_sdk (Flutter) |
| 5. Create session | POST /v3/session/ with workflow_id, vendor_data, callback — frontend opens the returned url via SDK / iframe / redirect |
| 6. Set up webhook | Registers a webhook destination, builds the receiver with the canonical X-Signature-V2 pipeline (shortenFloats → sortKeys → JSON.stringify → HMAC-SHA256 → constant-time compare) |
| 7. Apply decision | Database-update logic for all 10 session statuses (Not Started, In Progress, Awaiting User, In Review, Approved, Declined, Resubmitted, Abandoned, Expired, Kyc Expired) + idempotent dedupe |
.cursor/mcp.json / claude_desktop_config.json.
Why this works as a one-prompt integration
- Self-sufficient. Every step has a runnable cURL or code snippet — the agent never has to leave the prompt to look up a body shape, header, or endpoint.
- Canonical. Each endpoint and field name is verified against
openapi-25.jsonand the live.mdxreference pages on this site (linked at the bottom of the prompt). - Bounded. ~5,000 tokens — fits in any modern agent context with room left for your stack description and the agent’s planning notes.
- Idempotent. Tells the agent to dedupe webhook deliveries on
session_id + webhook_type + timestamp(sessions) orevent_id(transactions) so the integration is production-safe from the first deploy. - Status-machine complete. The agent’s database-update logic handles every status the production fleet emits, including the KYB-only
Awaiting Userstate and the post-onboardingKyc Expiredstate most integrators miss.
See also
- Programmatic Registration — the 2-call register / verify-email flow used at the top of the prompt
- AI Agent Integration (MCP) — full MCP tool catalogue (40+ tools) referenced at the bottom of the prompt
- SDKs Overview — pick the right SDK for your stack
- Webhooks — canonical X-Signature-V2 implementation + retry policy
- Create Session — the request shape the agent uses in step 5
- Pricing — the public per-module prices the prompt references