Menú

Referencia de la API · Phones

Líneas

crm_phones · lines · 6 operaciones

GET/v1/phones/lines

List the organization's phone lines

crm_phones.lines.list

LecturaIdempotenteDesde 2026-11-01

Lists the phone numbers the organization bought in Phones, in the order of Settings → Lines (manual order first, then newest), paginated by cursor (limit up to 200): number, name, country, type, capabilities (voice, sms, mms), status (active, cancelling = release scheduled at cancel_at, suspended_unpaid, released), destination (which part of the product uses the line: crm or support), monthly list price in USD cents, who pays it (own subscription or the parent workspace), who rings on incoming calls, ring timeout, voicemail, call recording and whether it is dedicated to WhatsApp. Released lines are history and are left out unless include_released=true or status=released. Filters (status, destination) apply to the lines read, up to 500. Buying and releasing numbers is done on the Phones screen. Requires view access to Phones.

Alcance
crm_phones:read
Permiso
Ver el módulo
Tool del MCP
crm_phones_lines_listEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.list".

Costo declarado: hasta 500 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

limitintegerqueryopcional

How many items this page brings at most (see the maximum and the default in the schema).

Por defecto: 50

cursorstringqueryopcional

The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.

statusenumqueryopcional

Only the lines in this status: active, cancelling, suspended_unpaid, suspended, releasing or released.

Valores: active, cancelling, released, suspended_unpaid, suspended, releasing

destinationenumqueryopcional

Only the lines of this part of the product: crm or support.

Valores: crm, support

include_releasedbooleanqueryopcional

Also the released lines (history: the number went back to the carrier).

Respuesta

dataarray<object>
has_moreboolean
next_cursorstring

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/phones/lines" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/phones/lines" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/phones/lines/{line_id}

Get one phone line

crm_phones.lines.get

LecturaIdempotenteDesde 2026-11-01

Returns one phone line of the organization by its id (the id crm_phones.lines.list returns): number, name, country, type, capabilities, status, destination, monthly price, billing mode, incoming-call settings (receivers, ring timeout in seconds, voicemail and its greeting, recording and the notice version accepted) and whether it is dedicated to WhatsApp (whatsapp_phone_number_id is the WhatsApp line in crm.lines.list). Not found (line_not_found) if the id is not a line of this organization. Requires view access to Phones.

Alcance
crm_phones:read
Permiso
Ver el módulo
Tool del MCP
crm_phones_lines_getEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.get".

Costo declarado: hasta 1 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

line_idstringrutarequerido

The phone line: an id from crm_phones.lines.list.

Respuesta

idstring
phone_numberstring
friendly_namestring | null
country_isostring
typestring

local, mobile, toll-free, national or international.

capabilitiesarray<string>

voice, sms, mms and/or fax.

statusstring

active, cancelling (release scheduled at cancel_at), suspended_unpaid, suspended, releasing or released.

destinationstring

The part of the product that uses the line: crm or support.

monthly_cost_usd_centsnumber

The monthly list price, in USD cents.

billing_modestring

Who pays it: own_subscription or parent_child_billing (the parent workspace).

purchased_atnumber | null
cancel_atnumber | null

With a release scheduled: when the number is released.

release_scheduled_atnumber | null
inbound_receiversarray<string>

The members who ring on an incoming call, all at once.

inbound_timeout_secnumber
voicemail_enabledboolean
voicemail_greetingstring | null
recording_enabledboolean
recording_enabled_atnumber | null
recording_notice_ack_versionstring | null
whatsapp_lockedboolean

Dedicated to WhatsApp: it makes no outbound voice calls and cannot be the default line.

whatsapp_phone_number_idstring | null

The CRM WhatsApp line on this number (crm.lines.list), if any.

