Schemas
AccessLogEntry
log_idlog_timestamplog_userlog_api_keylog_levellog_methodlog_urllog_paramslog_querylog_bodylog_user_nameAgent
agent_idagent_nameagent_descriptionagent_iconagent_modelagent_temperatureagent_top_pagent_audienceagent_dsagent_system_promptagent_configagent_toolsagent_connsagent_metadataagent_managed_byagent_activeagent_createdagent_updatedagent_tenant_idagent_tenant_enabledagent_tenant_dsagent_tenant_instructionsagent_tenant_metadataAuditEvent
history_idhistory_timestamphistory_userhistory_recordhistory_tablehistory_ophistory_refhistory_changesethistory_user_nameBusinessObject
obj_idobj_activeobj_createdobj_updatedobj_created_byobj_typeobj_keyobj_nameobj_formobj_contentobj_state_itemobj_repoobj_metadataCalendarEvent
ce_idce_summaryce_descriptionce_locationce_startce_endce_sourcece_hiddence_templatece_template_nameChatWidget
widget_idwidget_activewidget_createdwidget_updatedwidget_created_bywidget_keywidget_namewidget_agentwidget_originswidget_welcomewidget_themewidget_configwidget_limitsChatWidgetSession
wses_idwses_activewses_createdwses_updatedwses_widgetwses_threadwses_user_agentwses_originwses_page_urlwses_countrywses_message_countwses_creditswses_leadwses_metadatawses_first_messageThe visitor's opening message, cut to 300 characters. Null when the visitor never wrote.
wses_feedback_downHow many answers in the conversation the visitor rated not helpful.
Comment
cmt_idcmt_createdcmt_updatedcmt_entity_typecmt_entitycmt_field_pathField keys and array indices addressing one part of the record, from its root. Null means the record as a whole.
cmt_parentcmt_usercmt_bodyUsers named in the body, as the directory spells them.
cmt_resolved_atcmt_resolved_bycmt_authorWho wrote it — enough to attribute and draw an avatar without a second request.
cmt_resolved_by_nameDisplay name of whoever resolved the thread. Null while it is open.
ContentApprovalFlow
sm_idsm_activesm_createdsm_updatedsm_namesm_defaultThe flow governing every site that has not chosen one of its own. At most one flow is the default.
Retired for content flows: pages move by selecting a step directly, gated by the step's own si_roles.enter. Old definitions may still carry authored moves here; nothing reads them.
sm_metadataThe flow's steps, in the order pages move through them.
ContentSchema
tpl_idtpl_activetpl_createdtpl_updatedtpl_grouptpl_nametpl_componenttpl_nestabletpl_fieldstpl_metadataDesign
de_idde_createdde_updatedde_userde_namede_descriptionde_typede_templatede_categoriesde_canvas_widthde_canvas_heightde_canvas_unitde_canvas_dpide_canvas_backgroundde_preview_filede_export_settingsde_metadatade_versionpreview_fileDesignCategory
cat_idcat_createdcat_updatedcat_managed_bycat_namecat_ordercat_iconcat_metadatausage_countHow many designs are filed under it.
DesignLayer
dl_iddl_createddl_updateddl_parentdl_namedl_typedl_orderdl_lockeddl_visibledl_opacitydl_positiondl_sizedl_rotationdl_scaledl_flipdl_contentdl_styledl_constraintsdl_metadataDesignVersion
de_idde_namede_createdde_versionde_metadatade_canvas_widthde_canvas_heightde_canvas_unitde_canvas_dpide_preview_filepreview_filelayer_countDocument
What the file belongs to. One key naming the owning object, or library for a library it sits in rather than an object it belongs to. Keys the platform stamps (presentation jobs, form submissions, workflow runs) are returned but cannot be sent.
file_idfile_namefile_typefile_sizefile_createdfile_updatedfile_added_byfile_hashfile_metadatafile_replicasfile_statusfile_bucketfile_folderfile_provider_idfile_summaryfile_preffile_deprecatedfile_relation_countHow many other documents this one is linked to.
markdown_readysimilarityDocumentRelation
rel_idrel_typerel_createdrel_created_byrel_metadatadirectionfrom when this document is the one the type's label describes, to when it is the one pointed at.
labelThe type's label as it reads from this document.
relation_typeThe relationship type: rt_id, rt_name, rt_inverse_name, rt_symmetric.
documentThe document on the other end: file_id, file_name, file_type, file_size, file_updated, file_deprecated.
ErrorCode
The closed vocabulary of error codes. Branch on this rather than on title or detail.
ExtensionInstall
inst_idinst_statusinst_versioninst_scopesinst_createdinst_updatedext_slugThe extension the install is of.
ext_nameext_descriptionExtensionStateDocument
exs_idexs_keyexs_valueexs_versionexs_createdexs_updatedexs_updated_byFace
fd_idfd_filefd_personfd_confidencefd_match_distancefd_assigned_atfd_thumbnailfd_boxfd_metadatafd_agefd_genderfd_gender_confidencefd_expressionfd_expression_confidencefd_sharpnessfd_createdfd_low_qualityfp_idfp_nameFaceSuggestion
fd_idfd_filefd_thumbnailfd_confidencefd_createdfd_genderfd_gender_confidencefd_agesuggest_verifysuggested_distancefp_idfp_nameperson_thumbnailperson_genderperson_agefile_idfile_namefile_typefile_replicasfile_bucketfile_folderfile_provider_idfile_createdFile
What the file belongs to. One key naming the owning object, or library for a library it sits in rather than an object it belongs to. Keys the platform stamps (presentation jobs, form submissions, workflow runs) are returned but cannot be sent.
file_idfile_namefile_typefile_sizefile_createdfile_updatedfile_metadatafile_provider_idfile_bucketfile_folderfile_hashfile_statusfile_added_byfile_replicasfile_summaryfile_prefFileRepo
libraryA library rather than an object: media is the shared media library, docs is the document library, and generated is what the platform produced without filing it anywhere else.
dsA knowledge base. Its files are the documents it indexes.
threadA conversation. Its files are the attachments sent to it and the images generated in it.
designA design. Its files are the assets placed on it and the previews rendered from it.
promptA saved prompt. Its files are the references attached to it.
pptThe presentation job that generated this file.
ppt_templateThe presentation template this file belongs to — the uploaded master deck or a layout background extracted from it.
formThe form whose submission carried this file.
submissionThe form submission this file was uploaded with.
fieldThe form field this file was uploaded into.
infographicThe rendered infographic this file was derived from.
sitemapThe site whose page content this reference file was written for.
nodeThe site page this reference file was written for.
wf_instanceThe workflow run that generated this file.
wf_nameThe name of the workflow that generated this file.
FileVersion
fv_idfv_createdfv_masterfv_reasonfv_sizefv_typefv_hashfv_replicasfv_metadatafv_added_byfv_namefv_added_by_nameGeoRestriction
geo_idgeo_namegeo_workspace_widegeo_sourcegeo_activegeo_createdgeo_updatedgeo_countriesgeo_usageInfographic
file_idfile_namefile_typefile_sizefile_createdfile_updatedfile_added_byfile_repofile_hashfile_metadatafile_replicasfile_provider_idfile_bucketfile_folderfile_prefversion_countIntegration
conn_idconn_activeconn_createdconn_updatedconn_nameconn_providerconn_statusconn_configconn_provider_paramsconn_metadataKnowledgeBase
ds_idds_nameds_descriptionds_typeds_categoryds_subcategoryds_configds_metadatads_activeds_createdds_updatedform_idThe knowledge base's record schema — see GET /knowledge-base-schemas/{id}. Null unless the base is form-backed.
form_nameform_managed_byKnowledgeBaseRecord
data_iddata_titledata_repodata_contentdata_formdata_metadatadata_activedata_createddata_updateddata_excerptKnowledgeBaseSchema
form_idform_nameform_descriptionform_configform_metadataform_managed_byform_activeform_createdform_updatedMediaAnalysisSchema
form_idform_nameform_descriptionform_configform_metadataform_managed_byform_activeform_createdform_updatedMediaFile
What the file belongs to. One key naming the owning object, or library for a library it sits in rather than an object it belongs to. Keys the platform stamps (presentation jobs, form submissions, workflow runs) are returned but cannot be sent.
file_idfile_namefile_typefile_sizefile_createdfile_updatedfile_added_byfile_hashfile_metadatafile_replicasfile_statusfile_bucketfile_folderfile_provider_idfile_state_itemfile_prefsimilarityface_similarityMediaStatusFlow
sm_idsm_activesm_createdsm_updatedsm_object_criteriaThe moves the machine allows. roles and users are alternatives — holding one of the roles or being one of the users is enough — and naming neither leaves the move open to anyone who can write the record.
sm_metadataThe flow's statuses, in display order.
Memory
mem_idmem_valuemem_typemem_sourcemem_threadmem_activemem_metadatamem_createdmem_updatedMessage
msg_idmsg_threadmsg_parentmsg_sequencemsg_rolemsg_contentmsg_sendermsg_modelmsg_metadatamsg_errormsg_feedbackmsg_formmsg_versionmsg_edited_atmsg_tool_callsmsg_tool_call_idmsg_createdmsg_activeObjectLifecycleFlow
sm_idsm_activesm_createdsm_updatedsm_object_criteriaThe moves the machine allows. roles and users are alternatives — holding one of the roles or being one of the users is enough — and naming neither leaves the move open to anyone who can write the record.
sm_metadataThe flow's states, in display order.
ObjectRelation
rel_idrel_activerel_createdrel_created_byrel_typerel_fromrel_from_typerel_torel_to_typerel_metadataObjectSchema
form_idform_nameform_descriptionform_configform_metadataform_managed_byform_activeform_createdform_updatedObjectSource
src_idsrc_activesrc_createdsrc_updatedsrc_created_bysrc_namesrc_providersrc_configsrc_statesrc_metadataObjectSyncJob
osj_idosj_sourceosj_kindosj_triggerosj_statusosj_createdosj_updatedosj_startedosj_finishedosj_created_byosj_optionsosj_totalosj_doneosj_failedosj_resultosj_failuresosj_errorosj_cancelosj_stalledRunning, but its worker has stopped reporting in. Resume it.
ObjectTaxonomy
tax_idtax_activetax_createdtax_updatedtax_typetax_nametax_keytax_parenttax_ordertax_metadataobject_countHow many objects are filed directly under this node.
Page
node_idnode_creatednode_updatednode_sitemapnode_parentnode_ordernode_typeA page holds content and may have pages under it; a folder only holds pages. A page with content cannot become a folder.
node_namenode_slugnode_instructionsnode_instructions_paramsnode_children_instructionsnode_componentnode_contentnode_content_summarynode_content_statusnode_state_itemnode_threadsnode_metadataThe page's SEO meta data. Filled by generation from the draft copy and editable; kept out of node_content so it is never pushed to a connected CMS.
Reviewer material written alongside the copy: the review agent's account of the page when the site names one (review), and the editor agent's pass when the site names an editor (editor). Kept out of node_content so it never reaches a CMS. Left out of the site tree; read it from one page, or include=review.
node_assigneeWho the page currently waits on. Set freely via PUT /sites/{id}/pages/{page_id}/assignee and carried unchanged through workflow moves unless the move says otherwise.
node_approved_atWhen the page was last signed off. A page carrying this and standing at draft has been edited since — the copy that was approved is still kept, and GET /sites/{id}/pages/{page_id}/approved-content answers with it.
node_approved_byWho signed it off. Null on pages approved before this was recorded.
node_open_commentsUnresolved comment threads on this page. Only sent when a site is fetched whole.
PageCommentThread
cmt_idcmt_createdcmt_updatedcmt_entityThe page the thread is on.
cmt_field_pathField keys and array indices addressing one part of the page, from its root. Null means the page as a whole.
cmt_usercmt_bodyUsers named in the body, as the directory spells them.
cmt_resolved_atcmt_resolved_bycmt_authorWho opened the thread — enough to attribute and draw an avatar.
cmt_resolved_by_nameDisplay name of whoever resolved the thread. Null while it is open.
cmt_participantsEveryone who has spoken in the thread, the opener included.
cmt_reply_countReplies under the thread, not counting the comment that opened it.
cmt_last_activityWhen the thread was last added to. A reply is its own row and never touches the first comment, so this is not cmt_updated.
cmt_pageThe page the thread is on: its id, name, slug, content status, and its place in the tree.
cmt_anchor_labelWhat the anchored field is called, read against the page as it stands (Body › Plan with confidence › Text). Null for a thread about the page as a whole.
cmt_anchor_unattachedTrue when the anchor no longer resolves — the block it named was moved or removed, and the conversation outlived its subject.
Person
fp_idfp_namefp_coverfp_metadatafp_activefp_createdfp_updatedcover_thumbnailface_countmanual_countsuggestion_counttotal_countPersonPhoto
file_idfile_namefile_typefile_sizefile_createdfile_updatedfile_replicasfile_metadatafile_statusfile_bucketfile_folderfile_provider_idfd_idfd_thumbnailfd_confidencefd_match_distancefd_boxPresentation
ppt_job_idppt_job_createdppt_job_updatedppt_job_created_byppt_job_statusppt_job_progressppt_job_titleppt_job_paramsppt_job_planppt_job_output_file_idppt_job_errorppt_job_metadataPresentationTemplate
ppt_tpl_idppt_tpl_nameppt_tpl_descriptionppt_tpl_file_idppt_tpl_configppt_tpl_metadatappt_tpl_activeppt_tpl_createdppt_tpl_updatedfile_namefile_replicasProblem
typeA URI identifying the error kind.
titleA short, human-readable summary of the error kind.
statusThe HTTP status code, repeated in the body.
codeThe closed vocabulary of error codes. Branch on this rather than on title or detail.
detailWhat went wrong with this specific request.
instanceThe path that produced the error.
errorIdCorrelates the response with our logs. Quote it in support requests.
upstreamCodeA code minted by a provider we call (Stripe, Vapi). Never one of ours.
Present on 422. One entry per field that failed validation.
featurePresent on license_required. The module the workspace is missing, as named on the operation and in features on GET /me.
Prompt
prompt_idprompt_nameprompt_descriptionprompt_description_shortprompt_iconprompt_agentprompt_authorprompt_configprompt_metadataprompt_supported_modelsprompt_textprompt_wildcardsprompt_managed_byprompt_activeprompt_createdprompt_updatedagent_idagent_nameagent_iconprompt_tenant_idprompt_tenant_categoriesHow this workspace filed the prompt — ids from /prompt-categories. Per workspace, so filing a product prompt affects nobody else.
prompt_tenant_time_savingslast_usedPromptCategory
cat_idcat_createdcat_updatedcat_managed_bycat_namecat_ordercat_iconcat_metadatausage_countHow many prompts are filed under it.
Publication
pub_idpub_filepub_statepub_versionpub_hostnamepub_namepub_sizepub_content_typepub_hashpub_startpub_endpub_copy_statepub_errorpub_denypub_restrictionspub_createdpub_updatedpub_publishedpub_revokedpub_urlpub_stalepub_file_namepub_published_nameRelationType
rt_idrt_activert_createdrt_updatedrt_namert_inverse_namert_symmetricrt_descriptionRole
role_idrole_namerole_descriptionrole_iconrole_permissionsrole_managed_byrole_activerole_createdrole_users_countScheduledJob
job_idjob_managed_byjob_activejob_createdjob_updatedjob_namejob_titlejob_descriptionjob_cronjob_timezonejob_typejob_workflowjob_configjob_scopejob_max_retriesjob_timeout_secondsjob_metadataoverride_idoverride_enabledoverride_cronoverride_timezoneoverride_configlast_run_statuslast_run_atSecurityEvent
ae_idae_timestampae_userae_typeae_successae_ipae_user_agentae_cityae_countryae_connectionae_client_nameae_user_nameShareLink
share_idshare_nameshare_typeshare_activeshare_createdshare_updatedshare_created_byshare_expires_atshare_file_idsshare_album_idshare_optionsshare_view_countshare_download_countshare_max_filesshare_max_sizeshare_created_by_nameshare_file_countshare_upload_countshare_last_upload_atshare_password_setshare_pre_tagsshare_album_idsshare_allow_change_tagsshare_allow_change_albumskiosk_urlSite
sitemap_idsitemap_createdsitemap_updatedsitemap_usersitemap_namesitemap_domainsitemap_descriptionsitemap_configsitemap_metadatasitemap_tpl_groupsitemap_approval_modeHow the site is reviewed: the workspace's default approval flow, the one sitemap_approval_flow names, or not at all. Set through PUT /sites/{id}/approval-flow.
sitemap_approval_flowThe approval flow the site chose; only read when sitemap_approval_mode is flow.
sitemap_last_editedThe later of sitemap_updated and the last change to any of the site's pages. Only sent by the list.
SocialPost
sp_idsp_filesp_usersp_platformsp_statussp_captionsp_media_typesp_platform_datasp_metadatasp_errorsp_scheduled_atsp_published_atsp_createdsp_updatedfile_namefile_typefile_replicasSpace
space_idspace_activespace_createdspace_updatedspace_created_byspace_namespace_descriptionspace_iconspace_colorspace_parentspace_default_agentspace_system_promptspace_knowledgespace_metadatathread_countchild_countTask
task_idtask_numbertask_nametask_descriptiontask_statustask_prioritytask_assigned_totask_assigned_attask_created_bytask_due_attask_formtask_datatask_copilottask_wftask_wf_instancetask_wf_steptask_callback_urltask_is_templatetask_activetask_createdtask_updatedThread
thread_idthread_titlethread_typethread_statusthread_summarythread_contextthread_refthread_agentthread_userthread_spacethread_share_modethread_generating_forthread_metadatathread_activethread_createdthread_updatedagent_idagent_nameagent_iconagent_activeprompt_idprompt_nameUploadTarget
file_idfile_namefile_typefile_sizefile_createdfile_statusfile_repofile_metadatafile_bucketfile_folderfile_provider_iduploadUrlPUT the bytes here, then finalize the file. Absent on a rejected file.
rejection_reasonWhy this file was not accepted. Absent on an accepted one.
UsageEntry
usage_idusage_timestampusage_userusage_paramusage_detailsusage_consumed_unitsusage_consumed_creditsusage_cost_idUser
usr_idusr_emailusr_createdusr_activeusr_name_firstusr_name_lastusr_langusr_themeusr_nameexternal_usermemb_picturememb_activememb_rolesmemb_permissionsmemb_settingsmemb_last_loginmemb_attrVoiceAgent
vag_idvag_activevag_createdvag_updatedvag_created_byvag_keyvag_namevag_agentvag_configvag_limitsvag_provider_refVoiceCall
vcall_idvcall_createdvcall_typevcall_fromvcall_tovcall_statusvcall_ended_reasonvcall_startedvcall_endedvcall_duration_secondsvcall_creditsvcall_summaryvcall_analysisvcall_has_recordingvcall_has_transcriptWildcard
wildcard_idwildcard_namewildcard_descriptionwildcard_control_typewildcard_control_propswildcard_metadatawildcard_managed_bywildcard_activewildcard_createdwildcard_updatedWorkflow
wf_idwf_namewf_titlewf_descriptionwf_versionwf_triggerwf_statuswf_providerwf_managed_bywf_activewf_createdwf_updatedWorkflowInstance
wi_idwi_workflowwi_statuswi_providerwi_provider_idwi_statewi_errorwi_initiated_bywi_createdwi_updatedwf_nameName of the workflow this instance runs.
