---
title: "Create a new Knowledge Article"
method: POST
path: "/knowledgearticle.json"
tags: ["Knowledge Articles"]
---

# Create a new Knowledge Article

`POST /knowledgearticle.json`

#### OAuth Scope
This endpoint requires the following OAuth scope **manage_knowledge**.

			
			
#### Record UUID
UUID is optional for record creation. If no UUID is supplied, a UUID will be automatically generated for the new record and returned in the `x-record-uuid` response header.

## Request body

- KnowledgeArticleCreate
  - `uuid` string, uuid — Unique identifier for this record
  - `name` string, required — Title of the knowledge article. This is a mandatory field with a maximum length of 100 characters. Used for identifying and searching for articles in the knowledge base.
  - `content` string — The main content of the knowledge article. For 'richtext' and 'pdf' articles, this contains HTML formatted text. For 'video' articles, this may contain supplementary information. For 'call' articles, this contains call details. Supports extended text length.
  - `article_type` string — Type of knowledge article. Valid values are 'video', 'richtext', 'pdf', or 'call'. This determines how the article content is presented and processed in the system.
  - `tags` string — Comma-separated list of tags associated with this knowledge article. Maximum length is 2000 characters. Tags are used for categorization, searching, and automatic relationship generation with other objects like Services, Materials, and Companies.
  - `relationships` object[] — JSON array of manually created relationships between this knowledge article and other objects. Contains objects with properties: object_name (e.g., 'job'), object_uuid (the related object's UUID), object_description (a description of the related object), and create_date. Used to associate articles with specific jobs or other system objects.
    - `object_name` 'Job' | 'job', required
    - `object_uuid` string, uuid, required
    - `object_description` string
    - `create_date` string

## Response `200`

Success

- Result
  - `errorCode` number
  - `message` string

## Other responses

- `400` — Bad Request - The request is malformed or contains invalid parameters
- `401` — Unauthorized - Authentication credentials are missing or invalid
- `403` — Forbidden - You don't have permission to create this resource
- `429` — Too Many Requests - You have exceeded the rate limit
- `500` — Internal Server Error - An unexpected error occurred on the server

---

[API](https://skmtc.net/servicem8/apis/servicem8-api.md) · [All operations](https://skmtc.net/servicem8/apis/servicem8-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/servicem8/servicem8-api/versions/53ede60e3653/schema)
