Capabilities
Designed by and for engineers.
JWT authentication
HS256 signed JWT, shared between AYILand and AYI. Per-wallet rate limit (Redis atomic).
HMAC-signed webhooks
HMAC-SHA256 on the body, retries up to 24h, manual replay from the dashboard.
Idempotency-Key
Every POST can be safely replayed using a client-provided idempotency key.
OpenAPI 3.1
Full downloadable spec, client generation in 30+ languages via openapi-generator.
Unlimited sandbox
Data isolated per account, prefilled test scenarios (success, failure, timeout).
Immutable audit
Append-only PostgreSQL, severity-tagged, OHADA compliant (CNDP: Year 1 target). Logs accessible via API.
Main endpoints
One API. Two products. Thirty endpoints.
POST
/v1/parcelsCreate a parcel certification request.
GET
/v1/parcels/{id}Fetch a parcel and its soulbound token.
POST
/v1/parcels/{id}/transferInitiate a transfer of ownership.
GET
/v1/registry/verify/{hash}Verify a certificate authenticity.
POST
/v1/ayi/messagesSend a message to AYI (multi-language).
POST
/v1/ayi/voiceUpload an audio file (Whisper STT).
POST
/v1/ayi/sessionsCreate a persistent conversational session.
POST
/v1/webhooks/{provider}Receive HMAC-signed events.
GET
/v1/healthPlatform health probe.
Quickstart
One request. One certified parcel.
Curl. Postman. Node SDK. Python SDK (coming).
curlNode 20Python 3.11+Postman
curl -X POST https://api.ayitech.io/v1/parcels \
-H "Authorization: Bearer kp_sandbox_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"owner": {
"fullName": "...",
"id_doc": "..."
},
"parcel": {
"gps": [6.3654, 2.4183],
"area_m2": 540,
"city": "Cotonou"
},
"notary": "NOT-COT-014"
}'