Skip to main content

Proxy API

Anonymous proxy phone numbers connecting two endpoints Base path: /api/v1/proxy Endpoint count: 14

List registered prefixes

GET /api/v1/proxy/prefixes
List the org’s registered prefix announcements with failover and health state.

Get a registered prefix

GET /api/v1/proxy/prefixes/{id}
Fetch one prefix announcement (org-scoped).
string
required

Read failover group status

GET /api/v1/proxy/prefixes/{id}/failover
Read the failover group members and drain status. Evaluation is on-demand: any active member whose health has been ‘unhealthy’ past its threshold is withdrawn here.
string
required

Read fencing policy + violation ledger

GET /api/v1/proxy/prefixes/{id}/policy
Read the fencing policy and the persistent violation ledger (count + last breach time) ledgered on the prefix row.
string
required

List proxy sessions

GET /api/v1/proxy/sessions
List proxy sessions with cursor-based pagination and optional status filter.

Get proxy session

GET /api/v1/proxy/sessions/{id}
Retrieve a single proxy session by ID.
string
required

Inbound proxy webhook

POST /api/v1/proxy/inbound
Internal webhook handler for inbound SMS/calls to proxy numbers. Looks up the session and forwards to the other participant.

Register a BYO IP prefix announcement

POST /api/v1/proxy/prefixes
Register an IP prefix (CIDR) for announcement on the Devotel edge. The org’s first ‘root’ registration enforces the single parent /22 cap; ASN shape failures land as ‘pending_validation’.

Report prefix health

POST /api/v1/proxy/prefixes/{id}/health
Edge-reported health observation feeding failover evaluation. ‘unhealthy’ sustained past the threshold drains the active prefix.
string
required

Report a fencing violation

POST /api/v1/proxy/prefixes/{id}/violations
Edge-reported fencing breach — atomically bumps the persisted violation counter on the prefix row.
string
required

Create proxy session

POST /api/v1/proxy/sessions
Create a new number masking proxy session between two participants. Allocates a proxy number from the pool.
string
required
First participant’s phone number in E.164 format (e.g. +14155552671). Traffic the other participant sends to the allocated proxy number is relayed to this number.
string
required
Second participant’s phone number in E.164 format (e.g. +14155559876). Traffic the first participant sends to the allocated proxy number is relayed to this number.
integer
How long the session stays active before it expires, in minutes. Defaults to 60; range 1–1440 (24 hours).

Configure BGP failover pairing

PUT /api/v1/proxy/prefixes/{id}/failover
Pair the prefix into a failover group as ‘active’ or ‘standby’. Sustained ‘unhealthy’ health past the threshold drains the active (<30s drain budget) and the standby announces.
string
required

Configure traffic-fencing policy

PUT /api/v1/proxy/prefixes/{id}/policy
Upsert the per-prefix bits-per-second cap and breach action (‘log’ = record only, ‘reject’ = edge drops excess). One policy per prefix.
string
required

Close proxy session

DELETE /api/v1/proxy/sessions/{id}
End a proxy session and release the proxy number back to the pool.
string
required