Topics

Topics

Get all topics from a project

Returns a list of all topics from a specified project or publication.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

Responses
GET/projects/{projectId}/articles
curl https://your-portal.clickhelp.co/api/v1/projects//articles \
  --header 'Authorization: Basic username:password'
[
  {
    "id": "…",
    "title": "…",
    "statusName": "…",
    "createdOn": "2026-01-23T22:10:04.180Z",
    "modifiedOn": "2026-01-23T22:10:04.180Z",
    "ownerUserName": "…",
    "assigneeUserName": "…",
    "projectId": "…",
    "fullUrl": "https://example.com",
    "smartLink": "https://example.com",
    "tocNodeId": "…"
  }
]

Create a new topic

Creates a new topic within a specified project.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

Body
application/json

The topic to create.

The schema for creating a new topic.

id
string
required

The desired ID for the new topic.

title
string

The title for the new topic. If not specified, the TOC node caption is used.

statusName
string
required

Topic's workflow status.

ownerUserName
string
required

Topic owner's login.

assigneeUserName
string
required

Topic assignee's login.

body
string html

The HTML content of the topic.

indexKeywords
array string[]

An array of Index Keywords to set.

isShowInToc
boolean
default:
false

Whether the topic's node is shown in the table of contents.

parentTocNodeId
string | nullable

The ID of the parent TOC node. null for the root level.

tocNodeCaption
string

Custom TOC node caption. If not specified, the topic title is used.

tocNodeOrdinalNo
integer

The position of the TOC node. If not specified, it's placed at the end.

Responses
POST/projects/{projectId}/articles
curl https://your-portal.clickhelp.co/api/v1/projects//articles \
  --request POST \
  --header 'Authorization: Basic username:password' \
  --header 'Content-Type: application/json' \
  --data '{
  "id": "nebula-api",
  "title": "Nebula API",
  "statusName": "draft",
  "ownerUserName": "admin",
  "assigneeUserName": "admin",
  "body": "<p>This topic was created with the help of API</p>",
  "indexKeywords": [
    "machinery",
    "api"
  ]
}'
{
  "id": "nebula",
  "title": "New topic created with API",
  "statusName": "Under Review",
  "ownerUserName": "admin",
  "assigneeUserName": "admin",
  "body": "…",
  "html": "…",
  "indexKeywords": [
    "cluster",
    "nebula"
  ],
  "createdOn": "2021-05-10T12:32:25Z",
  "modifiedOn": "2022-11-07T12:59:40Z",
  "projectId": "project-deep-space-exploration",
  "fullUrl": "https://docs.hedron.org/articles/project-deep-space-exploration/nebula"
}

Delete several topics

Deletes multiple topics in a single batch operation.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

Body
application/json

A list of topic IDs to delete.

Schema for deleting multiple topics.

ids
array string[]
required
Responses
  • 204

    The topics were deleted successfully.

DELETE/projects/{projectId}/articles
curl https://your-portal.clickhelp.co/api/v1/projects//articles \
  --request DELETE \
  --header 'Authorization: Basic username:password' \
  --header 'Content-Type: application/json' \
  --data '{
  "ids": [
    ""
  ]
}'
No Body

Get a topic by ID

Retrieves complete information for a single topic by its ID.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

  • topicId
    string
    required

    The ID of the topic.

Responses
GET/projects/{projectId}/articles/{topicId}
curl https://your-portal.clickhelp.co/api/v1/projects//articles/ \
  --header 'Authorization: Basic username:password'
{
  "id": "nebula",
  "title": "New topic created with API",
  "statusName": "Under Review",
  "ownerUserName": "admin",
  "assigneeUserName": "admin",
  "body": "…",
  "html": "…",
  "indexKeywords": [
    "cluster",
    "nebula"
  ],
  "createdOn": "2021-05-10T12:32:25Z",
  "modifiedOn": "2022-11-07T12:59:40Z",
  "projectId": "project-deep-space-exploration",
  "fullUrl": "https://docs.hedron.org/articles/project-deep-space-exploration/nebula"
}

Update a topic

Updates a topic's content or metadata.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

  • topicId
    string
    required

    The ID of the topic.

Body
application/json

The fields to update.

The topic properties to update.

assigneeUserName
string | nullable

Topic assignee's login.

body
string

The new content of the topic in HTML format.

contextHelpId
string | nullable

The context help identifier for the topic.

keywords
array string[]

A list of keywords associated with the topic.

statusName
string

The name of the new status for the topic.

title
string

The new title for the topic.

updatedFields
string
required

A comma-separated list of fields to update. If a field is not in this list, it will not be updated.

Responses
PATCH/projects/{projectId}/articles/{topicId}
curl https://your-portal.clickhelp.co/api/v1/projects//articles/ \
  --request PATCH \
  --header 'Authorization: Basic username:password' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "New topic title",
  "statusName": "draft",
  "updatedFields": "title, statusName"
}'
{
  "id": "nebula",
  "title": "New topic created with API",
  "statusName": "Under Review",
  "ownerUserName": "admin",
  "assigneeUserName": "admin",
  "body": "…",
  "html": "…",
  "indexKeywords": [
    "cluster",
    "nebula"
  ],
  "createdOn": "2021-05-10T12:32:25Z",
  "modifiedOn": "2022-11-07T12:59:40Z",
  "projectId": "project-deep-space-exploration",
  "fullUrl": "https://docs.hedron.org/articles/project-deep-space-exploration/nebula"
}

Delete a topic

Deletes a single topic from a project.

Path Parameters
  • projectId
    string
    required

    The ID of the project.

  • topicId
    string
    required

    The ID of the topic.

Responses
  • 204

    The topic was deleted successfully.

DELETE/projects/{projectId}/articles/{topicId}
curl https://your-portal.clickhelp.co/api/v1/projects//articles/ \
  --request DELETE \
  --header 'Authorization: Basic username:password' \
  --header 'Content-Type: text/plain;charset=UTF-8' \
  --data ""
No Body