sort_ordernumber | null
created_by_idstring | null
created_atnumber
updated_atnumber

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/phones/lines/{line_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/phones/lines/{line_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/phones/lines/{line_id}/rename

Rename a phone line

crm_phones.lines.rename

EscrituraIdempotenteDesde 2026-11-01

Sets the name people see for a phone line (friendly_name, 1 to 80 characters) in the dialer, the call log and the lists. Only the name changes: the number, its destination and its incoming-call settings stay. Idempotent. Returns the line. Requires edit access to Phones.

Alcance
crm_phones:write
Permiso
Editar en el módulo
Tool del MCP
crm_phones_lines_renameEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.rename".

Costo declarado: hasta 1 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).

Parámetros

line_idstringrutarequerido

The phone line: an id from crm_phones.lines.list.

friendly_namestringcuerporequerido

The name the app shows for the line (up to 80 characters).

Respuesta

idstring
phone_numberstring
friendly_namestring | null
country_isostring
typestring

local, mobile, toll-free, national or international.

capabilitiesarray<string>

voice, sms, mms and/or fax.

statusstring

active, cancelling (release scheduled at cancel_at), suspended_unpaid, suspended, releasing or released.

destinationstring

The part of the product that uses the line: crm or support.

monthly_cost_usd_centsnumber

The monthly list price, in USD cents.

billing_modestring

Who pays it: own_subscription or parent_child_billing (the parent workspace).

purchased_atnumber | null
cancel_atnumber | null

With a release scheduled: when the number is released.

release_scheduled_atnumber | null
inbound_receiversarray<string>

The members who ring on an incoming call, all at once.

inbound_timeout_secnumber
voicemail_enabledboolean
voicemail_greetingstring | null
recording_enabledboolean
recording_enabled_atnumber | null
recording_notice_ack_versionstring | null
whatsapp_lockedboolean

Dedicated to WhatsApp: it makes no outbound voice calls and cannot be the default line.

whatsapp_phone_number_idstring | null

The CRM WhatsApp line on this number (crm.lines.list), if any.

sort_ordernumber | null
created_by_idstring | null
created_atnumber
updated_atnumber

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/rename" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "friendly_name": "FRIENDLY_NAME"
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/rename" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "friendly_name": "FRIENDLY_NAME"
}'
POST/v1/phones/lines/{line_id}/destination

Move a phone line to another part of the product

crm_phones.lines.set_destination

EscrituraIdempotenteDesde 2026-11-01

Moves a phone line to another destination: crm (the CRM's dialer and inbox) or support. Every number is bought in the CRM and, once it is set up, moved where it is used; its calls and messages move with it (each inbox filters by line). Idempotent: moving it to the destination it already has changes nothing (changed=false). Returns from, to and changed. For a WhatsApp line use crm_phones.whatsapp_lines.set_destination. Requires edit access to Phones; moving a line into or out of a part of the product with restricted access also needs edit access to that part (403 module_access_denied) and, for a key, its write scope (403 scope_insufficient).

Alcance
crm_phones:write
Permiso
Editar en el módulo
Tool del MCP
crm_phones_lines_set_destinationEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.set_destination".

Costo declarado: hasta 1 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).

Parámetros

line_idstringrutarequerido

The phone line: an id from crm_phones.lines.list.

destinationenumcuerporequerido

The part of the product that uses the line: crm or support.

Valores: crm, support

Respuesta

line_idstring
fromstring
tostring
changedboolean

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/destination" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "destination": "crm"
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/destination" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "destination": "crm"
}'
PATCH/v1/phones/lines/{line_id}/inbound

Configure how a line handles incoming calls

crm_phones.lines.configure_inbound

EscrituraIdempotenteDesde 2026-11-01

Sets how a phone line handles incoming calls: receivers, if sent, replaces the whole list of people (user ids, up to 10; an empty list rings nobody) who ring at the same time (to add one person use crm_phones.lines.add_receiver), each one with access to Phones (receiver_without_phones_access otherwise); inbound_timeout_sec how long it rings before voicemail (10 to 60); voicemail_enabled and voicemail_greeting (up to 200 characters; an empty greeting keeps the current one); recording_enabled records every call on the line. Turning recording on means the organization accepts the recording notice (the people on the call must be told it is recorded): send recording_notice_accepted=true or it fails with recording_notice_required; who accepted it and when are stored. Fields not sent stay as they are, the receivers included. Idempotent. Returns the line. Requires edit access to Phones.

