Skip to main content

Lines

Every call needs Authorization: Bearer <key>. 10 calls:

The workspace's line requests​

GET /v1/line-requests

Query parameters

NameTypeRequiredDescription
limitintegerNoFrom 1 to 100. Default 50.
cursorstringNoOpaque cursor from next_cursor. Up to 512 characters.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
dataobject[]
data[].area_codesstring[]
data[].countintegerFrom 1 to 9007199254740991.
data[].created_atstring (date-time)ISO 8601 timestamp.
data[].idstring (uuid)
data[].notestring or null
data[].pool_idstring or nullPool id (pool_...).
data[].statusenumOne of: pending, in_progress, fulfilled, cancelled.
next_cursorstring or nullPass as cursor to get the next page; null at the end.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Request more lines​

POST /v1/line-requests

Creates a request for the bubbl3 team, who provision the lines. A workspace can have at most 5 open (pending or in-progress) requests; another returns 409.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
area_codesstring[]NoUp to 10 items.
countintegerYesFrom 1 to 50.
notestringNoUp to 1000 characters.
pool_idstringNoPool id (pool_...).

Response 201

FieldTypeDescription
area_codesstring[]
countintegerFrom 1 to 9007199254740991.
created_atstring (date-time)ISO 8601 timestamp.
idstring (uuid)
notestring or null
pool_idstring or nullPool id (pool_...).
statusenumOne of: pending, in_progress, fulfilled, cancelled.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

List the workspace's lines​

GET /v1/lines

State, health, warm-up and today’s usage against the daily caps.

Query parameters

NameTypeRequiredDescription
pool_idstringNoPool id (pool_...).
stateenumNoOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
dataobject[]
data[].contact_cardobject
data[].contact_card.image_urlstringUp to 2048 characters.
data[].contact_card.namestringUp to 100 characters.
data[].created_atstring (date-time)ISO 8601 timestamp.
data[].daily_new_capintegerFrom 0 to 9007199254740991.
data[].display_namestring or null
data[].health_scoreintegerFrom 0 to 100.
data[].idstringLine id (ln_...).
data[].is_sandboxboolean
data[].phonestringPhone number in E.164 format.
data[].pool_idstring or nullPool id (pool_...).
data[].stateenumOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.
data[].state_changed_atstring (date-time) or nullISO 8601 timestamp.
data[].state_reasonstring or null
data[].usage_todayobject
data[].usage_today.daystring (date)Usage day in America/New_York, rolling over at 3 AM.
data[].usage_today.new_contactsintegerFrom 0 to 9007199254740991.
data[].usage_today.new_contacts_capintegerFrom 0 to 9007199254740991.
data[].usage_today.sendsintegerFrom 0 to 9007199254740991.
data[].usage_today.sends_capintegerFrom 0 to 9007199254740991.
data[].warmup_dayintegerFrom 0 to 9007199254740991.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Get a line​

GET /v1/lines/:id

Path parameters

NameTypeRequiredDescription
idstringYesLine id (ln_...).

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
contact_cardobject
contact_card.image_urlstringUp to 2048 characters.
contact_card.namestringUp to 100 characters.
created_atstring (date-time)ISO 8601 timestamp.
daily_new_capintegerFrom 0 to 9007199254740991.
display_namestring or null
health_scoreintegerFrom 0 to 100.
idstringLine id (ln_...).
is_sandboxboolean
phonestringPhone number in E.164 format.
pool_idstring or nullPool id (pool_...).
stateenumOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.
state_changed_atstring (date-time) or nullISO 8601 timestamp.
state_reasonstring or null
usage_todayobject
usage_today.daystring (date)Usage day in America/New_York, rolling over at 3 AM.
usage_today.new_contactsintegerFrom 0 to 9007199254740991.
usage_today.new_contacts_capintegerFrom 0 to 9007199254740991.
usage_today.sendsintegerFrom 0 to 9007199254740991.
usage_today.sends_capintegerFrom 0 to 9007199254740991.
warmup_dayintegerFrom 0 to 9007199254740991.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Change a line's display name, contact card or pool​

