## Trial accounts Trial accounts (accounts still on a trial, before conversion to a paid line) get real API access — not a simulator. Sends are real messages. The difference is that a trial account sends through a shared Project Blue line, and it can only reach destinations that have been verified. ### Verifying a destination 1. Register the destination in the Project Blue webapp under **Settings**. This creates a pending verification pinned to your shared line. 2. **The owner of that destination texts the shared line from their own phone.** That inbound text is what confirms the verification. There is no way to confirm it from the API or the dashboard. 3. The destination shows as verified in the webapp, and API sends to it start succeeding. Destination registration is webapp-only today — there is no API-key equivalent for registering a number or polling verification status yet. Sending or probing an unverified destination returns 403 with `Trial accounts can only message numbers verified on the shared line.` ### Endpoint availability | Endpoint | Trial | Notes | | --- | --- | --- | | `/send-api-message` | Restricted | Verified destinations only. lineId is rejected (see below). | | `/api-check-imessage-availability` | Restricted | Verified destinations only. | | `/get-lines` | Restricted | Returns a trial envelope (empty lines list) instead of owned lines. | | `/get-messages-api` | Available | Reads your own messages only. | | `/get-message-api/:message_handle` | Available | Reads a single message you own. | | `/create-external-contact` | Available | | | `/get-external-contacts` | Available | | | `/update-external-contact` | Available | | | `/get-call-logs-api` | Available | | | `/get-flows` | Available | List published Workflows. Each id is an opaque UUID string. | | `/cancel-flow-runs` | Available | | | `Webhooks` | Available | Inbound/outbound webhook delivery for your account. | | `/send-group-message` | Unavailable | Trial accounts cannot create group chats. | | `/enroll-flow` | Unavailable | Flow enrollment is not available on trial accounts. | | `/start-facetime-call-api` | Unavailable | FaceTime calling is not available on trial accounts. | | `/get-facetime-call-status-api` | Available | No dedicated trial gate; only useful if you already have a call_uuid. | | `/end-facetime-call-api` | Available | No dedicated trial gate; only useful if you already have a call_uuid. | > **lineId is not accepted on trial accounts** > > Trial sends route through the shared line, so the line is not selectable. Supplying `lineId` on `/send-api-message` returns 400 — see the rail. ### GET /get-lines on a trial account Trial accounts do not own a device line. `/get-lines` returns a trial envelope instead of an array of lines. **Response — 200 — trial /get-lines** ```json { "lines": [], "trial": true, "message": "This is a trial account. Sends route through a shared Project Blue line to your verified destinations. Your real line info will appear here after you upgrade." } ``` **Response — 400 — lineId rejected** ```json { "error": "lineId is not accepted on trial accounts. Sends route through the shared line automatically." } ```