Skip to main content
POST
Create a custom artifact

Authorizations

Authorization
string
header
required

Use Authorization: Bearer

Path Parameters

project_id
string<uuid>
required

UUID of the project

Body

application/json

The slug is always generated server-side by slugifying the title; the created artifact's slug is returned in the response. A title whose slug is already taken in the project is rejected with 400 keyed to title — pick a different title.

technical_type
enum<string>
required

Storage/editing format of the artifact's payload — string for markdown and bpmn_xml, object for mental_map, array for playbook_list and design_template_list.

Available options:
markdown,
mental_map,
playbook_list,
design_template_list,
bpmn_xml
title
string
required
Maximum string length: 255
definition_short
string
required

Purpose of the artifact.

capture_discipline
string
required

Knowledge capture rules for the artifact.

group
string

Optional group label; "Foundation" and "Other" are reserved. The standard section names ("Project Management", …) are allowed and file the artifact alongside the predefined ones.

Maximum string length: 64
format_description
string

How the content should be structured.

Response

Created

id
string<uuid>
slug
string
title
string
semantic_type
enum<string>

What the artifact means in the knowledge store. Predefined types are seeded by the platform; custom artifacts are user-created.

Available options:
brief,
project_plan,
mental_map,
general_knowledge,
playbooks,
library_description,
design_templates,
custom
technical_type
enum<string>

Storage/editing format of the artifact's payload — string for markdown and bpmn_xml, object for mental_map, array for playbook_list and design_template_list.

Available options:
markdown,
mental_map,
playbook_list,
design_template_list,
bpmn_xml
in_scope
boolean
display_order
integer
group
string

Catalog group label; empty for predefined artifacts (their section derives from semantic_type) and for ungrouped custom ones. "Foundation" and "Other" are reserved for UI-derived sections and cannot be set; the four standard section names ("Project Management", …) are NOT reserved — a custom artifact may use one to file itself alongside the predefined artifacts.

definition_short
string
head_version_number
integer | null
head_updated_at
string<date-time> | null
version_count
integer
can_delete
boolean
definition_long
string
format_description
string

Custom artifacts only; empty string for predefined types.

capture_discipline
string

Custom artifacts only; empty string for predefined types.

selected_version_number
integer | null
payload
any

Content of the selected version; shape depends on technical_type. Null when the artifact has no versions.