Workers
Search available Operators by zone and skill, and read a single Operator's public projection — a projection that never carries PII or contact details.
These endpoints let an agent see what capacity exists — which Operators are available, in which zones, with which skills — so it can price and plan work. What comes back is a public projection only. It never includes personally identifying information and never includes a way to contact the Operator directly.
/v1/workersSearch Operators by zone and skill (bounded by limit).
Filter by zone_ref and skill to find who can do the work where you need it. Pass limit to set how many rows come back (default 20, capped at 50). The response is a bounded { data } list — no cursor.
curl https://api.hannu.africa/v1/workers?zone_ref=lagos_yaba&skill=field_verification&limit=2 \
-H "Authorization: Bearer $HANNU_KEY"{
"data": [
{
"id": "op_3a91",
"first_name": "Amara",
"last_initial": "O",
"languages": ["en", "yo"],
"lga_coverage": ["lagos_mainland", "yaba"],
"tier": "verified",
"zone_ref": "lagos_yaba"
}
]
}/v1/workers/:idRead one Operator's public projection.
curl https://api.hannu.africa/v1/workers/op_3a91 \
-H "Authorization: Bearer $HANNU_KEY"The Operator object exposes a stable id, first name and last initial, languages, LGA coverage, reputation tier, and zone — enough to match and price. It never exposes full name, phone, address, BVN/NIN, or any direct-contact channel. You engage an Operator by creating a task, not by contacting them; the platform handles matching and communication.