PATCH /v1/lines/:id

contact_card fields are merged into the current card.

Path parameters

NameTypeRequiredDescription
idstringYesLine id (ln_...).

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
contact_cardobjectNo
contact_card.image_urlstring (uri)NoHTTPS URL. Up to 2048 characters.
contact_card.namestringNoUp to 100 characters.
display_namestring or nullNoUp to 80 characters.
pool_idstring or nullNoPool id (pool_...).

Response 200

FieldTypeDescription
contact_cardobject
contact_card.image_urlstringUp to 2048 characters.
contact_card.namestringUp to 100 characters.
created_atstring (date-time)ISO 8601 timestamp.
daily_new_capintegerFrom 0 to 9007199254740991.
display_namestring or null
health_scoreintegerFrom 0 to 100.
idstringLine id (ln_...).
is_sandboxboolean
phonestringPhone number in E.164 format.
pool_idstring or nullPool id (pool_...).
stateenumOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.
state_changed_atstring (date-time) or nullISO 8601 timestamp.
state_reasonstring or null
usage_todayobject
usage_today.daystring (date)Usage day in America/New_York, rolling over at 3 AM.
usage_today.new_contactsintegerFrom 0 to 9007199254740991.
usage_today.new_contacts_capintegerFrom 0 to 9007199254740991.
usage_today.sendsintegerFrom 0 to 9007199254740991.
usage_today.sends_capintegerFrom 0 to 9007199254740991.
warmup_dayintegerFrom 0 to 9007199254740991.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Pause a line​

POST /v1/lines/:id/pause

Stops sending from a warming, active or throttled line.

Path parameters

NameTypeRequiredDescription
idstringYesLine id (ln_...).

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
reasonstringNoUp to 500 characters.

Response 200

FieldTypeDescription
contact_cardobject
contact_card.image_urlstringUp to 2048 characters.
contact_card.namestringUp to 100 characters.
created_atstring (date-time)ISO 8601 timestamp.
daily_new_capintegerFrom 0 to 9007199254740991.
display_namestring or null
health_scoreintegerFrom 0 to 100.
idstringLine id (ln_...).
is_sandboxboolean
phonestringPhone number in E.164 format.
pool_idstring or nullPool id (pool_...).
stateenumOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.
state_changed_atstring (date-time) or nullISO 8601 timestamp.
state_reasonstring or null
usage_todayobject
usage_today.daystring (date)Usage day in America/New_York, rolling over at 3 AM.
usage_today.new_contactsintegerFrom 0 to 9007199254740991.
usage_today.new_contacts_capintegerFrom 0 to 9007199254740991.
usage_today.sendsintegerFrom 0 to 9007199254740991.
usage_today.sends_capintegerFrom 0 to 9007199254740991.
warmup_dayintegerFrom 0 to 9007199254740991.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Resume a line you paused​

POST /v1/lines/:id/resume

Resumes a line paused from the dashboard or API, back to the state it was paused from (warming, active or throttled). Lines the platform paused stay paused.

Path parameters

NameTypeRequiredDescription
idstringYesLine id (ln_...).

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
reasonstringNoUp to 500 characters.

Response 200

FieldTypeDescription
contact_cardobject
contact_card.image_urlstringUp to 2048 characters.
contact_card.namestringUp to 100 characters.
created_atstring (date-time)ISO 8601 timestamp.
daily_new_capintegerFrom 0 to 9007199254740991.
display_namestring or null
health_scoreintegerFrom 0 to 100.
idstringLine id (ln_...).
is_sandboxboolean
phonestringPhone number in E.164 format.
pool_idstring or nullPool id (pool_...).
stateenumOne of: provisioning, ready, warming, active, throttled, paused, quarantined, retired.
state_changed_atstring (date-time) or nullISO 8601 timestamp.
state_reasonstring or null
usage_todayobject
usage_today.daystring (date)Usage day in America/New_York, rolling over at 3 AM.
usage_today.new_contactsintegerFrom 0 to 9007199254740991.
usage_today.new_contacts_capintegerFrom 0 to 9007199254740991.
usage_today.sendsintegerFrom 0 to 9007199254740991.
usage_today.sends_capintegerFrom 0 to 9007199254740991.
warmup_dayintegerFrom 0 to 9007199254740991.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

