> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blujay.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Plans

> What the API can do on a Free Plan, Dedicated or AI Agent phone number, and which error each limit returns.

Every Blujay phone number is on one of three plans, and a workspace can hold numbers on different plans. A new workspace starts with a Free Plan number. The plan decides who the number can message and which features it can use. The API is the same on every plan; the difference is which requests succeed.

| | Free Plan | Dedicated | AI Agent |
| - | - | - | - |
| Your own phone number | No, a shared number | Yes | Yes |
| `access_type` on `GET /v1/phone-numbers` | `shared` | `dedicated` | `dedicated` |
| Who you can message | Up to 10 [verified contacts](#free-plan) | Anyone who hasn't opted out | People who text the number first |
| Start a conversation | No | Yes | No |
| Group chats | No | Yes | No |
| Media, contact cards, effects, replies, edit and unsend | After the contact replies | After the contact replies | After the contact replies |
| Typing indicators and read receipts | Yes | Yes | Yes |
| `limits`, `queue` and `health_status` reported | No | Yes | Yes |
| Error when a send isn't allowed | `403` [`CONTACT_NOT_VERIFIED`](/errors/contact-not-verified) | `403` [`RECIPIENT_SUPPRESSED`](/errors/recipient-suppressed) | `403` [`CONTACT_MUST_TEXT_FIRST`](/errors/contact-must-text-first) |

The [sending rules](/messaging/sending-rules.md) apply on every plan.

## Free Plan

A new workspace starts on the Free Plan with a phone number that other Free Plan workspaces share.

* A person must text your Free Plan number first, and you verify them in Blujay under **Contacts**. Then you can message them through the API. Sending to anyone else returns `403` [`CONTACT_NOT_VERIFIED`](/errors/contact-not-verified).
* You can have up to 10 verified contacts.
* Group chats and group operations return `400` [`FEATURE_NOT_ENABLED`](/errors/feature-not-enabled).
* `GET /v1/phone-numbers` shows the number with `access_type: "shared"` and leaves out `limits`, `queue` and `health_status`. Use `send_status` to see whether it can send.
* Typing indicators, read receipts and the sending rules work the same as on other plans.

The Free Plan is for trying the API with your own phone. See the [Quickstart](/quickstart.md#free-plan-only-verify-your-phone).

## Dedicated

A Dedicated number is yours alone, with full functionality: start conversations with anyone who hasn't opted out, group chats, and every iMessage feature the API offers.

* `GET /v1/phone-numbers` reports its live `limits`, `queue` and `health_status`.
* It can message up to 50 new contacts a day once established. A new or recently reassigned number may start lower and reaches the full limit over about its first month. See [Phone numbers and limits](/phone-numbers.md).
* When a contact texts exactly `STOP`, Blujay opts them out automatically. See [Opt-outs](/opt-outs.md).

## AI Agent

An AI Agent number is your own number set up to reply, not to reach out. It is built for assistants that answer people who text in.

* A person must text the number first. A send to anyone else, and any group chat request, returns `403` [`CONTACT_MUST_TEXT_FIRST`](/errors/contact-must-text-first).
* Once someone has texted the number, you can message them like any other contact, with media, replies, effects, edit and unsend.
* If a contact adds the number to a group chat, messages from that group still arrive, but the number can't send into it: group sends return the same `403`.
* `GET /v1/phone-numbers` reports `limits`, `queue` and `health_status` as for a Dedicated number.

## Tell plans apart in the API

* `access_type` is `shared` on the Free Plan and `dedicated` on Dedicated and AI Agent numbers.
* `outbound_policy.inbound_first` is `true` on Free Plan and AI Agent numbers, the ones that can only message people who texted first. Skip them when you start conversations. It's `false` on Dedicated numbers.

## Next steps

> **[Sending rules](/messaging/sending-rules.md)**
>
> The rules every plan shares.

> **[Phone numbers and limits](/phone-numbers.md)**
>
> Read each number's live status and limits.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.