Objects
TelDev is a control plane. Every write creates durable objects you can fetch later. IDs keep their prefixes.
| Prefix | Object | Example |
| --- | --- | --- |
| nl_test_ / nl_live_ | API key | nl_test_northline_clinic_8f291c44a |
| num_ | Number | num_demo |
| call_ | Call | call_… |
| msg_ | Message | msg_… |
| ses_ | Session | ses_… |
| evt_ | Event | evt_… |
| agt_ | Agent | agt_clinic_front, agt_brief_420 |
| rte_ | Route | rte_default |
| cmp_ | Campaign | cmp_clinic, cmp_12 |
| tnx_ | Carrier reference (test / mock Telnyx) | tnx_… |
Number
A TelDev-owned E.164. carrier and carrier_ref record which carrier provisioned it (carrier=telnyx). Test keys never call a carrier; they still return those fields so objects stay uniform. Live buys attach the number to rte_default via the Telnyx voice app and messaging profile.
Call / Message
Outbound voice or SMS. from must be an owned number. Each create opens a session. If agent is set, the object includes stream_url (wss://rt.teldev.bot/sessions/{ses_…}).
Session
The realtime control object for a call or message. Hosts:
- Realtime:
wss://rt.teldev.bot - Dev / listen:
https://dev-<id>.teldev.bot
Campaign
10DLC-style approval set. TelDev fails closed: missing, unknown, or unapproved campaigns return 422 campaign_not_approved. Seed: cmp_clinic (approved), cmp_12 (T-Mobile not approved).
Event
Append-only account log. Page with GET /v1/events?after={evt_id}.
Usage
Account invoice view. The clinic seed returns clinicInvoice(): $323.30 billed / $56.70 carrier.