Quickstart

Five minutes from zero to your first consented data payload.

1. Create a product

In the partner portal, build a product describing the data you need, the purpose, and the lifetime. You'll get a product_id like prd_8a4....

2. Generate API keys

Under API keys create a sandbox client. Save the client_secret — it's shown only once.

3. Create a session

curl -X POST https://notify.ucap.africa/api/public/v1/sessions \
  -u "$UCAP_CLIENT_ID:$UCAP_CLIENT_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "prd_8a4f...",
    "external_reference": "loan_app_42",
    "return_url": "https://yourapp.com/loan/complete"
  }'
{
  "session_id": "ses_01HW9...",
  "session_url": "https://notify.ucap.africa/consent/ses_01HW9...",
  "expires_at": "2026-05-21T12:30:00Z",
  "status": "created"
}

4. Send the consumer to the session

Redirect to session_url or open it in a popup using the embed button. After they approve we'll redirect back to your return_url with ?session_id=…&status=granted.

5. Pull the consented payload

curl https://notify.ucap.africa/api/public/v1/sessions/ses_01HW9.../data \
  -u "$UCAP_CLIENT_ID:$UCAP_CLIENT_SECRET"

Or wait for the session.granted webhook and pull on demand.