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

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.

POST
/projects/{projectId}/knowledge/articles/images

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that will own the screenshot.

Request Body

application/json

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 step-1.png. Omit to derive one from the content type.

pathPrefixstring

Article slug the editor groups pasted images under, for example how-to-install-the-sdk. Letters, numbers, hyphens, and underscores, up to 80 characters.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://www.saasco.com/api/v2/projects/string/knowledge/articles/images" \  -H "Content-Type: application/json" \  -d '{    "contentType": "string",    "dataBase64": "string"  }'
{
  "fileUrl": "http://example.com"
}
{
  "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": []
}

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

Delete Article

Permanently deletes an article and the screenshots it uploaded. Idempotent: deleting an article that does not exist still returns `true` rather than 404, so the response is not a reliable existence check. Cannot be undone.