Alcance
crm_phones:write
Permiso
Editar en el módulo
Tool del MCP
crm_phones_lines_configure_inboundEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.configure_inbound".

Costo declarado: hasta 21 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).

Parámetros

line_idstringrutarequerido

The phone line: an id from crm_phones.lines.list.

receiversarray<string>cuerpoopcional

The people who ring at the same time (user ids, up to 10), replacing the whole list; an empty list rings nobody. Without it, the people who ring today stay.

inbound_timeout_secintegercuerpoopcional

How many seconds it rings before voicemail (10 to 60).

voicemail_enabledbooleancuerpoopcional

Whether an unanswered call goes to voicemail.

voicemail_greetingstringcuerpoopcional

The voicemail greeting read to the caller (up to 200 characters; empty keeps the current one).

recording_enabledbooleancuerpoopcional

Record every call on the line (turning it on needs recording_notice_accepted).

recording_notice_acceptedbooleancuerpoopcional

true accepts, for the organization, the recording notice (the people on the call must be told it is recorded).

Respuesta

idstring
phone_numberstring
friendly_namestring | null
country_isostring
typestring

local, mobile, toll-free, national or international.

capabilitiesarray<string>

voice, sms, mms and/or fax.

statusstring

active, cancelling (release scheduled at cancel_at), suspended_unpaid, suspended, releasing or released.

destinationstring

The part of the product that uses the line: crm or support.

monthly_cost_usd_centsnumber

The monthly list price, in USD cents.

billing_modestring

Who pays it: own_subscription or parent_child_billing (the parent workspace).

purchased_atnumber | null
cancel_atnumber | null

With a release scheduled: when the number is released.

release_scheduled_atnumber | null
inbound_receiversarray<string>

The members who ring on an incoming call, all at once.

inbound_timeout_secnumber
voicemail_enabledboolean
voicemail_greetingstring | null
recording_enabledboolean
recording_enabled_atnumber | null
recording_notice_ack_versionstring | null
whatsapp_lockedboolean

Dedicated to WhatsApp: it makes no outbound voice calls and cannot be the default line.

whatsapp_phone_number_idstring | null

The CRM WhatsApp line on this number (crm.lines.list), if any.

sort_ordernumber | null
created_by_idstring | null
created_atnumber
updated_atnumber

Errores

Ejemplo

curl -X PATCH "https://api.mb-suite.com/v1/phones/lines/{line_id}/inbound" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X PATCH "https://api.mb-suite.com/v1/phones/lines/{line_id}/inbound" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/phones/lines/{line_id}/receivers

Add a person who rings on a line's incoming calls

crm_phones.lines.add_receiver

EscrituraIdempotenteDesde 2026-11-01

Adds one person (user_id) to the people who ring when a line gets a call. The person must be a direct member of the organization on the CRM team (receiver_not_in_crm_team) with access to Phones (receiver_without_phones_access): outside that group the browser phone is never registered and the call would never ring for them. A line rings at most 10 people (limit_reached, with details.resource line_receivers). Idempotent: if the person already rings, nothing changes (added=false). To remove people or change the ring timeout, voicemail or recording use crm_phones.lines.configure_inbound. Requires edit access to Phones.

Alcance
crm_phones:write
Permiso
Editar en el módulo
Tool del MCP
crm_phones_lines_add_receiverEn la superficie completa; en la compacta, mb_execute_operation con id: "crm_phones.lines.add_receiver".

Costo declarado: hasta 5 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).

Parámetros

line_idstringrutarequerido

The phone line: an id from crm_phones.lines.list.

user_idstringcuerporequerido

A member: a user_id from crm.team.list (with access to Phones).

Respuesta

lineobject
addedboolean

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/receivers" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "user_id": "USER_ID"
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/phones/lines/{line_id}/receivers" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "user_id": "USER_ID"
}'