Health and signup
GET /healthPOST /v1/auth/signupGET /v1/dashboardPOST /v1/auth/keys{"email":"developer@example.com","company_name":"Acme Corp"}Sendeni uses bearer API keys for `/v1` APIs. Identity includes the working consent simulator. Pay, Talk, Locate, and AI return deterministic sandbox responses through adapter boundaries.
GET /healthPOST /v1/auth/signupGET /v1/dashboardPOST /v1/auth/keys{"email":"developer@example.com","company_name":"Acme Corp"}POST /v1/identity/verifycurl -X POST https://api-staging.sendeni.io/v1/identity/verify \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000001","verification_type":"age_over_18"}'POST /v1/identity/age-gatecurl -X POST https://api-staging.sendeni.io/v1/identity/age-gate \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000001","minimum_age":18}'POST /v1/identity/matchcurl -X POST https://api-staging.sendeni.io/v1/identity/match \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000016","first_name":"Aisha","last_name":"Patel","id_number":"9204070200089"}'POST /v1/pay/chargescurl -X POST https://api-staging.sendeni.io/v1/pay/charges \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000001","amount":"49.99","currency":"ZAR","merchant_reference":"sandbox-order-1001"}'POST /v1/talk/messagescurl -X POST https://api-staging.sendeni.io/v1/talk/messages \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"to":"+27820000001","channel":"sms","body":"Your Sendeni sandbox code is 123456"}'POST /v1/locate/verify-presencecurl -X POST https://api-staging.sendeni.io/v1/locate/verify-presence \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000001","latitude":-26.2041,"longitude":28.0473,"radius_meters":250}'POST /v1/ai/risk-scorecurl -X POST https://api-staging.sendeni.io/v1/ai/risk-score \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{"phone_number":"+27820000001","transaction_amount":"499.00","merchant_category":"wallet_topup","signals":{"device_trust":"medium","velocity":"normal"}}'curl "https://api-staging.sendeni.io/v1/identity/kyc-lite?phone_number=%2B27820000001" \ -H "Authorization: Bearer sk_test_..."
The dashboard counts requests by product and compares usage against the sandbox monthly limit. This is the foundation for future plan limits, invoices, and product-specific pricing.