Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 43 additions & 1 deletion descriptions/0/api.intercom.io.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9003,11 +9003,15 @@ paths:
description: |
Asynchronously run a bulk action over up to 1,000 Knowledge Hub content items.

Five actions are supported:
Six actions are supported:
* `publish` and `unpublish` — apply to `article_content` only.
* `delete` — permanently delete content (excludes synced sources and `external_content`).
* `set_availability` — toggle Fin AI Agent, Copilot, and Sales Agent availability flags.
* `set_audience` — manage segment membership on content.
* `update_tags` — apply and/or remove existing tags on content. Unlike the other
actions, `update_tags` addresses articles by the parent `article` id, not
Comment on lines +9011 to +9012

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to mention "not 'article_content"?

`article_content`. Tags must already exist and not be archived; supply at least one of
`add_tag_ids` / `remove_tag_ids`.

The endpoint validates the request, enqueues background work, and returns 202 with a
placeholder envelope. Items whose `type` is not in the action's allowlist are silently
Expand Down Expand Up @@ -9111,6 +9115,18 @@ paths:
- 100
remove_segment_ids:
- 200
update_tags:
summary: Apply and remove tags on an article
value:
action: update_tags
content_ids:
- type: article
id: '12345678'
tags:
add_tag_ids:
- 100
remove_tag_ids:
- 200
"/content/search":
get:
summary: Search knowledge base contents
Expand Down Expand Up @@ -27148,12 +27164,14 @@ components:
* `publish`, `unpublish`: `article_content`
* `delete`: `article_content`, `content_snippet`, `file_source_content`, `internal_article`
* `set_availability`, `set_audience`: `article_content`, `content_snippet`, `external_content`, `file_source_content`, `internal_article`
* `update_tags`: `article` (the parent Article id, not `article_content`), `content_snippet`, `external_content`, `file_source_content`, `internal_article`
enum:
- publish
- unpublish
- delete
- set_availability
- set_audience
- update_tags
example: publish
content_ids:
type: array
Expand All @@ -27168,6 +27186,7 @@ components:
type:
type: string
enum:
- article
- article_content
- content_snippet
- external_content
Expand Down Expand Up @@ -27214,6 +27233,29 @@ components:
type: boolean
description: When `true`, removes all segments from the selected content.
example: false
tags:
type: object
description: |
Required when `action` is `update_tags`. Applies and/or removes existing tags.
Supply at least one of `add_tag_ids` / `remove_tag_ids`. At most 100 distinct tag IDs
may be supplied across `add_tag_ids` and `remove_tag_ids` combined. Tag IDs must
reference existing, non-archived tags; exceeding the limit or referencing unknown or
archived IDs is rejected with `parameter_invalid` (HTTP 422).
properties:
add_tag_ids:
type: array
description: Tag IDs to apply to the selected content.
items:
type: integer
example:
- 100
remove_tag_ids:
type: array
description: Tag IDs to remove from the selected content.
items:
type: integer
example:
- 200
content_bulk_action_response:
title: Content Bulk Action Response Envelope
type: object
Expand Down