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

# Attach Phone Numbers to Persona

> Attach one or more inbound phone numbers to a persona. The same endpoint handles voice, SMS, and WhatsApp numbers — channel capability is determined by the number's own configuration, not by this call.

### Headers

<ParamField header="authorization" type="string" required>
  Your API key for authentication.
</ParamField>

### Path Parameters

<ParamField path="persona_id" type="string" required>
  The unique identifier of the persona to attach numbers to.
</ParamField>

### Body Parameters

<ParamField body="inbound_numbers" type="string[]" required>
  Array of E.164 formatted phone numbers to attach to this persona. All numbers must already belong to your account.
</ParamField>

### Response

<ResponseField name="data" type="object">
  The updated persona object with the newly attached inbound numbers.

  <Expandable title="persona object">
    <ResponseField name="id" type="string">
      Unique identifier for the persona.
    </ResponseField>

    <ResponseField name="name" type="string">
      Display name of the persona.
    </ResponseField>

    <ResponseField name="user_id" type="string">
      ID of the user who owns this persona.
    </ResponseField>

    <ResponseField name="inbound_numbers" type="array">
      Array of inbound number objects now attached to this persona.

      <Expandable title="inbound number object">
        <ResponseField name="phone_number" type="string">
          The E.164 formatted phone number.
        </ResponseField>

        <ResponseField name="label" type="string">
          Display label for the number, if set.
        </ResponseField>

        <ResponseField name="persona_id" type="string">
          The persona this number is attached to.
        </ResponseField>

        <ResponseField name="persona_settings" type="object">
          Per-number persona settings (e.g. pathway overrides), if configured.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp of when the persona was created.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      ISO 8601 timestamp of when the persona was last modified.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="errors" type="null|array">
  `null` on success, or a list of error objects if the request failed.
</ResponseField>

<ResponseExample>
  ```json Response (Success) theme={null}
  {
    "data": {
      "id": "12345678-1234-1234-1234-123456789012",
      "name": "Support Agent",
      "user_id": "12345678-1234-1234-1234-123456789012",
      "inbound_numbers": [
        {
          "phone_number": "+14155551234",
          "label": "Support Line",
          "persona_id": "12345678-1234-1234-1234-123456789012",
          "persona_settings": null
        },
        {
          "phone_number": "+14155555678",
          "label": null,
          "persona_id": "12345678-1234-1234-1234-123456789012",
          "persona_settings": null
        }
      ],
      "created_at": "2025-09-23T15:13:36.348Z",
      "updated_at": "2025-09-23T15:13:36.412Z"
    },
    "errors": null
  }
  ```

  ```json Error Response (Number not found) theme={null}
  {
    "data": null,
    "errors": [
      {
        "error": "INVALID_INBOUND_NUMBERS",
        "message": "Some phone numbers were not found or do not belong to you"
      }
    ]
  }
  ```
</ResponseExample>

***

Docs for agents: [llms.txt](/llms.txt)
