Skip to main content
GET
/
v1
/
phone
/
:id
/
messages
curl "https://api.usenaive.ai/v1/phone/phone-uuid/messages?limit=50" \
  -H "Authorization: Bearer nv_sk_live_..."
{
  "messages": [
    {
      "id": "msg-uuid",
      "from": "+14155551234",
      "to": "+14155550000",
      "body_preview": "Yes please reschedule for Friday",
      "num_media": 0,
      "received_at": "2026-05-01T18:06:00.000Z"
    }
  ],
  "next_cursor": null
}
Lists received SMS for a phone number, newest first, with cursor-based pagination. Inbound SMS works immediately on provisioning — there is no carrier gate on receiving.

Path Parameters

ParameterTypeDescription
idstringUUID of the phone number

Query Parameters

ParameterTypeDescription
limitnumberMax messages (default 20, max 100)
cursorstringPagination cursor (next_cursor from a previous call)
curl "https://api.usenaive.ai/v1/phone/phone-uuid/messages?limit=50" \
  -H "Authorization: Bearer nv_sk_live_..."
{
  "messages": [
    {
      "id": "msg-uuid",
      "from": "+14155551234",
      "to": "+14155550000",
      "body_preview": "Yes please reschedule for Friday",
      "num_media": 0,
      "received_at": "2026-05-01T18:06:00.000Z"
    }
  ],
  "next_cursor": null
}

Read a single message

GET /v1/phone/messages/:messageId returns the full body and any media URLs:
{
  "id": "msg-uuid",
  "phone_id": "phone-uuid",
  "from": "+14155551234",
  "to": "+14155550000",
  "body": "Yes please reschedule for Friday",
  "num_media": 0,
  "media_urls": [],
  "received_at": "2026-05-01T18:06:00.000Z",
  "metadata": { "conversation_id": "cnv_..." }
}

CLI

naive phone messages phone-uuid --limit 50
naive phone read message-uuid

MCP

Tools: naive_phone_messages, naive_phone_read.