Add Tags to Piece
PUT /pieces/{piece_id}/tags
Adds tags to a piece. Only inserts tags not already present on the piece; existing tags are kept. Does not remove any tags.
All tags must belong to the piece’s inbox. If any tag is not found, the request fails with 404 and no tags are added.
Authorizations
Section titled “Authorizations”Send your API key in the x-api-key header.
See Authentication.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”object
Tag IDs to add to the piece. At least one. Tags already on the piece are kept.
[ 3001, 3002]Example
{ "tag_ids": [ 3001, 3002 ]}Responses
Section titled “ Responses ”Success
object
14460059975990000000101 0016615290433808312186object
122028Bruce Wayne97599[ "unscanned", "read", "inbox", "stored"][ "unscanned", "read", "inbox", "stored"]0.1623.90.18.88object
UnknownUnknownobject
1_1_2_0_0image/jpg[ "color", "large", "enclosure", "front"]144600591mailletterobject
object
3001Urgent12The x-api-key header is missing or the key is not valid, or the caller can’t access an ID in the request. IDs that don’t exist return the same response as IDs the caller can’t access.
Error envelope returned with 4xx and 5xx responses.
object
object
Usually the HTTP status code. It can differ; a request to an unknown path returns HTTP 400 with code 500.
401Human-readable description of the error.
The kind of error, for example Authorization or REST.
RESTReturned only with 422 responses. It may give more details about what failed validation, as lists of messages keyed by the name of the input.
object
Examples
{ "error": { "code": 401, "message": "The request does not include a valid access token. Please provide a valid access token.", "type": "Authorization" }}{ "error": { "code": 401, "message": "x-api-key: x-api-key is invalid", "type": "REST" }}{ "error": { "code": 401, "message": "User does not have access to requested resource.", "type": "Authorization" }}Actions are blocked for a piece in the request. When an account’s mail actions are blocked, for example because the account wasn’t reverified or an identity document expired, pieces received after that can’t be changed. These pieces have actions-blocked-no-reverification or actions-blocked-document-expired in their attributes.
Error envelope returned with 4xx and 5xx responses.
object
object
Usually the HTTP status code. It can differ; a request to an unknown path returns HTTP 400 with code 500.
401Human-readable description of the error.
The kind of error, for example Authorization or REST.
RESTReturned only with 422 responses. It may give more details about what failed validation, as lists of messages keyed by the name of the input.
object
Examples
{ "error": { "code": 403, "message": "piece: Mail actions for piece with ID 123456 has been blocked.", "type": "REST" }}The referenced resource is accessible, but the requested item does not exist, for example a pending operation. IDs the caller can’t access, or that don’t exist at all, return 401 instead.
Error envelope returned with 4xx and 5xx responses.
object
object
Usually the HTTP status code. It can differ; a request to an unknown path returns HTTP 400 with code 500.
401Human-readable description of the error.
The kind of error, for example Authorization or REST.
RESTReturned only with 422 responses. It may give more details about what failed validation, as lists of messages keyed by the name of the input.
object
Example
{ "error": { "code": 404, "message": "piece_id: Piece with ID 14460059 does not have outstanding Operation of type Recycle.", "type": "REST" }}The request body failed validation. The message names the invalid field.
Error envelope returned with 4xx and 5xx responses.
object
object
Usually the HTTP status code. It can differ; a request to an unknown path returns HTTP 400 with code 500.
401Human-readable description of the error.
The kind of error, for example Authorization or REST.
RESTReturned only with 422 responses. It may give more details about what failed validation, as lists of messages keyed by the name of the input.
object
Example
{ "error": { "code": 422, "message": "label: must have a value", "type": "REST", "fields": {} }}