Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

OverviewGetting startedWhat is Saasco?

SDK

Quick startTrackingIdentifyConfigurationWidgetsProperties

MCP

Quick startHow it worksAuthorizationTool reference

REST API

Quick start
Set up KnowledgePopulate the knowledge base
getList CollectionsgetGet CollectionpostCreate CollectionputUpdate CollectiondelDelete CollectiongetList Public Collections
KnowledgeCollections

Create Collection

Creates a collection: the folder that groups articles in a help center's navigation. Collections can nest via parentId, up to 3 levels deep. Set icon to a Lucide icon name, an emoji, or an https://storage.saasco.com URL, or send iconImage to upload an image file the same way the product icon picker does.

POST
/projects/{projectId}/knowledge/collections

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that will own the collection.

Request Body

application/json

helpCenterIdrequiredstring

ID of this project's help center. Use knowledge_getHelpCenter, and knowledge_createHelpCenter if that returns null.

namerequiredstring
descriptionstring | null
urlstring | null
iconstring | null

Lucide icon name (for example book-open), an emoji, or a public storage URL (https://storage.saasco.com/...). Send iconImage to upload an image file instead.

parentIdstring | null
iconImageobject

Image file to upload as the collection icon, using the same project image upload as the product icon picker. The stored icon becomes the public storage URL. When set, this replaces icon.

contentTyperequiredstring

Image MIME type, for example image/png or image/svg+xml.

dataBase64requiredstring

Base64-encoded image bytes. A data: URL is also accepted.

fileNamestring

File name including the extension, for example analytics.svg.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string/knowledge/collections" \  -H "Content-Type: application/json" \  -d '{    "helpCenterId": "string",    "name": "string"  }'
{
  "id": "string",
  "createdAt": "string",
  "updatedAt": "string",
  "projectId": "string",
  "helpCenterId": "string",
  "name": "string",
  "description": "string",
  "url": "string",
  "icon": "string",
  "order": -9007199254740991,
  "parentId": "string"
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Get Collection

Fetches a single collection by ID. Returns `null` rather than 404 when nothing matches.

Update Collection

Updates a collection's name, description, icon, or position. Only the fields present in the body are written. Re-parent it by setting `parentId`, keeping within the 3-level nesting limit. `icon` accepts a Lucide name, an emoji, or a storage URL; `iconImage` uploads an image file and stores the resulting storage URL.