Menu

API reference · Deliveries

Labels

deliveries · labels · 4 operations

GET/v1/deliveries/labels

List delivery labels

deliveries.labels.list

ReadIdempotentSince 2026-11-01

Lists the organization's delivery labels in the order the screen shows them (order), paginated by cursor (limit 50 by default, up to 200): id, name, hex color, and who created it (created_by_id with created_by_name). Put their ids in label_ids of deliveries.deliveries.create or update, and filter deliveries.deliveries.list by label_id. Requires view access to Deliveries.

Scope
deliveries:read
Permission
View the module
MCP tool
deliveries_labels_listOn the full surface; on the compact one, mb_execute_operation with id: "deliveries.labels.list".

Declared cost: up to 202 reads and 0 writes per call (they count against the daily quota).

Parameters

limitintegerqueryoptional

How many labels per page (default 50, at most 200).

Default: 50

cursorstringqueryoptional

The next_cursor of the previous page, to get the next one; omit it for the first page.

Response

dataarray<object>
has_moreboolean
next_cursorstring

Errors

Example

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

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl "https://api.mb-suite.com/v1/deliveries/labels" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/deliveries/labels

Create a delivery label

deliveries.labels.create

WriteSince 2026-11-01

Creates a delivery label with a name (up to 60 characters) and a hex color (#RRGGBB), placed last in the order. Returns the new label_id and the label. Requires edit access to Deliveries.

Scope
deliveries:write
Permission
Edit in the module
MCP tool
deliveries_labels_createOn the full surface; on the compact one, mb_execute_operation with id: "deliveries.labels.create".

Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).

Parameters

namestringbodyrequired

Label name (1–60 characters).

colorstringbodyrequired

Hex color, e.g. #3b82f6.

Response

label_idstring

The new label id.

labelobject

The label as saved.

Errors

Example

curl -X POST "https://api.mb-suite.com/v1/deliveries/labels" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "color": "COLOR"
}'

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl -X POST "https://api.mb-suite.com/v1/deliveries/labels" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME",
  "color": "COLOR"
}'
PATCH/v1/deliveries/labels/{label_id}

Update a delivery label

deliveries.labels.update

WriteIdempotentSince 2026-11-01

Renames, recolors or moves a delivery label (updates object: name, color, order). Only what is sent changes; deliveries keep it. Idempotent. Returns the label. Requires edit access to Deliveries.

Scope
deliveries:write
Permission
Edit in the module
MCP tool
deliveries_labels_updateOn the full surface; on the compact one, mb_execute_operation with id: "deliveries.labels.update".

Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).

Parameters

label_idstringpathrequired

The delivery label id (deliveries.labels.list).

updatesobjectbodyrequired

The fields to change.

Response

labelobject

The label as saved.

Errors

Example

curl -X PATCH "https://api.mb-suite.com/v1/deliveries/labels/{label_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl -X PATCH "https://api.mb-suite.com/v1/deliveries/labels/{label_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'
DELETE/v1/deliveries/labels/{label_id}

Delete a delivery label

deliveries.labels.delete

IrreversibleSince 2026-11-01

Deletes a delivery label and removes it from every delivery that had it (deliveries_updated says how many). The label goes to the 30-day trash and owners and admins can restore it; restoring puts it back on those deliveries (the ones deleted meanwhile are skipped; the trash keeps up to 5,000 of them, and with more the trash item says linked_truncated). Outside the screen it needs a dry run (it names the label and counts the deliveries that have it) and a confirm_token, or a simple DELETE with a key that may delete. Requires edit access to Deliveries.

With an API key, this DELETE runs directly: the record stays 30 days in the trash and the response carries its trash_item_id. With an OAuth token, and through the MCP, it needs dry_run → confirm_token.

Scope
deliveries:write and “Allow deletions” (deliveries:delete in OAuth)
Permission
Edit in the module
MCP tool
deliveries_labels_deleteOn the full surface; on the compact one, mb_execute_operation with id: "deliveries.labels.delete".

Declared cost: up to 1001 reads and 1001 writes per call (they count against the daily quota).

Parameters

label_idstringpathrequired

The delivery label id (deliveries.labels.list).

Response

oktrue

Always true.

deliveries_updatednumber

How many deliveries it was removed from.

trash_item_idstring

The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.

trash_item_idsarray<string>

Only when the deletion left more than one copy: all of them, the first being trash_item_id.

trash_expires_atnumber

When the copy leaves the trash for good (epoch ms): 30 days after the deletion.

Errors

Example

curl -X DELETE "https://api.mb-suite.com/v1/deliveries/labels/{label_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl -X DELETE "https://api.mb-suite.com/v1/deliveries/labels/{label_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"