---
title: "Create KnowledgeBaseArticle"
method: POST
path: "/KnowledgeBaseArticle"
tags: ["KnowledgeBaseArticle"]
---

# Create KnowledgeBaseArticle

`POST /KnowledgeBaseArticle`

Create a new 'KnowledgeBaseArticle' record.

## Headers

- `X-Skip-Duplicate-Check` 'true' | 'false'
- `X-Duplicate-Source-Id` string

## Request body

- KnowledgeBaseArticleCreate
  - `id` string — An ID.
  - `name` string — A one-line string.
  - `status` 'Draft' | 'In Review' | 'Published' | 'Archived'
  - `language` string
  - `type` 'Article'
  - `portalsIds` string[], nullable — IDs of records of the Portal type.
  - `portalsNames` object, nullable — An {ID => record name} map.
  - `publishDate` string, date, nullable — A date.
  - `expirationDate` string, date, nullable — A date.
  - `order` integer, nullable
  - `description` string, nullable — A multi-line text.
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `categoriesIds` string[], nullable — IDs of records of the KnowledgeBaseCategory type.
  - `categoriesNames` object, nullable — An {ID => record name} map.
  - `body` string, nullable — A multi-line text.
  - `bodyPlain` string, nullable — A multi-line text.

## Response `200`

Success.

- KnowledgeBaseArticle
  - `id` string — An ID.
  - `name` string — A one-line string.
  - `status` 'Draft' | 'In Review' | 'Published' | 'Archived'
  - `language` string
  - `type` 'Article'
  - `portalsIds` string[], nullable — IDs of records of the Portal type.
  - `portalsNames` object, nullable — An {ID => record name} map.
  - `publishDate` string, date, nullable — A date.
  - `expirationDate` string, date, nullable — A date.
  - `order` integer, nullable
  - `description` string, nullable — A multi-line text.
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `categoriesIds` string[], nullable — IDs of records of the KnowledgeBaseCategory type.
  - `categoriesNames` object, nullable — An {ID => record name} map.
  - `body` string, nullable — A multi-line text.
  - `bodyPlain` string, nullable — A multi-line text.

## Other responses

- `400` — Bad request. Might be a validation error. Check logs for details.
- `403` — Forbidden. Might be an access control error. Check logs for details.
- `409` — Conflict. May be a possible duplicate. Use X-Skip-Duplicate-Check to skip check.

---

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