List line pools​

GET /v1/pools

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.

Response 200

FieldTypeDescription
dataobject[]
data[].created_atstring (date-time)ISO 8601 timestamp.
data[].fallback_smsbooleanDeprecated. true unless fallback_sms_mode is off.
data[].fallback_sms_modeenumoff: never use SMS. not_imessage: SMS when the contact is not on iMessage. not_imessage_or_failed: also after an iMessage send fails. SMS also needs an active, verified, compliance-confirmed SMS connection. One of: off, not_imessage, not_imessage_or_failed.
data[].idstringPool id (pool_...).
data[].line_countintegerFrom 0 to 9007199254740991.
data[].namestring
data[].rotationenumOne of: sticky, round_robin.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Create a pool​

POST /v1/pools

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
fallback_smsbooleanNoDeprecated. Use fallback_sms_mode. true maps to not_imessage, false to off.
fallback_sms_modeenumNooff: never use SMS. not_imessage: SMS when the contact is not on iMessage. not_imessage_or_failed: also after an iMessage send fails. SMS also needs an active, verified, compliance-confirmed SMS connection. One of: off, not_imessage, not_imessage_or_failed.
namestringYesUp to 80 characters.
rotationenumNoOne of: sticky, round_robin. Default "sticky".

Response 201

FieldTypeDescription
created_atstring (date-time)ISO 8601 timestamp.
fallback_smsbooleanDeprecated. true unless fallback_sms_mode is off.
fallback_sms_modeenumoff: never use SMS. not_imessage: SMS when the contact is not on iMessage. not_imessage_or_failed: also after an iMessage send fails. SMS also needs an active, verified, compliance-confirmed SMS connection. One of: off, not_imessage, not_imessage_or_failed.
idstringPool id (pool_...).
line_countintegerFrom 0 to 9007199254740991.
namestring
rotationenumOne of: sticky, round_robin.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.

Change a pool's name, rotation or SMS fallback​

PATCH /v1/pools/:id

Path parameters

NameTypeRequiredDescription
idstringYesPool id (pool_...).

Headers

NameTypeRequiredDescription
x-workspace-idstringNoWorkspace for session (JWT) callers. API keys carry their own workspace.
idempotency-keystringNoMakes the write safe to retry for 24 hours. 1 to 255 printable characters. Keys starting with outreach:, workflow: or agent: are reserved for messages bubbl3 sends itself and are refused with 400. Up to 255 characters.

Request body

FieldTypeRequiredDescription
fallback_smsbooleanNoDeprecated. Use fallback_sms_mode. true maps to not_imessage, false to off.
fallback_sms_modeenumNooff: never use SMS. not_imessage: SMS when the contact is not on iMessage. not_imessage_or_failed: also after an iMessage send fails. SMS also needs an active, verified, compliance-confirmed SMS connection. One of: off, not_imessage, not_imessage_or_failed.
namestringNoUp to 80 characters.
rotationenumNoOne of: sticky, round_robin.

Response 200

FieldTypeDescription
created_atstring (date-time)ISO 8601 timestamp.
fallback_smsbooleanDeprecated. true unless fallback_sms_mode is off.
fallback_sms_modeenumoff: never use SMS. not_imessage: SMS when the contact is not on iMessage. not_imessage_or_failed: also after an iMessage send fails. SMS also needs an active, verified, compliance-confirmed SMS connection. One of: off, not_imessage, not_imessage_or_failed.
idstringPool id (pool_...).
line_countintegerFrom 0 to 9007199254740991.
namestring
rotationenumOne of: sticky, round_robin.

Errors: 400, 401, 403, 404, 409, 413, 415, 429, 500. See errors for the shape and codes.