API reference

Help center (customer portal)

Raise, follow, reply to and rate service requests as a customer.
GET/v1/portal/issues/:org

Help centers in an organization the caller can use.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • org

    Organization slug, as in the help center link; under marketing the slug a landing page lives under.

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  org: {
    name: string
    slug: string
  }
  spaces: {
    key: string
    name: string
    title: string
    intro: string
  }[]
}
GET/v1/portal/issues/:org/:spaceKey

A help center: title, intro and request types.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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_…).

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

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
      }[]
    }[]
  }[]
}
GET/v1/portal/issues/:org/:spaceKey/requests

The caller's requests (reported or participating): status open, closed or all.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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 parameters

  • status"open" | "closed" | "all"

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

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
  }[]
}
POST/v1/portal/issues/:org/:spaceKey/requests

Raises a request.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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

  • requestTypestringrequired

    Up to 40 characters.

  • summarystringrequired

    1–255 characters. Trimmed.

  • descriptionstring

    Up to 32,000 characters.

  • prioritystring

    Up to 40 characters.

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "requestType": "example",
    "summary": "Example"
  }'
Send it from this page with your session or a key.

Response 201

{
  key: string
}
GET/v1/portal/issues/:org/:spaceKey/requests/:issueKey

One of the caller's requests with its public conversation.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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_…).

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

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
  }[]
}
POST/v1/portal/issues/:org/:spaceKey/requests/:issueKey/comments

Replies on a request.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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

  • bodystringrequired

    1–32,000 characters. Trimmed.

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/comments' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "body": "example"
  }'
Send it from this page with your session or a key.

Response 201

{
  ok: boolean
}
POST/v1/portal/issues/:org/:spaceKey/requests/:issueKey/attachments

Starts a file upload on a request: a presigned PUT, then …/complete.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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

  • namestringrequired

    1–255 characters. Trimmed.

  • sizeintegerrequired

    ≥ 1.

  • contentTypestring

    Up to 255 characters.

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/attachments' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Example",
    "size": 1
  }'
Send it from this page with your session or a key.

Response 201

{
  attachmentId: string
  uploadUrl: string
  headers: {
    "content-type": string
  }
}
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
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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_…).

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/attachments/{attachmentId}/complete' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  attachmentId: string
}
GET/v1/portal/issues/:org/:spaceKey/requests/:issueKey/attachments/:attachmentId

A short-lived download link for a file on the request.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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_…).

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/attachments/{attachmentId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  url: string
  name: string
  contentType: string
  size: number
}
POST/v1/portal/issues/:org/:spaceKey/requests/:issueKey/participants

Shares a request with someone by email.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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

  • emailstringrequired

    3–320 characters. Trimmed.

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/participants' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "person@example.com"
  }'
Send it from this page with your session or a key.

Response 201

{
  ok: boolean
}
DELETE/v1/portal/issues/:org/:spaceKey/requests/:issueKey/participants/:who

Stops sharing a request with someone (an account id or an address).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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.

Errors

  • 403Help centers are for people.
curl -X DELETE 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/participants/{who}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  ok: boolean
}
GET/v1/portal/issues/:org/:spaceKey/articles

Help articles (Knowledge pages under the help center's root) matching q, for suggestions.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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 parameters

  • qstring

    Default "". Up to 200 characters.

Errors

  • 403Help centers are for people.
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/articles' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  articles: {
    pageId: string
    title: string
    icon?: string
    snippet?: string
  }[]
}
GET/v1/portal/issues/:org/:spaceKey/articles/:pageId

One help article (Markdown).

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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_…).

Errors

  • 403Help centers are for people.
  • 404Article not found
curl 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/articles/{pageId}' \
  -H "Authorization: Bearer $CACTIVE_TOKEN"
Send it from this page with your session or a key.

Response 200

{
  article: {
    pageId: string
    title: string
    icon?: string
    markdown: string
    updatedAt: number
  }
}
POST/v1/portal/issues/:org/:spaceKey/requests/:issueKey/rating

Rates a resolved request, 1–5, once.

Auth
A person's token or an API key, as Authorization: Bearer.
Get an API key

Path parameters

  • 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

  • ratingintegerrequired

    1–5.

  • commentstring

    Up to 1,000 characters.

Errors

  • 403Help centers are for people.
curl -X POST 'https://api.cactive.com.au/v1/portal/issues/{org}/{spaceKey}/requests/{issueKey}/rating' \
  -H "Authorization: Bearer $CACTIVE_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
    "rating": 1
  }'
Send it from this page with your session or a key.

Response 200

{
  ok: boolean
}