TelDev

Endpoints

Base host: https://teldev.bot (local: http://127.0.0.1:3000).

Auth: Authorization: Bearer nl_test_… or nl_live_….

GET /health is open.

| Method | Path | Notes |

| --- | --- | --- |

| GET | /health | { "ok": true } |

| POST | /v1/numbers | Provision. Body: { area_code?, campaign? } |

| POST | /v1/calls | { from, to, agent?, campaign? } |

| POST | /v1/messages | { from, to, body, agent?, campaign? } |

| GET | /v1/calls/:id | |

| GET | /v1/messages/:id | |

| GET | /v1/sessions/:id | |

| GET | /v1/events?after= | Events after evt_… |

| GET | /v1/usage | Clinic invoice totals |

| POST | /internal/telnyx/voice | Telnyx Call Control webhooks (signature required) |

| POST | /internal/telnyx/sms | Telnyx messaging webhooks (signature required) |

Every call and message creates a session. stream_url is present when agent is set.

Internal Telnyx handlers verify telnyx-signature-ed25519 and telnyx-timestamp. Invalid signature is 401 and does not append an Event.

Seed

  • Key: nl_test_northline_clinic_8f291c44a
  • Number: num_demo (+14155550100)
  • Route: rte_default
  • Agents: agt_clinic_front, agt_brief_420
  • Campaigns: cmp_clinic (approved), cmp_12 (T-Mobile not approved)

T-Mobile fixture: +15551201234. AT&T fixture: +15551301234.

Twilio aliases

Only if TELDEV_TWILIO_ALIASES=1:

  • POST /2010-04-01/Accounts/:sid/Messages.json
  • POST /2010-04-01/Accounts/:sid/Calls.json

Still require a TelDev Bearer key. Not linked from the homepage.