Docs

Data Models

Canonical shapes for Platform API request and response bodies.

ApiKeyHeader

Non-object schema, see OpenAPI spec for details.

ArtifactSchema

FieldTypeRequiredDescription
idstring (uuid)yes
business_idunknownyes
created_byunknownyes
artifact_typestringyes
titlestringyes
description`stringnull`yes
status`enum("draft""saved""archived")`
content_markdown`stringnull`yes
content_json`objectnull`yes
current_versionintegeryes
source_table`stringnull`yes
source_id`stringnull`yes
project_id`stringnull`yes
parent_artifact_id`string (uuid)null`yes
tagsarray<string>yes
metadataobjectyes
created_atstringyes
updated_atstringyes

ArtifactStatusSchema

Enum values: "draft", "saved", "archived"

ArtifactVersionSchema

FieldTypeRequiredDescription
idstring (uuid)yes
artifact_idunknownyes
versionintegeryes
edited_byunknownyes
edit_source`enum("api""mcp""frontend"
content_markdown`stringnull`yes
content_json`objectnull`yes
titlestringyes
status`enum("draft""saved""archived")`
change_summary`stringnull`yes
created_atstringyes

AskRequestSchema

FieldTypeRequiredDescription
querystringyes

AskResponseSchema

FieldTypeRequiredDescription
answerstringyes
substrateStatsobjectyes

ClusterSearchRequestSchema

FieldTypeRequiredDescription
querystringyes
match_thresholdnumberno
limitintegerno

CreateArtifactRequestSchema

FieldTypeRequiredDescription
artifact_typestringyes
titlestringyes
descriptionstringno
content_markdownstringno
content_jsonobjectno
project_idstring (uuid)no
parent_artifact_idunknownno
tagsarray<string>no
metadataobjectno

DeletedResponseSchema

FieldTypeRequiredDescription
deletedbooleanyes

ErrorSchema

FieldTypeRequiredDescription
errorstringyes

ExploreRequestSchema

FieldTypeRequiredDescription
scope`enum("all""schema""clusters"
include_samplesbooleanno

QueryRequestSchema

FieldTypeRequiredDescription
sqlstringyes
limitintegerno

QueryResultSchema

FieldTypeRequiredDescription
rowCountnumberyes
truncatedbooleanyes
rowsarray<object>yes

RegisterWebhookRequestSchema

FieldTypeRequiredDescription
urlstring (uri)yes
events`array<enum("artifact.created""artifact.updated""artifact.status_changed"

RememberRequestSchema

FieldTypeRequiredDescription
textstringyes
source`enum("web""kg""reference_doc"
company_namestringno

RememberResponseSchema

FieldTypeRequiredDescription
evidenceIdstringyes
totalEvidenceCountnumberyes
persistedbooleanyes

SearchRequestSchema

FieldTypeRequiredDescription
querystringyes
mode`enum("hybrid""semantic""keyword")`
limitintegerno
source_typestringno

SearchResultSchema

FieldTypeRequiredDescription
resultCountnumberyes
resultsarray<object>yes

SessionIdHeader

Non-object schema, see OpenAPI spec for details.

SessionListItemSchema

FieldTypeRequiredDescription
idstringyes
created_atstringyes
updated_atstringyes

SessionSchema

FieldTypeRequiredDescription
idstringyes
business_idstring (uuid)yes
user_idunknownyes
created_atstringyes
updated_atstringyes

SubstrateIntentSchema

Enum values: "answer_question", "find_metrics", "research_overview", "summarize_research", "evidence_for_writing", "enrich_with_quotes", "assess_viability"

SubstrateQueryRequestSchema

FieldTypeRequiredDescription
intent`enum("answer_question""find_metrics""research_overview"
querystringno
limitintegerno
source_filterarray<string>no

UpdateArtifactRequestSchema

FieldTypeRequiredDescription
titlestringno
descriptionstringno
status`enum("draft""saved""archived")`
content_markdownstringno
content_jsonobjectno
tagsarray<string>no
metadataobjectno
change_summarystringno

WebhookDeliverySchema

FieldTypeRequiredDescription
idstring (uuid)yes
webhook_idunknownyes
eventstringyes
payloadobjectyes
status_code`numbernull`yes
attemptintegeryes
error`stringnull`yes
created_atstringyes

WebhookEventSchema

Enum values: "artifact.created", "artifact.updated", "artifact.status_changed", "session.completed"

WebhookSchema

FieldTypeRequiredDescription
idstring (uuid)yes
business_idunknownyes
user_idunknownyes
urlstring (uri)yes
events`array<enum("artifact.created""artifact.updated""artifact.status_changed"
activebooleanyes
created_atstringyes
secretstringno