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 ArticlesgetGet ArticlepostCreate ArticleputUpdate ArticlepostUpload Article ImagedelDelete ArticlegetGet Public ArticlegetGet Public Articles By IDsgetGet Related ArticlesgetSearch ArticlesgetInstant Search ArticlespostAdd Article ReactionpostIncrement Article Views
KnowledgeArticles

Update Article

Updates an article. Despite the PUT, only the fields present in the body are written. Two side effects are worth knowing: changing the title regenerates the URL slug, which breaks existing links to the article; and switching type to internal clears its collection, removing it from help-center navigation. Moving between draft and published is what controls public visibility. To include a new screenshot, upload it with Upload Article Image and embed the returned https://storage.saasco.com URL in body.

PUT
/projects/{projectId}/knowledge/articles/{id}

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that owns the article.

idrequiredstring

ID of the article to update.

Request Body

application/json

authorIdstring
bodystring

Article HTML. Embed a screenshot as . Upload a new image with Upload Article Image and use the returned URL. Omit to leave unchanged.

collectionIdstring | null
descriptionstring | null
orderinteger
statestring
Value in: "draft" | "published"
typestring
Value in: "public" | "internal"
urlstring | null
titlestring

Article title. Omit to leave unchanged.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://www.saasco.com/api/v2/projects/string/knowledge/articles/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "createdAt": "string",
  "updatedAt": "string",
  "projectId": "string",
  "type": "public",
  "title": "string",
  "slug": "string",
  "description": "string",
  "body": "string",
  "url": "string",
  "state": "draft",
  "order": -9007199254740991,
  "collectionId": "string",
  "authorId": "string",
  "views": -9007199254740991,
  "conversions": -9007199254740991,
  "happyReactions": -9007199254740991,
  "neutralReactions": -9007199254740991,
  "sadReactions": -9007199254740991
}
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}

Create Article

Creates a knowledge-base article. The URL slug is generated from the title rather than supplied. Public articles belong to a collection and appear on the help center once published; internal articles are not browsable and exist to answer support questions. The authenticated caller (session or MCP user) becomes the article's author, so an API key alone is not enough. To include a new screenshot, upload it with Upload Article Image and embed the returned https://storage.saasco.com URL in `body`.

Upload Article Image

Uploads a screenshot for a Help Center article, using the same project image upload as pasting an image into the article editor. Send base64 image bytes, a content type, and an optional file name. Optionally set pathPrefix to the article slug so the file is stored with that article's other screenshots. Returns a public https://storage.saasco.com URL to embed in the article body when creating or updating the article. An existing storage URL can be embedded directly and does not need to be uploaded again.