1. Request verification code
Start public onboarding by sending a 6-digit OTP to the sponsor email.
Start by requesting a sponsor OTP and exchanging it for an onboarding grant. Then validate a sample payload through signal mapping, issue the deployment bundle, store the returned org API key, make a bearer call to /v1/protocol/evaluate-decision, send live events through the webhook ingress route, optionally configure the outbound WEBHOOK callback, generate a validation pack, and use the Decision Dossier surfaces for retrieval or verification.
This is the default order for a new enterprise integration.
Start public onboarding by sending a 6-digit OTP to the sponsor email.
Exchange the email OTP for an onboarding grant and resolved org ID.
Open a zero-config session for the workflow and provider using the onboarding grant.
Upload representative payloads so Decionis can infer the source schema.
Return the org ID, API key, connector ID, webhook secret, webhook URL, and policy version in one step.
Store the deployment-bundle credentials and treat the org API key as the bearer token for the canonical decision route.
Call POST /v1/protocol/evaluate-decision with the org API key and a workflow-aligned payload.
Post live provider events into the issued Decionis webhook.
Create or update the outbound WEBHOOK callback destination if Decionis should push decisions back.
Generate a downloadable evidence bundle once the live workspace is running.
Use the Decision Dossier routes to prove one governed output.
This is the smallest useful command sequence for a partner integration.
# 1. Request the sponsor verification code
curl -X POST https://api.decionis.com/v1/public/auth/register/start \
-H "Content-Type: application/json" \
-d '{
"owner_email": "risk@example.com",
"owner_name": "Partner Risk",
"org_name": "Partner Inc"
}'
# 2. Verify the OTP and capture the onboarding grant
curl -X POST https://api.decionis.com/v1/public/auth/register/verify \
-H "Content-Type: application/json" \
-d '{
"owner_email": "risk@example.com",
"otp_code": "123456"
}'
# Response includes:
# onboarding.token
# org.id
# 3. Create a mapping session
curl -X POST https://api.decionis.com/v1/public/pilot/signal-mapping/sessions \
-H "Authorization: Bearer <onboarding_grant>" \
-H "Content-Type: application/json" \
-d '{"org_id":"<org_uuid>"}'
# 4. Upload a representative sample
curl -X POST https://api.decionis.com/v1/public/pilot/signal-mapping/sessions/<session_id>/upload \
-H "Authorization: Bearer <onboarding_grant>" \
-H "Content-Type: application/x-ndjson" \
--data-binary @sample_events_flat.jsonl
# 5. Run the dry-run verdict
curl -X POST https://api.decionis.com/v1/public/pilot/signal-mapping/sessions/<session_id>/dry-run \
-H "Authorization: Bearer <onboarding_grant>"
# 6. Issue the deployment bundle
curl -X POST https://api.decionis.com/v1/public/pilot/signal-mapping/sessions/<session_id>/deployment-bundle \
-H "Authorization: Bearer <onboarding_grant>" \
-H "Content-Type: application/json" \
-d '{"provider_key":"partner_webhook","workflow_key":"decision_intake","source_label":"primary_stream"}'
# 7. Store the returned env values
DECIONIS_API_KEY=...
DECIONIS_ORG_ID=...
DECIONIS_CONNECTOR_ID=...
DECIONIS_WEBHOOK_SECRET=...
DECIONIS_WEBHOOK_URL=...
DECIONIS_POLICY_VERSION=...
# 8. Call the canonical decision route
curl -X POST https://api.decionis.com/v1/protocol/evaluate-decision -H "Authorization: Bearer ${DECIONIS_API_KEY}" -H "Idempotency-Key: cfd-order-001" -H "Content-Type: application/json" -d '{
"org_id": "'"${DECIONIS_ORG_ID}"'",
"decision_type": "CFD_TRADE_EXECUTION",
"amount": 18000,
"risk_score": 0.74,
"objective_profile": "risk_conservative",
"mode": "ENFORCEMENT",
"workflow_key": "cfd_trade_execution",
"vertical_pack": "cfd_trade_execution",
"context": {
"broker": "Geminix Capital",
"instrument": "EURUSD",
"side": "BUY",
"order_type": "MARKET",
"notional": 18000,
"leverage": 12,
"margin_available": 5400,
"stop_loss": 1.0715,
"take_profit": 1.094,
"time_in_force": "GTC",
"approval_path": ["desk_risk", "finance_control"],
"policy_version": "cfd_trade_execution-v1"
}
}'
# 9. Optional wrapper route for higher-level surfaces
# POST https://api.decionis.com/v1/action-gate/evaluate
# 10. Send live traffic
curl -X POST https://api.decionis.com/v1/signals/webhooks/<connector_id> \
-H "Content-Type: application/json" \
-H "x-webhook-secret: whsec_xxx" \
-d '{"events":[{"type":"eligibility_assessed","timestamp":"2026-03-11T10:30:00Z","data":{"case_id":"case_123","outcome":"CONDITIONAL","risk_score":28,"channel":"study_abroad"}}]}'
# 11. Optional: configure the outbound callback destination
curl -X POST https://api.decionis.com/v1/orgs/<org_id>/integrations/WEBHOOK/connect \
-H "Authorization: Bearer dcy_org_xxx" \
-H "Content-Type: application/json" \
-d '{
"config": {
"endpoint_url": "https://partner.example.com/decionis/webhook",
"provider_name": "partner-webhook",
"workflow_id": "decision_intake"
},
"credentials": {
"webhook_secret": "whsec_partner_xxx"
}
}'
# 12. Request a downloadable validation pack
curl -X POST https://api.decionis.com/v1/orgs/<org_id>/audit-exports \
-H "Authorization: Bearer dcy_org_xxx" \
-H "Content-Type: application/json" \
-d '{
"format": "json",
"include_events": true
}'If the integration surface is Google Cloud or Vertex AI, use the dedicated adapter quickstart and OpenAPI import file rather than improvising a second decision runtime.
The Vertex page documents the phase 1 adapter route, current bearer-key auth posture, sample request, and the exact spec file to import or mirror.
/docs/vertex-ai-extensionUse this checklist when the adapter call already works and the next step is rollout validation, Cloud Monitoring checks, metering validation, and rollback posture.
/docs/vertex-go-liveThis spec is served directly from docs.decionis.com so a partner can download or mirror it into a Google Cloud-controlled location for import.
https://decionis.com/openapi/decionis-vertex-extension-v1.yamlThese two files are the cleanest starting point for new partners following the docs-only onboarding path.
Prefer a flat JSONL sample on the first run. It reduces ambiguous nested mapping during onboarding and mirrors the shape CoolDeal used to complete Resolve onboarding from the docs alone.
curl -O https://decionis.com/examples/sample_events_flat.jsonlUse the deployment bundle to fill the minimum runtime env contract. Keep the callback verification secret separate only if you configure a distinct outbound callback secret.
curl -O https://decionis.com/examples/decionis.partner.env.exampleThis is the smallest environment contract a partner typically needs after deployment-bundle issuance.
DECIONIS_API_BASE_URL=https://api.decionis.com/v1
DECIONIS_API_KEY=...
DECIONIS_ORG_ID=...
DECIONIS_CONNECTOR_ID=...
DECIONIS_WEBHOOK_SECRET=...
DECIONIS_WEBHOOK_URL=...
DECIONIS_POLICY_VERSION=...
# Optional only when outbound callbacks use a separate signing secret
DECIONIS_CALLBACK_SECRET=...Use these pages for the full route and payload details.
| Need | Docs path |
|---|---|
| Authentication and API keys | /docs/auth |
| Canonical decision evaluation | /docs/decision-evaluation |
| Sample mapping and dry-run | /docs/signal-mapping |
| Webhook ingress contract | /docs/webhooks |
| Policy bundle submission | /docs/policy-encoding |
| Validation pack exports | /docs/validation-packs |
| Decision Dossier retrieval and verification | /docs/decision-dossier |
| Vertex AI extension path | /docs/vertex-ai-extension |
| Vertex go-live checklist | /docs/vertex-go-live |