# Add a tag to an article

Apply an existing tag to an article. Returns the tag that was applied.

The tag must already exist in the workspace (create tags with the Tags API),
and the authenticating teammate must have the manage_knowledge_base_content
permission.

Requires the read_write_articles_scope OAuth scope. Set Intercom-Version: Preview.

Endpoint: POST /articles/{article_id}/tags
Version: Preview
Security: bearerAuth

## Header parameters:

  - `Intercom-Version` (string)
    Preview Intercom API version. Used for closed beta endpoints or other features under managed availability.
    Enum: "preview"

## Path parameters:

  - `article_id` (integer, required)
    The unique identifier for the article which is given by Intercom.
    Example: 123

## Request fields (application/json):

  - `id` (string, required)
    The unique identifier of the tag to apply, as given by Intercom.
    Example: "7522907"

  - `admin_id` (string,null)
    Optional id of the teammate to attribute the tagging to. Defaults to the authenticating teammate. Does not affect authorization.
    Example: "1234"

## Response 200 fields (application/json):

  - `type` (string)
    value is "tag"
    Example: "tag"

  - `id` (string)
    The id of the tag
    Example: "123456"

  - `name` (string)
    The name of the tag
    Example: "Test tag"

  - `applied_at` (integer,null)
    The time when the tag was applied to the object. Only present when the tag is returned as part of a tagging operation on a contact, conversation, ticket, article, internal article, or content snippet.
    Example: 1663597223

  - `applied_by` (object,null)
    The admin who applied the tag. Only present when the tag is returned as part of a tagging operation on a contact, conversation, ticket, article, internal article, or content snippet.

  - `applied_by.type` (string)
    Example: "contact"

  - `applied_by.id` (string,null)
    Example: "1a2b3c"

## Response 401 fields (application/json):

  - `type` (string, required)
    The type is error.list
    Example: "error.list"

  - `request_id` (string,null)
    Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85"

  - `errors` (array, required)
    An array of one or more error objects

  - `errors.code` (string, required)
    A string indicating the kind of error, used to further qualify the HTTP response code
    Example: "unauthorized"

  - `errors.message` (string,null)
    Optional. Human readable description of the error.
    Example: "Access Token Invalid"

  - `errors.field` (string,null)
    Optional. Used to identify a particular field or query parameter that was in error.
    Example: "email"


