Update many mentions

posthttps://api.mentio.dev/v1/mentions/batch

Change up to 100 mentions at once: status, assignee, labels to add or remove.

  • All of it lands, or none of it.
  • Unknown ids come back in notFound.
  • Removals run before additions. See Labels and automations.

Authentication

AuthorizationBearer <token>Required

An API key (mk_live_...) from the dashboard or an OAuth access token. See Authentication.

Header parameters

idempotency-keystringOptional

A unique value (a UUID) for this request. Retrying with the same key within 24 hours returns the first response instead of creating twice.

1 to 255 characters

Body

application/json
idsarray<string>Required

Mention ids (mm_...), 1 to 100: a page of GET /v1/mentions.

1 to 100 items
updateobjectRequired

Every field is optional, at least one is required; omitted fields are untouched.

+Show 4 properties
statusstringOptional

ignored or done to handle them; open to put them back.

One ofopenignoreddone
assigneeIdstringnullableOptional

A workspace member (user id), or null to unassign.

1 to ∞ characters
addLabelsarray<string>Optional

Labels to add; a mention keeps at most 20, and labels past that are not added.

1 to 20 items
removeLabelsarray<string>Optional

Labels to remove; a label a mention does not carry is ignored.

1 to 20 items

Response

200Which mentions changed, and which ids were not found
updatedarray<string>Required

The ids changed, in the order sent. A pending mention given only a status is not changed: it is in pending alone.

notFoundarray<string>Required

The ids this workspace has no mention by, in the order sent; nothing was done to them.

pendingarray<string>Required

Of the updated ids, those still waiting for the classifier: they took the labels and the assignee, but their status stays until they are scored. Empty unless the update set a status.

400Invalid request (an empty update, more than 100 ids), or invalid_assignee: the assignee is not a workspace member
+Show 1 property
errorobjectRequired

The error.

+Show 4 properties
codestringRequired

Stable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.

+Show 49 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_automationautomation_filter_unreadableautomation_limit_reachedduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_error
messagestringRequired

Human-readable detail; may change between releases.

requestIdstringOptional

The id of this request (also the X-Request-Id response header); quote it to support.

retryAfterSecondsintegerOptional

For rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).

401Missing or invalid API key
+Show 1 property
errorobjectRequired

The error.

+Show 4 properties
codestringRequired

Stable machine-readable code; branch on this, never on the message. Codes are additive: a client should treat one it does not know as a generic failure of the same status.

+Show 49 enum values
unauthorizedforbiddenread_only_keyvalidation_errornot_foundinvalid_cursorpayload_too_largeidempotency_key_in_useidempotency_key_reusedrate_limitedduplicate_keywordinsufficient_balancekeyword_limit_reachedbilling_not_configuredorder_not_creditedschedule_requiredunknown_channelnot_a_digesthourly_email_unsupportedslack_not_connectedslack_not_configuredtelegram_not_configuredfeed_unreadablefeed_login_requiredfeed_login_expiredfeed_limit_reachedfeed_auth_not_configuredemail_not_configuredinvalid_assigneeclassification_pendinginvalid_memberalready_memberlast_ownerduplicate_segmentfilter_too_complexduplicate_viewduplicate_automationautomation_filter_unreadableautomation_limit_reachedduplicate_groupdefault_groupdefault_group_contextgroup_changedinvalid_signaturewebhook_not_configuredinvalid_tokenprotected_userupstream_unavailableinternal_error
messagestringRequired

Human-readable detail; may change between releases.

requestIdstringOptional

The id of this request (also the X-Request-Id response header); quote it to support.

retryAfterSecondsintegerOptional

For rate_limited and other retryable errors: how long to wait before retrying (mirrors the Retry-After header).