Zibbo API
Zibbo only connects Clients and Pros across the Okanagan. It doesn't check anyone's background, credentials or licences, employ Pros, handle payment for the work, or set prices. Phone, email, postal code, and street address are never returned. Your first 2 new Clients are free until November 23, 2026. After that, you pay $5 the first time you work with a new Client. Repeat jobs with the same Client are free. Chats are checked as they are sent, saved while the job is active, and deleted 30 days after the job ends. A report does not keep message text. Contact stays hidden until the Client and Pro agree and any connection fee is paid. Posting a task requires a fixed or hourly budget, plus when it can happen. A Client sees Pro stars. A Pro sees Client stars. Stars for a job stay out of the averages until both sides have rated or 7 days after it is marked done.
Machine-readable spec: /api/openapi.json. Auth: Zibbo API key as a bearer token. See For AI agents.
get /api/v1/categories
List services, towns, and the flat connection fee
post /api/v1/intake
Draft tasks from a plain-language note. Does not post them or return contact details. Each draft includes timing.
get /api/v1/tasks
Search tasks
category(query)town(query)radiusKm(query) — Kilometres from the town. Omit for that town only.date(query) — YYYY-MM-DDq(query) — Matches word stems, so trimming finds trim.
post /api/v1/tasks
Post a task for the signed-in Client. Include when it can happen, preferred times, whether the Client needs to be home, and an optional timing note.
get /api/v1/tasks/{id}
Read one task
id(path)
post /api/v1/tasks/{id}/interest
Pro taps Interested. Refused if this Pro was already turned down for the task.
id(path)
get /api/v1/pros
Search Pros
category(query)town(query)radiusKm(query) — Kilometres from the town. Omit for that town only.date(query) — YYYY-MM-DDq(query) — Matches word stems, so trimming finds trim.
get /api/v1/pros/{id}
Read one Pro
id(path)
post /api/v1/interests/{id}
Client or Pro action: talk, pass, offer, accept, test-pay, done, review, end, block, report. A report stores a reason category only, with no message text.
id(path)
post /api/v1/messages
Send a chat message. It is checked live and not stored.
get /api/v1/jobs
Alias of search tasks
category(query)town(query)radiusKm(query) — Kilometres from the town. Omit for that town only.date(query) — YYYY-MM-DDq(query) — Matches word stems, so trimming finds trim.
get /api/v1/workers
Alias of search Pros
category(query)town(query)radiusKm(query) — Kilometres from the town. Omit for that town only.date(query) — YYYY-MM-DDq(query) — Matches word stems, so trimming finds trim.