Number Pools API

Create Edesy Collect caller-ID pools, add and remove numbers, list numbers with health, and flag or reactivate a number through the REST API.

1 min read

Base URL
https://voice-api.edesy.in/v1/collect
Auth
Authorization: Bearer sk_...Get a key

Pool endpoints manage the caller-ID numbers a reminder campaign rotates through. Create a pool with a rotation strategy, add numbers your workspace owns (up to 6 per pool), list them with their health and last-used time, and change a number's health to take it out of rotation or bring it back.

Create a pool#

POST/v1/collect/pools
Field Type Required Description
name string Required Pool name
rotation string Optional round_robin (default), least_recently_used or sticky_then_rotate
{
  "data": {
    "id": "2b0c...",
    "tenant_id": "9f1e...",
    "name": "Collections pool",
    "rotation": "round_robin",
    "created_at": "2026-10-28T05:30:00Z",
    "updated_at": "2026-10-28T05:30:00Z"
  }
}

An empty name or unknown rotation returns 400.

List and delete pools#

GET    /v1/collect/pools
DELETE /v1/collect/pools/:id

Delete returns 204.

Add a number#

POST/v1/collect/pools/:id/numbers
Field Type Required Description
phone_number_id uuid Required ID of a number on your account
from_number string Required The same number in E.164

Returns 201 with the pool member (id, pool_id, phone_number_id, from_number, health: "active"). A full pool returns 400 pool is at the 6-number limit.

List numbers#

GET/v1/collect/pools/:id/numbers

Each member has id, from_number, health and last_used_at.

Remove a number#

DELETE/v1/collect/pools/:id/numbers/:memberId

Returns 204. The number stays on your account; only its pool membership is removed.

Set health#

PATCH/v1/collect/pools/:id/numbers/:memberId/health
{ "health": "flagged" }

health is active, flagged or retired. Only active numbers are used for calls. Returns {"status": "ok"}. See Spam Flag and Health.

Was this page helpful?