API reference
Help center (customer portal)
Raise, follow, reply to and rate service requests as a customer.
See Tasks.
GET /v1/portal/issues/:org
Help centers in an organization the caller can use.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
Response 200
{
org: {
name: string
slug: string
}
spaces: {
key: string
name: string
title: string
intro: string
}[]
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey
A help center: title, intro and request types.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
Response 200
{
org: {
name: string
slug: string
}
space: {
key: string
name: string
icon?: string
color?: string
}
portal: {
title: string
intro: string
}
satisfaction: boolean
requestTypes: {
id: string
name: string
description: string
icon?: string
group: string
fields: {
id: "priority"
name: string
options: {
id: string
name: string
}[]
}[]
}[]
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey/requests
The caller's requests (reported or participating): status open, closed or all.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
| Query parameter | Type | Required | Notes |
|---|---|---|---|
status | "open" | "closed" | "all" | No |
Response 200
{
requests: {
key: string
summary: string
requestType: null | string
status: string
statusCategory: "done" | "todo" | "inprogress"
waitingForYou: boolean
resolution: null | string
satisfaction: null | number
createdAt: number
updatedAt: number
}[]
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
POST /v1/portal/issues/:org/:spaceKey/requests
Raises a request.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
requestType | string | Yes | up to 40 characters |
summary | string | Yes | 1–255 characters; trimmed |
description | string | No | up to 32,000 characters |
priority | string | No | up to 40 characters |
Response 201
{
key: string
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey/requests/:issueKey
One of the caller's requests with its public conversation.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
Response 200
{
request: {
description: string
reporter: string
participants: {
id: string
name: string
}[]
approvals: {
id: string
status: string
state: "pending" | "approved" | "declined"
needed: "all" | "one"
decided: number
approvers: number
}[]
key: string
summary: string
requestType: null | string
status: string
statusCategory: "done" | "todo" | "inprogress"
waitingForYou: boolean
resolution: null | string
satisfaction: null | number
createdAt: number
updatedAt: number
}
attachments: {
id: string
name: string
size: number
contentType: string
createdAt: number
}[]
comments: {
id: string
body: string
author: string
mine: boolean
at: number
}[]
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
POST /v1/portal/issues/:org/:spaceKey/requests/:issueKey/comments
Replies on a request.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
body | string | Yes | 1–32,000 characters; trimmed |
Response 201
{
ok: boolean
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
POST /v1/portal/issues/:org/:spaceKey/requests/:issueKey/attachments
Starts a file upload on a request: a presigned PUT, then …/complete.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | Yes | 1–255 characters; trimmed |
size | integer | Yes | ≥ 1 |
contentType | string | No | up to 255 characters |
Response 201
{
attachmentId: string
uploadUrl: string
headers: {
"content-type": string
}
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
POST /v1/portal/issues/:org/:spaceKey/requests/:issueKey/attachments/:attachmentId/complete
Confirms an upload once the file is in place; it then shows on the request.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
:attachmentId | Attachment id (att_…). |
Response 200
{
attachmentId: string
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey/requests/:issueKey/attachments/:attachmentId
A short-lived download link for a file on the request.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
:attachmentId | Attachment id (att_…). |
Response 200
{
url: string
name: string
contentType: string
size: number
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
POST /v1/portal/issues/:org/:spaceKey/requests/:issueKey/participants
Shares a request with someone by email.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
email | string | Yes | 3–320 characters; trimmed |
Response 201
{
ok: boolean
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
DELETE /v1/portal/issues/:org/:spaceKey/requests/:issueKey/participants/:who
Stops sharing a request with someone (an account id or an address).
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
:who | A person's user id (usr_…) or an email address, as listed in the request's participants. |
Response 200
{
ok: boolean
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey/articles
Help articles (Knowledge pages under the help center's root) matching q, for suggestions.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
| Query parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
q | string | No | "" | up to 200 characters |
Response 200
{
articles: {
pageId: string
title: string
icon?: string
snippet?: string
}[]
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
GET /v1/portal/issues/:org/:spaceKey/articles/:pageId
One help article (Markdown).
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:pageId | Page id: a Notes page (doc_…), or a Feed page (pgx_…) under /v1/messaging/social; under marketing a landing page (mkp_…). |
Response 200
{
article: {
pageId: string
title: string
icon?: string
markdown: string
updatedAt: number
}
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |
404 | Article not found |
POST /v1/portal/issues/:org/:spaceKey/requests/:issueKey/rating
Rates a resolved request, 1–5, once.
Auth: user access token or platform agent key
| Path parameter | Description |
|---|---|
:org | Organization slug, as in the help center link; under marketing the slug a landing page lives under. |
:spaceKey | Space key (WEB; former keys work too) or space id (spc_…). |
:issueKey | Issue key (WEB-12; former keys of moved issues and renamed spaces work too) or issue id (iss_…). |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
rating | integer | Yes | 1–5 |
comment | string | No | up to 1,000 characters |
Response 200
{
ok: boolean
}Errors
| Status | Message |
|---|---|
403 | Help centers are for people. |