1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4919],{14945:(s,i,e)=>{"use strict";e.r(i),e.d(i,{default:()=>a,useTOC:()=>c});var d=e(37876),n=e(71807),h=e(3182),r=e(34256),l=e(19941),t=e(30087);function c(s){let i={code:"code",...(0,r.R)()};return[{value:"Authentication",id:"authentication",depth:2},{value:"Common Response Patterns",id:"common-response-patterns",depth:2},{value:"Success (list)",id:"success-list",depth:3},{value:"Success (single entity)",id:"success-single-entity",depth:3},{value:"Error",id:"error",depth:3},{value:"Entities",id:"entities",depth:2},{value:"Query Parameters (list endpoint)",id:"query-parameters-list-endpoint",depth:3},{value:"Create Entity",id:"create-entity",depth:3},{value:"Update Entity",id:"update-entity",depth:3},{value:"Auth and Users",id:"auth-and-users",depth:2},{value:"Serving surfaces (Cloud deployment)",id:"serving-surfaces-cloud-deployment",depth:3},{value:(0,d.jsxs)(d.Fragment,{children:["Core auth/users reference (producer: core ",(0,d.jsx)(i.code,{children:"sb-server"}),")"]}),id:"core-authusers-reference-producer-core-sb-server",depth:3},{value:"Accounts auth worker: auth-core routes",id:"accounts-auth-worker-auth-core-routes",depth:3},{value:"Accounts auth worker: web session routes",id:"accounts-auth-worker-web-session-routes",depth:3},{value:"Accounts auth worker: OAuth + storage OAuth routes",id:"accounts-auth-worker-oauth--storage-oauth-routes",depth:3},{value:"Accounts auth worker: API key routes",id:"accounts-auth-worker-api-key-routes",depth:3},{value:"Cloud edge users seam notes",id:"cloud-edge-users-seam-notes",depth:3},{value:"Sync and File Operations",id:"sync-and-file-operations",depth:2},{value:"Markdown Sync",id:"markdown-sync",depth:3},{value:"Entity Sync (bulk)",id:"entity-sync-bulk",depth:3},{value:"Markdown Operations",id:"markdown-operations",depth:3},{value:"Import",id:"import",depth:3},{value:"Cloud Sync",id:"cloud-sync",depth:2},{value:"App-level Cloud Sync",id:"app-level-cloud-sync",depth:3},{value:"Desktop Cloud Sync",id:"desktop-cloud-sync",depth:3},{value:"Conflicts",id:"conflicts",depth:3},{value:"Google Drive",id:"google-drive",depth:2},{value:"Drive Storage",id:"drive-storage",depth:3},{value:"Drive Files",id:"drive-files",depth:3},{value:"Drive Webhooks",id:"drive-webhooks",depth:3},{value:"Drive Cloud Sync",id:"drive-cloud-sync",depth:3},{value:"Billing",id:"billing",depth:2},{value:"Beta Program",id:"beta-program",depth:2},{value:"Desktop",id:"desktop",depth:2},{value:"Templates and Rules",id:"templates-and-rules",depth:2},{value:"Templates",id:"templates",depth:3},{value:"Template Categories and Activation",id:"template-categories-and-activation",depth:3},{value:"List Available Templates",id:"list-available-templates",depth:4},{value:"Get Active Templates",id:"get-active-templates",depth:4},{value:"Activate a Template",id:"activate-a-template",depth:4},{value:"Deactivate a Template",id:"deactivate-a-template",depth:4},{value:"Starter Packs",id:"starter-packs",depth:4},{value:"Tenant Usage",id:"tenant-usage",depth:4},{value:"Rules",id:"rules",depth:3},{value:"Schemas",id:"schemas",depth:3},{value:"Project Manifest",id:"project-manifest",depth:2},{value:"Manifest Endpoints",id:"manifest-endpoints",depth:3},{value:"Get Manifest",id:"get-manifest",depth:4},{value:"Refresh Manifest",id:"refresh-manifest",depth:4},{value:"Get Manifest Diff",id:"get-manifest-diff",depth:4},{value:"Get Manifest Entry",id:"get-manifest-entry",depth:4},{value:"Agent Skills",id:"agent-skills",depth:2},{value:"Skill Marketplace",id:"skill-marketplace",depth:3},{value:"List Skills",id:"list-skills",depth:4},{value:"Get Skill",id:"get-skill",depth:4},{value:"Add or Update Skill (Admin)",id:"add-or-update-skill-admin",depth:4},{value:"Remove Skill (Admin)",id:"remove-skill-admin",depth:4},{value:"Tenant Installations",id:"tenant-installations",depth:3},{value:"List Installed Skills",id:"list-installed-skills",depth:4},{value:"List Enabled Skills with Full Definitions",id:"list-enabled-skills-with-full-definitions",depth:4},{value:"Install a Skill",id:"install-a-skill",depth:4},{value:"Enable or Disable a Skill",id:"enable-or-disable-a-skill",depth:4},{value:"Uninstall a Skill",id:"uninstall-a-skill",depth:4},{value:"Agent Skills Error Reference",id:"agent-skills-error-reference",depth:3},{value:"Assets",id:"assets",depth:2},{value:"Asset Queue",id:"asset-queue",depth:3},{value:"File Serving",id:"file-serving",depth:3},{value:"Tenant Blob Storage (Presigned Uploads)",id:"tenant-blob-storage-presigned-uploads",depth:3},{value:"District Maps",id:"district-maps",depth:3},{value:"Plugins",id:"plugins",depth:2},{value:"Plugin Management",id:"plugin-management",depth:3},{value:"Plugin Data",id:"plugin-data",depth:3},{value:"Plugin Marketplace",id:"plugin-marketplace",depth:3},{value:"Search and Relationships",id:"search-and-relationships",depth:2},{value:"Cross-References and Context",id:"cross-references-and-context",depth:3},{value:"Layouts",id:"layouts",depth:2},{value:"Timeline",id:"timeline",depth:2},{value:"Assembly System",id:"assembly-system",depth:2},{value:"Recycle Bin",id:"recycle-bin",depth:2},{value:"Entities",id:"entities-1",depth:3},{value:"Assets",id:"assets-1",depth:3},{value:"Services and Health",id:"services-and-health",depth:2},{value:"WebSocket",id:"websocket",depth:2},{value:"Presence",id:"presence",depth:3},{value:"Settings",id:"settings",depth:2},{value:"Feature Gates",id:"feature-gates",depth:2},{value:"Groups and Quotas",id:"groups-and-quotas",depth:2},{value:"Groups",id:"groups",depth:3},{value:"Quota Groups",id:"quota-groups",depth:3},{value:"Sharing",id:"sharing",depth:2},{value:"Database Admin",id:"database-admin",depth:2},{value:"AI (Backend-Proxied)",id:"ai-backend-proxied",depth:2},{value:"ComfyUI",id:"comfyui",depth:2},{value:"Headers",id:"headers",depth:3},{value:"Endpoints",id:"endpoints",depth:3},{value:"Response Examples",id:"response-examples",depth:3},{value:"Image Presets",id:"image-presets",depth:2},{value:"Context Profiles",id:"context-profiles",depth:2},{value:"Prompt Templates",id:"prompt-templates",depth:2},{value:"Inventory",id:"inventory",depth:2},{value:"Migration and Archive",id:"migration-and-archive",depth:2},{value:"Statistics and Activity",id:"statistics-and-activity",depth:2},{value:"Document Export",id:"document-export",depth:2},{value:"Endpoint Summary",id:"endpoint-summary",depth:3},{value:"Supported Formats",id:"supported-formats",depth:3},{value:"Layout Templates",id:"layout-templates",depth:3},{value:"Export Endpoint Details",id:"export-endpoint-details",depth:3},{value:"Error Responses",id:"error-responses",depth:3},{value:"Support (Proprietary)",id:"support-proprietary",depth:2},{value:"Endpoints",id:"endpoints-1",depth:3},{value:"GET /api/support/status",id:"get-apisupportstatus",depth:3},{value:"POST /api/support/request-help",id:"post-apisupportrequest-help",depth:3},{value:"Discord Webhook Integration",id:"discord-webhook-integration",depth:3},{value:"Feature Gate Configuration",id:"feature-gate-configuration",depth:3},{value:"Implementation Reference",id:"implementation-reference",depth:3},{value:"Related Documentation",id:"related-documentation",depth:3}]}let a=(0,n.e)(function(s){let{toc:i=c(s)}=s,e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",span:"span",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...s.components};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e.h1,{children:"REST API Reference"}),"\n",(0,d.jsxs)(e.p,{children:["StudioBrain ships multiple API
1serving surfaces. Most endpoints use JSON request/response bodies and are prefixed with ",(0,d.jsx)(e.code,{children:"/api/"})," unless otherwise noted."]}),"\n",(0,d.jsxs)(e.p,{children:["Interactive API documentation is available at ",(0,d.jsx)(e.code,{children:"/docs"})," (Swagger UI) and ",(0,d.jsx)(e.code,{children:"/redoc"})," (ReDoc) when the backend is running."]}),"\n",(0,d.jsx)(e.h2,{id:i[0].id,children:i[0].value}),"\n",(0,d.jsx)(e.p,{children:"Most endpoints require either a JWT bearer token or a session cookie, depending on the surface."}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Header-based auth:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"plaintext","data-word-wrap":"","data-copy":"",children:(0,d.jsx)(e.code,{children:(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:"Authorization: Bearer {jwt_token}"})})})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Cookie-based auth (web sessions):"})}),"\n",(0,d.jsxs)(e.p,{children:["The web auth endpoints set ",(0,d.jsx)(e.code,{children:"httpOnly"})," cookies automatically. Subsequent requests from the browser include the cookie without explicit header configuration."]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["Accounts auth worker bearer login (",(0,d.jsx)(e.code,{children:"POST /api/auth/login"})," via ",(0,d.jsx)(e.code,{children:"auth.studiobrain.ai"})," or edge ",(0,d.jsx)(e.code,{children:"/api/auth/*"})," proxy):"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/auth/login"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "password"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"secretpassword"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"Response shape (accounts auth worker):"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "access_token"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"eyJ..."'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "refresh_token"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"eyJ..."'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "token_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"bearer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "display_name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"User Example"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"pro"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tier"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"2"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tier_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"pro"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "features"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"cloud_sync"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"advanced_ai"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["Core ",(0,d.jsx)(e.code,{children:"sb-server"})," bearer login response shape (",(0,d.jsx)(e.code,{children:"TokenResponse"}),"):"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "access_token"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"eyJ..."'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "refresh_token"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"eyJ..."'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "token_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"bearer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["Accounts-only co
1okie session (",(0,d.jsx)(e.code,{children:"/api/auth/web/login"}),"):"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/auth/web/login"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "password"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"secretpassword"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:["Response body (accounts worker, plus ",(0,d.jsx)(e.code,{children:"Set-Cookie"})," headers):"]}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "display_name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"User Example"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tenant_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"tenant_123"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tenant_name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Acme Studio"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "role"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"admin"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tenant_role"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"admin"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"pro"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email_verified"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "user_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "email"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h2,{id:i[1].id,children:i[1].value}),"\n",(0,d.jsx)(e.h3,{id:i[2].id,children:i[2].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"42"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "offset"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "limit"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"50"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entities"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#B31D28","--shiki-light-font-style":"italic","--shiki-dark":"#FDAEB7","--shiki-dark-font-style":"italic"},children:"..."}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h3,{id:i[3].id,children:i[3].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"rex_marshall"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Rex Marshall"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "status"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "fields"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#B31D28","--shiki-light-font-style":"italic","--shiki-dark":"#FDAEB7","--shiki-dark-font-style":"italic"},children:"..."}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "markdown_body"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"..."'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "primary_asset"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/Characters/rex_marshall/images/portrait.png"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "validation_errors"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": [],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_valid"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h3,{id:i[4].id,children:i[4].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "detail"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Entity not found: character/unknown_id"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"Common HTTP status codes:"}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Code"}),(0,d.jsx)(e.th,{children:"Meaning"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"200"}),(0,d.jsx)(e.td,{children:"Success"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"201"}),(0,d.jsx)(e.td,{children:"Created"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"400"}),(0,d.jsx)(e.td,{children:"Bad request (validation error, malformed input)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"401"}),(0,d.jsx)(e.td,{children:"Unauthorized (missing or invalid token)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"403"}),(0,d.jsx)(e.td,{children:"Forbidden (insufficient permissions or feature gate)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"404"}),(0,d.jsx)(e.td,{children:"Not found"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"402"}),(0,d.jsx)(e.td,{children:"Payment required (free-tier entity limit reached)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"409"}),(0,d.jsx)(e.td,{children:"Conflict (storage not configured, entity already exists, sync conflict)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"422"}),(0,d.jsx)(e.td,{children:"Unprocessable entity (Pydantic validation failure)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"429"}),(0,d.jsx)(e.td,{children:"Rate limited"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"500"}),(0,d.jsx)(e.td,{children:"Internal server error"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[5].id,children:i[5].value}),"\n",(0,d.jsxs)(e.p,{children:["Unified entity CRUD for all 16 entity types. The ",(0,d.jsx)(e.code,{children:"{type}"})," path parameter accepts: ",(0,d.jsx)(e.code,{children:"character"}),", ",(0,d.j
1sx)(e.code,{children:"location"}),", ",(0,d.jsx)(e.code,{children:"district"}),", ",(0,d.jsx)(e.code,{children:"brand"}),", ",(0,d.jsx)(e.code,{children:"faction"}),", ",(0,d.jsx)(e.code,{children:"item"}),", ",(0,d.jsx)(e.code,{children:"job"}),", ",(0,d.jsx)(e.code,{children:"quest"}),", ",(0,d.jsx)(e.code,{children:"campaign"}),", ",(0,d.jsx)(e.code,{children:"event"}),", ",(0,d.jsx)(e.code,{children:"dialogue"}),", ",(0,d.jsx)(e.code,{children:"timeline"}),", ",(0,d.jsx)(e.code,{children:"assembly"}),", ",(0,d.jsx)(e.code,{children:"style_bible"}),", ",(0,d.jsx)(e.code,{children:"universe"}),"."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/entity"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/schema"})}),(0,d.jsx)(e.td,{children:"Get template schema for entity type"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}"})}),(0,d.jsx)(e.td,{children:"List entities with filtering and pagination"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Get single entity by ID"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}"})}),(0,d.jsx)(e.td,{children:"Create new entity"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Update entity fields and/or markdown body"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Soft-delete entity (moves to recycle bin)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/smart-merge"})}),(0,d.jsx)(e.td,{children:"AI-assisted merge of two entity versions"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/compare"})}),(0,d.jsx)(e.td,{children:"Diff two entity versions"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/import"})}),(0,d.jsx)(e.td,{children:"Import entity from raw markdown content"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[6].id,children:i[6].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Param"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Default"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"offset"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"0"}),(0,d.jsx)(e.td,{children:"Pagination offset"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"limit"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"50"}),(0,d.jsx)(e.td,{children:"Maximum results (max 200)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"search"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Full-text search across name and fields"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"status"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Filter by status (active, archived, draft)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"sort_by"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"updated_at"}),(0,d.jsx)(e.td,{children:"Sort field"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"sort_order"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"desc"}),(0,d.jsx)(e.td,{children:"asc or desc"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[7].id,children:i[7].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/entity/character"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"rex_marshall"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Rex Marshall"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "status"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "fields"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "age"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"34"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "gender"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"male"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "faction"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"independent"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "personality_traits"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"resourceful"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"paranoid"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "markdown_body"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"# Rex Marshall'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"\\n\\n"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"}
1,children:"## Background"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"\\n\\n"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'A former mechanic..."'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h3,{id:i[8].id,children:i[8].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"PUT"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/entity/character/rex_marshall"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "fields"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "age"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"35"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "personality_traits"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"resourceful"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"paranoid"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"loyal"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"Only the provided fields are updated. Omitted fields are unchanged."}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[9].id,children:i[9].value}),"\n",(0,d.jsxs)(e.p,{children:["All table paths below are relative to ",(0,d.jsx)(e.code,{children:"/api"})," unless explicitly marked otherwise. JWKS differs by surface: core mounts ",(0,d.jsx)(e.code,{children:"/auth/.well-known/jwks.json"})," under ",(0,d.jsx)(e.code,{children:"/api"}),", while the accounts auth worker publishes ",(0,d.jsx)(e.code,{children:"/.well-known/jwks.json"})," at the auth host root."]}),"\n",(0,d.jsx)(e.h3,{id:i[10].id,children:i[10].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Surface"}),(0,d.jsx)(e.th,{children:"Base URL / Prefix"}),(0,d.jsx)(e.th,{children:"Producer provenance"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"Core API (self-hosted / enterprise)"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"<core-origin>/api/*"})}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"studiobrain-core"})," (",(0,d.jsx)(e.code,{children:"crates/sb-server/src/routes/*"}),")"]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"Accounts auth worker (direct)"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"https://auth.studiobrain.ai/api/
1*"})}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/worker/src/{auth-core-routes.ts,auth-web-routes.ts,oauth-social/routes.ts,storage-oauth/routes.ts,api-key-routes.ts}"})," + ",(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/worker/wrangler.accounts-auth.toml"})]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"Cloud edge auth proxy"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"https://api.studiobrain.ai/api/auth/*"})}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/sb-server-worker/src/router.rs"})," + ",(0,d.jsx)(e.code,{children:"worker_entry.rs"})," (AUTH_ORIGIN -> ",(0,d.jsx)(e.code,{children:"sb-accounts-worker"}),")"]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"Cloud edge users seam"}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"https://api.studiobrain.ai/api/users*"})," and ",(0,d.jsx)(e.code,{children:"/api/user/*"})]}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/sb-server-worker/src/router.rs"})," (users/groups seam)"]})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[11].id,children:i[11].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/.well-known/jwks.json"})}),(0,d.jsx)(e.td,{children:"JWT public keys (core surface)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/register"})}),(0,d.jsx)(e.td,{children:"Register user"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/login"})}),(0,d.jsx)(e.td,{children:"Login (token response)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/refresh"})}),(0,d.jsx)(e.td,{children:"Refresh access token"}),(0,d.jsx)(e.td,{children:"Refresh token in JSON body"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/logout"})}),(0,d.jsx)(e.td,{children:"Logout / revoke token"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/me"})}),(0,d.jsx)(e.td,{children:"Current authenticated user"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/accept-invite"})}),(0,d.jsx)(e.td,{children:"Accept invite token"}),(0,d.jsx)(e.td,{children:"No (invite token in request)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users"})}),(0,d.jsx)(e.td,{children:"List users"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/current"})}),(0,d.jsx)(e.td,{children:"Current user"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/{id}"})}),(0,d.jsx)(e.td,{children:"Get user by ID"}),(0,d.jsx)(e.td,{children:"Yes (admin or self)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/{id}"})}),(0,d.jsx)(e.td,{children:"Update user"}),(0,d.jsx)(e.td,{children:"Yes (admin or self; self is profile-fields only)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/{id}"})}),(0,d.jsx)(e.td,{children:"Delete user"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}
1),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/{id}/password"})}),(0,d.jsx)(e.td,{children:"Change password (admin or self)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PATCH"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/profile"})}),(0,d.jsx)(e.td,{children:"Update current user profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/me/avatar"})}),(0,d.jsx)(e.td,{children:"Upload avatar"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/preferences"})}),(0,d.jsx)(e.td,{children:"Get user preferences"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PATCH"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/users/preferences"})}),(0,d.jsx)(e.td,{children:"Update user preferences"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[12].id,children:i[12].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/.well-known/jwks.json"})}),(0,d.jsx)(e.td,{children:"JWT public keys"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/register"})}),(0,d.jsx)(e.td,{children:"Register new user"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/login"})}),(0,d.jsx)(e.td,{children:"Login (JWT + entitlement fields)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/refresh"})}),(0,d.jsx)(e.td,{children:"Refresh JWT token"}),(0,d.jsx)(e.td,{children:"Refresh token (cookie/body/header)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/logout"})}),(0,d.jsx)(e.td,{children:"Logout / revoke token(s)"}),(0,d.jsx)(e.td,{children:"Access and/or refresh token"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/me"})}),(0,d.jsx)(e.td,{children:"Get current user profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/forgot-password"})}),(0,d.jsx)(e.td,{children:"Request password reset email"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/reset-password"})}),(0,d.jsx)(e.td,{children:"Reset password with token"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/verify?token=..."})}),(0,d.jsx)(e.td,{children:"Verify email token"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/resend-verification"})}),(0,d.jsx)(e.td,{children:"Resend verification email (authenticated)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/resend-verification-public"})}),(0,d.jsx)(e.td,{children:"Public anti-enumeration resend flow"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/create-invite"})}),(0,d.jsx)(e.td,{children:"Create user invitation link"}),(0,d.jsx)(e.td,{children:"Yes (tenant admin/owner)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/validate-invite/{token}"})}),(0,d.jsx)(e.td,{children:"Validate invite token"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/register-with-invite"})}),(0,d.jsx)(e.td,{children:"Register using invite token"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[13].id,children:i[13].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/web/login"})}),(0,d.jsx)(e.td,{children:"Login with email/password, sets httpOnly cookies"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/web/session"})}),(0,d.jsx)(e.td,{children:"Get current session info from cookie/refresh flow"}),(0,d.jsx)(e.td,{children:"Cookie"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/web/logout"})}),(0,d.jsx)(e.td,{children:"Clear auth cookies and revoke presented token JTIs"}),(0,d.jsx)(e.td,{children:"Cookie"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[14].id,children:i[14].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/providers"})}),(0,d.jsx)(e.td,{children:"List configured social OAuth providers"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/google"})}),(0,d.jsx)(e.td,{children:"Initiate Google OAuth flow"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/google/callback"})}),(0,d.jsx)(e.td,{children:"Google OAuth callback"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/microsoft"})}),(0,d.jsx)(e.td,{children:"Initiate Microsoft OAuth flow"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/microsoft/callback"})}),(0,d.jsx)(e.td,{children:"Microsoft OAuth callback"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/exchange"})}),(0,d.jsx)(e.td,{children:"Exchange mobile handoff code for token pair"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/mobile/google-initiate"})}),(0,d.jsx)(e.td,{children:"Legacy mobile Google OAuth initiate"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/mobile/google-callback"})}),(0,d.jsx)(e.td,{children:"Legacy mobile Google OAuth callback"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/google/drive"})}),(0,d.jsx)(e.td,{children:"Initiate Google Drive scope upgrade"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/oauth/google/drive/callback"})}),(0,d.jsx)(e.td,{children:"Google Drive scope callback"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/storage-oauth/status"})}),(0,d.jsx)(e.td,{children:"List storage OAuth connection status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/storage-oauth/{provider}"})}),(0,d.jsx)(e.td,{children:"Start storage OAuth flow"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/storage-oauth/{provider}"})}),(0,d.jsx)(e.td,{children:"Disconnect provider"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/storage-oauth/{provider}/callback"})}),(0,d.jsx)(e.td,{children:"Storage OAuth callback"}),(0,d.jsx)(e.td,{children:"No (provider callback)"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[15].id,children:i[15].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api-keys"})}),(0,d.jsx)(e.td,{children:"Create API key"}),(0,d.jsx)(e.td,{children:"Yes (tenant owner/admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api-keys"})}),(0,d.jsx)(e.td,{children:"List callerâs active API keys"}),(0,d.jsx)(e.td,{children:"Yes (tenant owner/admin)"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[16].id,children:i[16].value}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:"GET /users"}),", ",(0,d.jsx)(e.code,{children:"GET /users/{id}"}),", ",(0,d.jsx)(e.code,{children:"PUT /users/{id}"}),", ",(0,d.jsx)(e.code,{children:"DELETE /users/{id}"}),", ",(0,d.jsx)(e.code,{children:"GET/POST /user/profile"}),", ",(0,d.jsx)(e.code,{children:"GET /user/preferences"}),", and ",(0,d.jsx)(e.code,{children:"GET /groups/user-permissions"})," are edge-served by the users/groups seam (",(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/sb-server-worker/src/router.rs"}),")."]}),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:"GET /users/current"}),", ",(0,d.jsx)(e.code,{children:"POST /users"}),", ",(0,d.jsx)(e.code,{children:"POST /users/login"}),", ",(0,d.jsx)(e.code,{children:"PUT /users/{id}/password"}),", and ",(0,d.jsx)(e.code,{children:"POST /users/me/avatar"})," are intentionally refused by the seam with named 501 responses on the cloud edge."]}),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.code,{children:"PUT /users/{id}/subscription"})," is not part of the users seam; worker routing documents it on the accounts-billing split (",(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/wor
1ker/src/worker.ts"}),")."]}),"\n",(0,d.jsxs)(e.li,{children:["Cloud edge forwards ",(0,d.jsx)(e.code,{children:"/api/auth/*"})," to accounts auth-core over the ",(0,d.jsx)(e.code,{children:"AUTH_ORIGIN"})," service binding (",(0,d.jsx)(e.code,{children:"packages/cloudflare-worker/sb-server-worker/src/router.rs"}),", ",(0,d.jsx)(e.code,{children:"worker_entry.rs"}),")."]}),"\n"]}),"\n",(0,d.jsxs)(e.blockquote,{children:["\n",(0,d.jsxs)(e.p,{children:["Removed from this reference due to no mounted producer in current code: ",(0,d.jsx)(e.code,{children:"GET /users/{id}/api-key"}),", ",(0,d.jsx)(e.code,{children:"POST /users/{id}/api-key/regenerate"}),", and ",(0,d.jsx)(e.code,{children:"POST /register"})," (auth registration table context)."]}),"\n",(0,d.jsxs)(e.p,{children:["Retired Python-only routes â ",(0,d.jsx)(e.code,{children:"/auth/set-password"}),", ",(0,d.jsx)(e.code,{children:"/auth/web/select-tenant"}),", and ",(0,d.jsx)(e.code,{children:"/auth/web/google-sso"})," (superseded by ",(0,d.jsx)(e.code,{children:"POST /auth/oauth/exchange"}),") â were removed with the legacy accounts backend and 404 at the live edge (SBAI-9238, SBAI-9392). Do not build new consumers against them."]}),"\n"]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[17].id,children:i[17].value}),"\n",(0,d.jsx)(e.h3,{id:i[18].id,children:i[18].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/status"})}),(0,d.jsx)(e.td,{children:"Get sync status (running, last result)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/check-changes"})}),(0,d.jsx)(e.td,{children:"Check for pending file changes"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/import-changes"})}),(0,d.jsx)(e.td,{children:"Import detected file changes"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/save-to-markdown/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Write entity to markdown file"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/from-markdown/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Read entity from markdown file into DB"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/refresh-all"})}),(0,d.jsx)(e.td,{children:"Full re-sync all markdown to DB"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/file-watcher/status"})}),(0,d.jsx)(e.td,{children:"Hybrid file watcher status"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[19].id,children:i[19].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/entity/sync/all"})}),(0,d.jsx)(e.td,{children:"Sync all entity types from markdown"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/entity/sync/{type}"})}),(0,d.jsx)(e.td,{children:"Sync specific entity type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/entity/validate/all"})}),(0,d.jsx)(e.td,{children:"Validate all entities"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[20].id,children:i[20].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/markdown/validate-frontmatter"})}),(0,d.jsx)(e.td,{children:"Validate YAML frontmatter"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/markdown/sync-from-files"})}),(0,d.jsx)(e.td,{children:"Sync from filesystem"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/markdown/export/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Export entity as markdown"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[21].id,children:i[21].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/import/preview"})}),(0,d.jsx)(e.td,{children:"Preview markdown import without saving"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/import/smart"})}),(0,d.jsx)(e.td,{children:"Smart import with AI-assisted field mapping"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/markdown/format"})}),(0,d.jsx)(e.td,{children:"Format/normalize markdown content"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/validation/fix"})}),(0,d.jsx)(e.td,{children:"Auto-fix common validation issues"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rename-entity"})}),(0,d.jsx)(e.td,{children:"Rename entity (updates ID, files, references)"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[22].id,children:i[22].value}),"\n",(0,d.jsx)(e.h3,{id:i[23].id,children:i[23].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/cloud-sync"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/push"})}),(0,d.jsx)(e.td,{children:"Push local changes to cloud (PostgreSQL RLS)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/pull"})}),(0,d.jsx)(e.td,{children:"Pull cloud changes to local"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Cloud sync status"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[24].id,children:i[24].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/desktop/sync"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/push"})}),(0,d.jsx)(e.td,{children:"Push from desktop to cloud"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/pull"})}),(0,d.jsx)(e.td,{children:"Pull from cloud to desktop"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presence"})}),(0,d.jsx)(e.td,{children:"Get online presence info"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[25].id,children:i[25].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/conflicts"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List unresolved sync conflicts"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{conflict_id}/resolve"})}),(0,d.jsx)(e.td,{children:"Resolve a conflict (pick winner)"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[26].id,children:i[26].value}),"\n",(0,d.jsx)(e.h3,{id:i[27].id,children:i[27].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/drive/oauth"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Drive connection status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/folders"})}),(0,d.jsx)(e.td,{children:"List Drive folders for picker"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/select-folder"})}),(0,d.jsx)(e.td,{children:"Set project folder"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/disconnect"})}),(0,d.jsx)(e.td,{children:"Disconnect Drive storage"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/test"})}),(0,d.jsx)(e.td,{children:"Test Drive connection"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[28].id,children:i[28].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/drive"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Drive connection status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files"})}),(0,d.jsx)(e.td,{children:"List Drive files"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files/{file_id}"})}),(0,d.jsx)(e.td,{children:"Get file metadata"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files/{file_id}/download"})}),(0,d.jsx)(e.td,{children:"Download file content"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export-entity"})}),(0,d.jsx)(e.td,{children:"Export entity as Google Doc"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files/{file_id}"})}),(0,d.jsx)(e.td,{children:"Update Drive file content"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files/{file_id}/share"})}),(0,d.jsx)(e.td,{children:"Share file with another user"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[29].id,children:i[29].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/drive/webhook"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Receive Drive change notifications"}),(0,d.jsx)(e.td,{children:"No (webhook)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/register"})}),(0,d.jsx)(e.td,{children:"Register push notification channel"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/unregister"})}),(0,d.jsx)(e.td,{children:"Stop watching for changes"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Webhook registration status"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[30].id,children:i[30].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/drive"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cloud-sync-status"})}
1),(0,d.jsx)(e.td,{children:"Cloud Drive sync worker status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/force-sync"})}),(0,d.jsx)(e.td,{children:"Force immediate Drive sync"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[31].id,children:i[31].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/billing"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/prices"})}),(0,d.jsx)(e.td,{children:"List available subscription prices"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/subscription"})}),(0,d.jsx)(e.td,{children:"Get current subscription details"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/usage"})}),(0,d.jsx)(e.td,{children:"Get current BrainBits usage"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/checkout"})}),(0,d.jsx)(e.td,{children:"Create Stripe checkout session"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/portal"})}),(0,d.jsx)(e.td,{children:"Create Stripe customer portal session"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/portal"})}),(0,d.jsx)(e.td,{children:"Redirect to Stripe customer portal"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/webhook"})}),(0,d.jsx)(e.td,{children:"Stripe webhook receiver"}),(0,d.jsx)(e.td,{children:"No (webhook)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Billing system status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/invoices"})}),(0,d.jsx)(e.td,{children:"List invoices"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/quota"})}),(0,d.jsx)(e.td,{children:"Update team quota allocation"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/consume-tokens"})}),(0,d.jsx)(e.td,{children:"Consume BrainBits tokens"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/team/members"})}),(0,d.jsx)(e.td,{children:"List team members with billing info"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/team/user-quota"})}),(0,d.jsx)(e.td,{children:"Update per-user quota"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/usage-history"})}),(0,d.jsx)(e.td,{children:"Usage history over time"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/token-blocks"})}),(0,d.jsx)(e.td,{children:"List available token block purchases"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/purchase-tokens"})}),(0,d.jsx)(e.td,{children:"Purchase additional BrainBits"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/purchase-history"})}),(0,d.jsx)(e.td,{children:"Token purchase history"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/brainbits"})}),(0,d.jsx)(e.td,{children:"Get BrainBits balance"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/brainbits/consume"})}),(0,d.jsx)(e.td,{children:"Consume BrainBits"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[32].id,children:i[32].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/beta"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/invite"})}),(0,d.jsx)(e.td,{children:"Create beta invite code"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/validate/{code}"})}),(0,d.jsx)(e.td,{children:"Validate invite code"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/redeem"})}),(0,d.jsx)(e.td,{children:"Redeem invite code"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/invite/revoke"})}),(0,d.jsx)(e.td,{children:"Revoke an invite code"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/extend"})}),(0,d.jsx)(e.td,{children:"Extend beta period"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/stats"})}),(0,d.jsx)(e.td,{children:"Beta program statistics"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/feedback"})}),(0,d.jsx)(e.td,{children:"Submit beta feedback"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/feedback"})}),(0,d.jsx)(e.td,{children:"List feedback submissions"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PATCH"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/feedback/{id}"})}),(0,d.jsx)(e.td,{children:"Update feedback status"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/waitlist"})}),(0,d.jsx)(e.td,{children:"Join waitlist"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/waitlist"})}
1),(0,d.jsx)(e.td,{children:"List waitlist entries"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/waitlist/promote"})}),(0,d.jsx)(e.td,{children:"Promote waitlist entry to invite"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[33].id,children:i[33].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/desktop"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects"})}),(0,d.jsx)(e.td,{children:"List local projects"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects"})}),(0,d.jsx)(e.td,{children:"Create new project"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{name}"})}),(0,d.jsx)(e.td,{children:"Delete project"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{name}/activate"})}),(0,d.jsx)(e.td,{children:"Activate project"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{name}/scan"})}),(0,d.jsx)(e.td,{children:"Scan project for entities"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/watcher/status"})}),(0,d.jsx)(e.td,{children:"File watcher status"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/watcher/start"})}),(0,d.jsx)(e.td,{children:"Start file watcher"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/watcher/stop"})}),(0,d.jsx)(e.td,{children:"Stop file watcher"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/status"})}),(0,d.jsx)(e.td,{children:"Desktop sync status"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/queue"})}),(0,d.jsx)(e.td,{children:"View sync queue"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/start"})}),(0,d.jsx)(e.td,{children:"Start sync worker"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/stop"})}),(0,d.jsx)(e.td,{children:"Stop sync worker"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/now"})}),(0,d.jsx)(e.td,{children:"Trigger immediate sync"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/force-push"})}),(0,d.jsx)(e.td,{children:"Force push to cloud"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/force-pull"})}),(0,d.jsx)(e.td,{children:"Force pull from cloud"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/conflicts"})}),(0,d.jsx)(e.td,{children:"List sync conflicts"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/sync/conflicts/{id}/resolve"})}),(0,d.jsx)(e.td,{children:"Resolve conflict"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/ai/chat"})}),(0,d.jsx)(e.td,{children:"Desktop AI chat (offline-capable)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/ai/providers"})}),(0,d.jsx)(e.td,{children:"List available AI providers"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/login"})}),(0,d.jsx)(e.td,{children:"Desktop auth login"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/callback"})}),(0,d.jsx)(e.td,{children:"Desktop auth callback"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/logout"})}),(0,d.jsx)(e.td,{children:"Desktop auth logout"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auth/status"})}),(0,d.jsx)(e.td,{children:"Desktop auth status"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/ws/connect"})}),(0,d.jsx)(e.td,{children:"Connect desktop WebSocket"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/ws/disconnect"})}),(0,d.jsx)(e.td,{children:"Disconnect desktop WebSocket"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[34].id,children:i[34].value}),"\n",(0,d.jsx)(e.h3,{id:i[35].id,children:i[35].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates"})}),(0,d.jsx)(e.td,{children:"List all templates"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/entity-types"})}),(0,d.jsx)(e.td,{children:"List available entity types"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/reload"})}),(0,d.jsx)(e.td,{children:"Reload templates from disk"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/{name}"})}),(0,d.jsx)(e.td,{children:"Get template content"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/{name}"})}),(0,d.jsx)(e.td,{children:"Update template"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/{name}/instructions"})}),(0,d.jsx)(e.td,{children:"Get AI generation instructions"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/templates/{name}/instructions"})}),(0,d.jsx)(e.td,{children:"Update AI instructions"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[36].id,children:i[36].value}),"\n",(0,d.jsxs)(e.p,{children:["Templates are organized into three categories: ",(0,d.jsx)(e.code,{children:"entity"})," (world content), ",(0,d.jsx)(e.code,{children:"document"})," (narrative documents), and ",(0,d.jsx)(e.code,{children:"core"})," (always-available types). The template activation system lets users opt specific entity types into a project without cluttering the sidebar with unused types."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/tenant"})]}),"\n",(0,d.jsxs)(e.blockquote,{children:["\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Note:"})," Despite the ",(0,d.jsx)(e.code,{children:"/api/tenant"})," prefix (a naming artifact), these endpoints work in single-tenant core. They operate on the current project without any tenant scoping."]}),"\n"]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/available-templates"})}),(0,d.jsx)(e.td,{children:"List all templates with activation status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/active-templates"})}),(0,d.jsx)(e.td,{children:"List activated entity types for a project"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/activate-template"})}),(0,d.jsx)(e.td,{children:"Activate a single entity type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/deactivate-template"})}),(0,d.jsx)(e.td,{children:"Deactivate a single entity type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/starter-packs"})}),(0,d.jsx)(e.td,{children:"List available starter packs"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/activate-starter-pack"})}),(0,d.jsx)(e.td,{children:"Activate a named starter pack"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h4,{id:i[37].id,children:i[37].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/available-templates?project_id=default&category=entity"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:"Query parameters:"}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Param"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Default"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"project_id"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"default"})}),(0,d.jsx)(e.td,{children:"Project scope"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"category"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsxs)(e.td,{children:["Filter by ",(0,d.jsx)(e.code,{children:"entity"}),", ",(0,d.jsx)(e.code,{children:"document"}),", or ",(0,d.jsx)(e.code,{children:"core"})]})]})]})]}),"\n",(0,d.jsx)(e.p,{children:"Response (array of template objects):"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"["})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "label"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"People, NPCs, and key figures in your world"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "category"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"entity"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"standard"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"quest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})
1]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "label"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Quest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Missions, objectives, and tasks"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "category"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})})]})}),"\n",(0,d.jsxs)(e.p,{children:["Core types (",(0,d.jsx)(e.code,{children:"dialogue"}),", ",(0,d.jsx)(e.code,{children:"assembly"}),", ",(0,d.jsx)(e.code,{children:"quest"}),", ",(0,d.jsx)(e.code,{children:"timeline"}),") are always active and returned with ",(0,d.jsx)(e.code,{children:'category: "core"'}),"."]}),"\n",(0,d.jsx)(e.h4,{id:i[38].id,children:i[38].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/active-templates?project_id=default"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:"Response:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "active_types"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"location"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"faction"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "core_types"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"assembly"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"dialogue"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"quest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"timeline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total_active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"3"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"indie"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.code,{children:"active_types"})," contains only user-activated Standard types. Add ",(0,d.jsx)(e.code,{children:"core_types"})," to get the full set of available types for a project."]}),"\n",(0,d.jsx)(e.h4,{id:i[39].id,children:i[39].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/activate-template"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "project_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"default"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:["Returns the same ",(0,d.jsx)(e.code,{children:"TemplateInfo"})," shape as list items. Enforces plan-based activation limits (Free: 5, Indie: 15, Team/Enterprise: unlimited). Returns 403 if limit exceeded."]}),"\n",(0,d.jsx)(e.h4,{id:i[40].id,children:i[40].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"DELETE"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/deactivate-template"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "project_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"default"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"Core types cannot be deactivated and will return a 400 error if attempted."}),"\n",(0,d.jsx)(e.h4,{id:i[41].id,children:i[41].value}),"\n",(0,d.jsx)(e.p,{children:"Starter packs are curated bundles of related entity types. Activating a pack activates all included types in a single operation."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/starter-packs"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:"Response:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "packs"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "pack_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"rpg_core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"RPG Core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Characters, locations, factions, quests, and items"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "types"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"location"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"faction"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"quest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"item"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "type_count"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"5"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ]"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"To activate a starter pack:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{ch
1ildren:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/activate-starter-pack"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "pack_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"rpg_core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "project_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"default"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"Response:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "pack_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"rpg_core"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "project_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"default"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "newly_activated"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"location"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"faction"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"item"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total_active"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"4"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:["Types that were already active are not counted in ",(0,d.jsx)(e.code,{children:"newly_activated"}),"."]}),"\n",(0,d.jsx)(e.h4,{id:i[42].id,children:i[42].value}),"\n",(0,d.jsx)(e.p,{children:"Returns the current tenantâs entity usage, tier limit, and storage configuration status. Used by the frontend to display tier-related banners and gate the â+ New Entityâ button."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/tenant/usage"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:"Response:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entities_count"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"7"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entities_limit"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"10"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "storage_configured"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"free"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "can_create"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "block_reason"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entities_count"})}),(0,d.jsx)(e.td,{children:"integer"}),(0,d.jsx)(e.td,{children:"Current non-deleted entity count"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entities_limit"})}),(0,d.jsx)(e.td,{children:"integer"}),(0,d.jsx)(e.td,{children:"Maximum allowed entities (-1 = unlimited)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"storage_configured"})}),(0,d.jsx)(e.td,{children:"boolean"}),(0,d.jsx)(e.td,{children:"Whether a storage provider is configured"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"plan"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsxs)(e.td,{children:["Subscription plan: ",(0,d.jsx)(e.code,{children:"free"}),", ",(0,d.jsx)(e.code,{children:"indie"}),", ",(0,d.jsx)(e.code,{children:"team"}),", ",(0,d.jsx)(e.code,{children:"enterprise"})]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"can_create"})}),(0,d.jsx)(e.td,{children:"boolean"}),(0,d.jsx)(e.td,{children:"Whether the tenant can create more entities"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"block_reason"})}),(0,d.jsx)(e.td,{children:"string | null"}),(0,d.jsxs)(e.td,{children:["Human-friendly denial reason if ",(0,d.jsx)(e.code,{children:"can_create"})," is false"]}
1)]})]})]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Graceful degradation:"})," If this endpoint returns 404 (older server version), the frontend assumes entity creation is allowed. No hard dependency on this endpoint for older deployments."]})}),"\n",(0,d.jsx)(e.h3,{id:i[43].id,children:i[43].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules"})}),(0,d.jsx)(e.td,{children:"List all rule files"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/reload"})}),(0,d.jsx)(e.td,{children:"Reload rules from disk"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/index"})}),(0,d.jsx)(e.td,{children:"Get rules index"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/settings"})}),(0,d.jsx)(e.td,{children:"Get rules settings"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/settings"})}),(0,d.jsx)(e.td,{children:"Update rules settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/validate/{type}"})}),(0,d.jsx)(e.td,{children:"Validate entity against rules"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}"})}),(0,d.jsx)(e.td,{children:"Get parsed rules for entity type"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}/markdown"})}),(0,d.jsx)(e.td,{children:"Get raw rule markdown"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}/markdown"})}),(0,d.jsx)(e.td,{children:"Update rule markdown"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}/system-prompt"})}),(0,d.jsx)(e.td,{children:"Update AI system prompt"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}"})}),(0,d.jsx)(e.td,{children:"Add new rule"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}/{rule_id}"})}),(0,d.jsx)(e.td,{children:"Update specific rule"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/rules/{type}/{rule_id}"})}),(0,d.jsx)(e.td,{children:"Delete specific rule"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[44].id,children:i[44].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/schemas"})}),(0,d.jsx)(e.td,{children:"List all entity schemas"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/schemas/{type}"})}),(0,d.jsx)(e.td,{children:"Get schema for entity type"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[45].id,children:i[45].value}),"\n",(0,d.jsx)(e.p,{children:"The Manifest API provides access to the project manifest, which is a cached index of all files, entities, and assets in the current project. This is used for entity browsing, cache state management, and metadata-first project open."}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/manifest"})]}),"\n",(0,d.jsx)(e.h3,{id:i[46].id,children:i[46].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Get current manifest"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/refresh"})}),(0,d.jsx)(e.td,{children:"Trigger manifest refresh"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/diff"})}),(0,d.jsx)(e.td,{children:"Get manifest changes since timestamp"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/entry/{path}"})}),(0,d.jsx)(e.td,{children:"Get metadata for a single file"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h4,{id:i[47].id,children:i[47].value}),"\n",(0,d.jsx)(e.p,{children:"Returns the current manifest for the project."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/manifest"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "project_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"default"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "provider_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"local"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "manifest_version"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"42"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "generated_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2026-03-13T18:00:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total_entries"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"156"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total_size_bytes"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"5242880"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entries"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "relative_path"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Characters/john_doe/CH_john_doe.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"ch_john_doe"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entry_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"markdown"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "size_bytes"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"4096"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "checksum_sha256"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "mime_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"text/markdown"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "remote_modified"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2026-03-13T17:30:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "preview_available"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ]"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Schema fields:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"project_id"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Project identifier"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"provider_type"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Storage provider (local, s3, gcs, etc.)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"manifest_version"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"Monotonically increasing version number"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"generated_at"})}),(0,d.jsx)(e.td,{children:"ISO datetime"}),(0,d.jsx)(e.td,{children:"When this manifest was generated"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"total_entries"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"Total number of entries"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"total_size_bytes"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"Total size of all entries in bytes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entries"})}),(0,d.jsx)(e.td,{children:"array"}),(0,d.jsx)(e.td,{children:"List of manifest entries"})]})]})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Entry schema:"})}),"\n",(0,d.jsxs
1)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"relative_path"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Path relative to project root"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entity_type"})}),(0,d.jsx)(e.td,{children:"string or null"}),(0,d.jsx)(e.td,{children:"Entity type if this is an entity file"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entity_id"})}),(0,d.jsx)(e.td,{children:"string or null"}),(0,d.jsx)(e.td,{children:"Entity ID if this is an entity file"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entry_type"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsxs)(e.td,{children:["One of: ",(0,d.jsx)(e.code,{children:"markdown"}),", ",(0,d.jsx)(e.code,{children:"asset"}),", ",(0,d.jsx)(e.code,{children:"template"}),", ",(0,d.jsx)(e.code,{children:"rule"}),", ",(0,d.jsx)(e.code,{children:"other"})]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"size_bytes"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"File size in bytes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"checksum_sha256"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"SHA256 checksum of file contents"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"mime_type"})}),(0,d.jsx)(e.td,{children:"string or null"}),(0,d.jsx)(e.td,{children:"MIME type of file"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"remote_modified"})}),(0,d.jsx)(e.td,{children:"ISO datetime"}),(0,d.jsx)(e.td,{children:"Last modified timestamp"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"preview_available"})}),(0,d.jsx)(e.td,{children:"bool"}),(0,d.jsx)(e.td,{children:"Whether a preview is available"})]})]})]}),"\n",(0,d.jsx)(e.h4,{id:i[48].id,children:i[48].value}),"\n",(0,d.jsx)(e.p,{children:"Triggers an immediate manifest refresh and returns the updated manifest."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/manifest/refresh"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "manifest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#B31D28","--shiki-light-font-style":"italic","--shiki-dark":"#FDAEB7","--shiki-dark-font-style":"italic"},children:"..."}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }, "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"// Full manifest object"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "diff"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "added"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Characters/new_ch/CH_new_ch.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "removed"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Characters/old_ch/CH_old_ch.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "modified"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Documents/notes/DOC_notes.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "refreshed_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2026-03-13T18:00:00Z"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h4,{id:i[49].id,children:i[49].value}),"\n",(0,d.jsx)(e.p,{children:"Returns manifest changes since a given timestamp."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/manifest/diff?since=2026-03-13T00:00:00Z"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Query parameters:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Param"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Required"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsx)(e.tbody,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"since"})}),(0,d.jsx)(e.td,{children:"ISO datetime"}),(0,d.jsx)(e.td,{children:"Yes"}),(0,d.jsx)(e.td,{children:"Timestamp to diff from"})]})})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.p,{children:"Returns either a diff object or full manifest if the timestamp is too old:"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"diff"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "diff"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "added"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"path/to/new_file.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "removed"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"path/to/removed_file.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "modified"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"path/to/modified_file.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"]"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:"or"}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"full"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "manifest"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#B31D28","--shiki-light-font-style":"italic","--shiki-dark":"#FDAEB7","--shiki-dark-font-style":"italic"},children:"..."}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#6A737D","--shiki-dark":"#6A737D"},children:"// Full manifest object"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h4,{id:i[50].id,children:i[50].value}),"\n",(0,d.jsx)(e.p,{children:"Returns metadata for a single file in the manifest."}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/manifest/entry/Characters/john_doe/CH_john_doe.md"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "relative_path"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Characters/john_doe/CH_john_doe.md"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entity_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"ch_john_doe"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "entry_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"markdown"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "size_bytes"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"4096"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "checksum_sha256"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "mime_type"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"text/markdown"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"
1#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "remote_modified"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2026-03-13T17:30:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "preview_available"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[51].id,children:i[51].value}),"\n",(0,d.jsxs)(e.p,{children:["Agent Skills are YAML-defined AI capability modules that enhance content generation. The API provides two surfaces: a ",(0,d.jsx)(e.strong,{children:"marketplace catalog"})," (skill definitions) and ",(0,d.jsx)(e.strong,{children:"tenant installations"})," (which skills are active for the current tenant)."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/agent-skills"})]}),"\n",(0,d.jsx)(e.h3,{id:i[52].id,children:i[52].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List all skills in the marketplace"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{skill_id}"})}),(0,d.jsx)(e.td,{children:"Get details for a specific skill"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/registry"})}),(0,d.jsx)(e.td,{children:"Add or update a skill in the registry"}),(0,d.jsx)(e.td,{children:"Yes (admin/owner)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/registry/{skill_id}"})}),(0,d.jsx)(e.td,{children:"Remove a skill from the registry"}),(0,d.jsx)(e.td,{children:"Yes (admin/owner)"})]})]})]}),"\n",(0,d.jsx)(e.h4,{id:i[53].id,children:i[53].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Query parameters:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Param"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Default"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"category"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Filter by category (entity, document, validation, etc.)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"search"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Full-text search across name, description, and skill_id"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"featured"})}),(0,d.jsx)(e.td,{children:"bool"}),(0,d.jsx)(e.td,{children:"false"}),(0,d.jsx)(e.td,{children:"Return only featured skills"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"limit"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"50"}),(0,d.jsx)(e.td,{children:"Max results (1-200)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"offset"})}),(0,d.jsx)(e.td,{children:"int"}),(0,d.jsx)(e.td,{children:"0"}),(0,d.jsx)(e.td,{children:"Pagination offset"})]})]})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skills"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skill_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character_writer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Character Writer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Specialized in creating deep, consistent character profiles"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "category"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"entity"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tags"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"narrative"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"worldbuilding"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "definition"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "prompt_template"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'""'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "parameters"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "min_tier"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"free"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_featured"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_builtin"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "usage_count"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"142"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "created_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2025-01-01T00:00:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "updated_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2025-01-01T00:00:00Z"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ],"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "total"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"5"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "limit"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"50"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "offset"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h4,{id:i[54].id,children:i[54].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/{skill_id}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsxs)(e.p,{children:["Returns the full skill record. Returns ",(0,d.jsx)(e.code,{children:"404"})," if the skill is not in the registry."]}),"\n",(0,d.jsx)(e.h4,{id:i[55].id,children:i[55].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/registry"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skill_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"game_mechanics_validator"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Game Mechanics Validator"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.js
1x)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Validates game mechanics documentation for consistency and balance"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "category"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"validation"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "tags"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"validation"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"game-mechanics"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"],"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "definition"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "prompt_template"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'""'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "parameters"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "max_tokens"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1000"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "strict_mode"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "min_tier"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"indie"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_featured"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "is_builtin"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:["Requires ",(0,d.jsx)(e.code,{children:"role: admin"})," or ",(0,d.jsx)(e.code,{children:"role: owner"}),". Creates or updates the skill record (upsert by ",(0,d.jsx)(e.code,{children:"skill_id"}),")."]}),"\n",(0,d.jsx)(e.h4,{id:i[56].id,children:i[56].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"DELETE"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/registry/{skill_id}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsxs)(e.p,{children:["Requires ",(0,d.jsx)(e.code,{children:"role: admin"})," or ",(0,d.jsx)(e.code,{children:"role: owner"}),". Returns ",(0,d.jsx)(e.code,{children:"404"})," if the skill is not in the registry."]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h3,{id:i[57].id,children:i[57].value}),"\n",(0,d.jsx)(e.p,{children:"All installation endpoints scope to the authenticated user. In core, this is the single local user. In StudioBrain Cloud, scope is resolved from the JWTâs tenant claim."}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/installed"})}),(0,d.jsx)(e.td,{children:"List installed skills for the current tenant"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/enabled"})}),(0,d.jsx)(e.td,{children:"List enabled skills with full definitions merged"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/install"})}),(0,d.jsx)(e.td,{children:"Install a skill for the current tenant"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{skill_id}/enable"})}),(0,d.jsx)(e.td,{children:"Enable an installed skill"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{skill_id}/disable"})}),(0,d.jsx)(e.td,{children:"Disable an installed skill"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{skill_id}"})}),(0,d.jsx)(e.td,{children:"Uninstall a skill for the current tenant"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h4,{id:i[58].id,children:i[58].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/installed"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Query parameters:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Param"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Default"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsx)(e.tbody,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"enabled_only"})}),(0,d.jsx)(e.td,{children:"bool"}),(0,d.jsx)(e.td,{children:"false"}),(0,d.jsx)(e.td,{children:"Return only enabled installations"})]})})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skills"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skill_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character_writer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "enabled"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "installed_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2025-06-01T12:00:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "installed_by"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"marketplace"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source_url"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "version"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ]"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h4,{id:i[59].id,children:i[59].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"GET"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/enabled"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsx)(e.p,{children:"Returns enabled installations merged with their full skill definitions. Use this endpoint when building AI generation prompts that need skill system prompts and capability metadata."}),"\n",(0,d.jsx)(e.h4,{id:i[60].id,children:i[60].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/install"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Content-Type"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" application/json"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]}),"\n",(0,d.jsx)(e.span,{children:" "}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skill_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character_writer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"marketplace"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d
1.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source_url"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsxs)(e.strong,{children:[(0,d.jsx)(e.code,{children:"source"})," values:"]})," ",(0,d.jsx)(e.code,{children:"marketplace"}),", ",(0,d.jsx)(e.code,{children:"template_pack"}),", ",(0,d.jsx)(e.code,{children:"local"})]}),"\n",(0,d.jsxs)(e.p,{children:["If the skill is already installed for this tenant, it is re-enabled rather than duplicated. The skillâs ",(0,d.jsx)(e.code,{children:"usage_count"})," in the registry is incremented on each install."]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "message"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:"\"Skill 'character_writer' installed\""}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "installation"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "skill_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character_writer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "enabled"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "installed_at"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2025-06-01T12:00:00Z"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "installed_by"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"user456"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"marketplace"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "source_url"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "version"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"null"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h4,{id:i[61].id,children:i[61].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/{skill_id}/enable"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"POST"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/{skill_id}/disable"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsxs)(e.p,{children:["Toggles the ",(0,d.jsx)(e.code,{children:"enabled"})," flag on the existing installation. Disabling retains the installation record so the skill can be re-enabled without reinstalling. Returns ",(0,d.jsx)(e.code,{children:"404"})," if the skill is not installed for the tenant."]}),"\n",(0,d.jsx)(e.h4,{id:i[62].id,children:i[62].value}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"http","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:"DELETE"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" /api/agent-skills/tenant/{skill_id}"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},children:"Authorization"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:":"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:" Bearer {token}"})]})]})}),"\n",(0,d.jsxs)(e.p,{children:["Permanently removes the installation record. Returns ",(0,d.jsx)(e.code,{children:"404"})," if not installed. The skill must be reinstalled (via ",(0,d.jsx)(e.code,{children:"/tenant/install"}),") to be used again."]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h3,{id:i[63].id,children:i[63].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Status"}),(0,d.jsx)(e.th,{children:"Condition"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"401"}),(0,d.jsx)(e.td,{children:"Missing or invalid bearer token"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"403"}),(0,d.jsx)(e.td,{children:"Non-admin/owner attempting registry write operations"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"404"}),(0,d.jsx)(e.td,{children:"Skill not found in registry, or not installed for tenant"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[64].id,children:i[64].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets"})}),(0,d.jsx)(e.td,{children:"List assets with filtering"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/test"})}),(0,d.jsx)(e.td,{children:"Asset system test"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/linked"})}),(0,d.jsx)(e.td,{children:"List assets linked to entities"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/uploaders"})}),(0,d.jsx)(e.td,{children:"List available upload providers"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}"})}),(0,d.jsx)(e.td,{children:"Get asset by ID"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets"})}),(0,d.jsx)(e.td,{children:"Create asset record"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}"})}),(0,d.jsx)(e.td,{children:"Update asset metadata"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}"})}),(0,d.jsx)(e.td,{children:"Delete asset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/scan"})}),(0,d.jsx)(e.td,{children:"Scan all entity folders for new assets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/scan/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Scan specific entity for assets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/sanitize-ids"})}),(0,d.jsx)(e.td,{children:"Fix invalid asset IDs"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/upload"})}),(0,d.jsx)(e.td,{children:"Upload asset file"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/auto-tag"})}),(0,d.jsx)(e.td,{children:"AI auto-tag asset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/thumbnail"})}),(0,d.jsx)(e.td,{children:"Generate thumbnail"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/ai-rescan"})}),(0,d.jsx)(e.td,{children:"Re-analyze asset with AI"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/by-brand/{brand_id}"})}),(0,d.jsx)(e.td,{children:"Get assets for brand"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/duplicates"})}),(0,d.jsx)(e.td,{children:"Find duplicate assets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}/status"})}),(0,d.jsx)(e.td,{children:"Update asset status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}/relationships"})}),(0,d.jsx)(e.td,{children:"Add asset relationship"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/{id}/relationships"})}),(0,d.jsx)(e.td,{children:"Get asset relationships"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/assets/stats/overview"})}),(0,d.jsx)(e.td,{children:"Asset statistics"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[65].id,children:i[65].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/status"})}),(0,d.jsx)(e.td,{children:"Queue processing status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/pause"})}),(0,d.jsx)(e.td,{children:"Pause queue processing"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/resume"})}),(0,d.jsx)(e.td,{children:"Resume queue processing"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/asset/{id}"})}),(0,d.jsx)(e.td,{children:"Get asset queue entry"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/vram-pressure"})}
1),(0,d.jsx)(e.td,{children:"Report VRAM pressure"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/rescan/{id}"})}),(0,d.jsx)(e.td,{children:"Re-queue asset for analysis"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/asset-queue/batch-rescan"})}),(0,d.jsx)(e.td,{children:"Batch re-queue assets"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[66].id,children:i[66].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/files/{path}"})}),(0,d.jsx)(e.td,{children:"Serve static file"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/upload/character/{id}/image"})}),(0,d.jsx)(e.td,{children:"Upload character image"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/upload/location/{id}/image"})}),(0,d.jsx)(e.td,{children:"Upload location image"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/upload/brand/{id}/image"})}),(0,d.jsx)(e.td,{children:"Upload brand image"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/upload/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Upload file for any entity"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[67].id,children:i[67].value}),"\n",(0,d.jsx)(e.p,{children:"The tenant-scoped presigned lane for large asset blobs (audit \xa75 item 7). A client first authorizes a batch of hashes, streams each blob straight to R2 over a presigned URL, then finalizes the stored blob into an asset row. Files over the assets-workerâs 10 MiB multipart cap must use this lane; see the desktop byte-lane routing in SBAI-10166."}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{id}/storage-uploads"})}),(0,d.jsx)(e.td,{children:"Authorize a batch of tenant blob uploads; returns presigned PUT URLs (SBAI-9033)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{id}/storage-downloads"})}),(0,d.jsx)(e.td,{children:"Authorize presigned GET URLs for tenant blobs (SBAI-9033)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/projects/{id}/storage-uploads/finalize"})}),(0,d.jsx)(e.td,{children:"Bind a presigned-stored blob into an AssetStore row (SBAI-9957). Validates the tenant/hash locator and the stored objectâs sha256/byte-length, then creates or binds the asset idempotently."}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.code,{children:"storage-uploads/finalize"}
1)," is idempotent: replaying a finalize for the same hash/link returns the existing asset row without inflating the tenant blob reference count. The ",(0,d.jsx)(e.code,{children:"byte_length"})," check compares against the actual R2 object size, so blobs larger than the 10 MiB multipart cap finalize correctly."]})}),"\n",(0,d.jsx)(e.h3,{id:i[68].id,children:i[68].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsx)(e.tbody,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/districts/{district_id}/map/upload"})}),(0,d.jsx)(e.td,{children:"Upload district map image (PNG/JPEG/SVG, max 20 MB). Returns storage path, thumbnail URL, and image dimensions."}),(0,d.jsx)(e.td,{children:"Yes"})]})})]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsx)(e.p,{children:"District map uploads are only available on commercial editions. The open-core returns a 403 Forbidden. Accepted formats are detected by magic-byte signature, not declared MIME type. A 256px thumbnail is generated automatically for PNG/JPEG uploads."})}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[69].id,children:i[69].value}),"\n",(0,d.jsx)(e.h3,{id:i[70].id,children:i[70].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/plugins"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List all plugins"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/install"})}),(0,d.jsx)(e.td,{children:"Install plugin from URL/archive"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/enable"})}),(0,d.jsx)(e.td,{children:"Enable plugin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/disable"})}),(0,d.jsx)(e.td,{children:"Disable plugin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/update"})}),(0,d.jsx)(e.td,{children:"Update plugin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Uninstall plugin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/backup"})}),(0,d.jsx)(e.td,{children:"Backup plugin data"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/restore"})}),(0,d.jsx)(e.td,{children:"Restore plugin from backup"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/backups"})}),(0,d.jsx)(e.td,{children:"List plugin backups"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/settings"})}),(0,d.jsx)(e.td,{children:"Get plugin settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}
1/settings"})}),(0,d.jsx)(e.td,{children:"Update plugin settings"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/settings/user"})}),(0,d.jsx)(e.td,{children:"Get user-specific settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/settings/user"})}),(0,d.jsx)(e.td,{children:"Update user-specific settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/page/{id}"})}),(0,d.jsx)(e.td,{children:"Serve plugin page"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/page/{id}/{subpath}"})}),(0,d.jsx)(e.td,{children:"Serve plugin subpage"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/panel/{id}/{panel_id}"})}),(0,d.jsx)(e.td,{children:"Serve plugin panel HTML"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[71].id,children:i[71].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/plugins"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/data/{record_type}"})}),(0,d.jsx)(e.td,{children:"List plugin data records"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/data/{record_type}"})}),(0,d.jsx)(e.td,{children:"Create data record"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/data/{record_type}/{record_id}"})}),(0,d.jsx)(e.td,{children:"Get data record"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/data/{record_type}/{record_id}"})}),(0,d.jsx)(e.td,{children:"Update data record"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/data/{record_type}/{record_id}"})}),(0,d.jsx)(e.td,{children:"Delete data record"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[72].id,children:i[72].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/marketplace"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Browse marketplace"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/info"})}),(0,d.jsx)(e.td,{children:"Marketplace info"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Get plugin details"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/registry"})}),(0,d.jsx)(e.td,{children:"Register plugin in marketplace"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/installed"})}),(0,d.jsx)(e.td,{children:"List tenantâs installed plugins"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/install"})}),(0,d.jsx)(e.td,{children:"Install from marketplace"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{id}/enable"})}),(0,d.jsx)(e.td,{children:"Enable installed plugin"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{id}/disable"})}),(0,d.jsx)(e.td,{children:"Disable installed plugin"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tenant/{id}"})}),(0,d.jsx)(e.td,{children:"Uninstall marketplace plugin"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[73].id,children:i[73].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/search"})}),(0,d.jsx)(e.td,{children:"Search across entity types"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/search/all"})}),(0,d.jsx)(e.td,{children:"Full-text search all entities"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recent"})}),(0,d.jsx)(e.td,{children:"Recently updated entities"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/relationships/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Get entity relationships"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/graph/universe"})}),(0,d.jsx)(e.td,{children:"Get full entity relationship graph"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/graph/entity/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Get entity-centric subgraph"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[74].id,children:i[74].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/entity"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cross-reference/query"})}),(0,d.jsx)(e.td,{children:"Query cross-references"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cross-reference/context"})}),(0,d.jsx)(e.td,{children:"Build cross-reference context"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cross-reference/romance"})}),(0,d.jsx)(e.td,{children:"Find romantic connections"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cross-reference/faction-war"})}),(0,d.jsx)(e.td,{children:"Find faction conflicts"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/cross-reference/validate/{type}/{id}"})}),(0,d.jsx)(e.td,{children:"Validate references"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/hybrid-relationships"})}),(0,d.jsx)(e.td,{children:"Discover hybrid relationships"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/semantic-connections"})}),(0,d.jsx)(e.td,{children:"Find semantic connections via embeddings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/structured-relationships"})}),(0,d.jsx)(e.td,{children:"Structured relationship query"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/enhanced-context"})}),(0,d.jsx)(e.td,{children:"Build enhanced entity context for AI"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[75].id,children:i[75].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/layouts"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List all layout definitions"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}"})}),(0,d.jsx)(e.td,{children:"Get layout for entity type"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}"})}),(0,d.jsx)(e.td,{children:"Update layout for entity type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}/reset"})}),(0,d.jsx)(e.td,{children:"Reset layout to defaults"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{type}"})}),(0,d.jsx)(e.td,{children:"Delete custom layout"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[76].id,children:i[76].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/timeline"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List timeline events with filtering"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auto-populate"})}),(0,d.jsx)(e.td,{children:"Auto-populate timeline from entity data"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/conflicts"})}),(0,d.jsx)(e.td,{children:"Find timeline conflicts"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export"})}),(0,d.jsx)(e.td,{children:"Export timeline data"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[77].id,children:i[77].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/assembly"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots"})}),(0,d.jsx)(e.td,{children:"List assembly slots"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/{group}"})}),(0,d.jsx)(e.td,{children:"Get slots by group"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots"})}),(0,d.jsx)(e.td,{children:"Add slot to assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/{group}
1/{name}"})}),(0,d.jsx)(e.td,{children:"Remove slot"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/reorder"})}),(0,d.jsx)(e.td,{children:"Reorder slots"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/{group}/{name}/transform"})}),(0,d.jsx)(e.td,{children:"Transform slot"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/parent"})}),(0,d.jsx)(e.td,{children:"Set parent assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/parent"})}),(0,d.jsx)(e.td,{children:"Remove parent"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/inheritance"})}),(0,d.jsx)(e.td,{children:"Get inheritance chain"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/lock"})}),(0,d.jsx)(e.td,{children:"Lock slots"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/slots/unlock"})}),(0,d.jsx)(e.td,{children:"Unlock slots"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/zombie/{stage}"})}),(0,d.jsx)(e.td,{children:"Get zombie stage data"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/zombie/validate"})}),(0,d.jsx)(e.td,{children:"Validate zombie assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/profiles"})}),(0,d.jsx)(e.td,{children:"List export profiles"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/export/{profile}"})}),(0,d.jsx)(e.td,{children:"Export assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/manifest/{profile}"})}),(0,d.jsx)(e.td,{children:"Get export manifest"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/validate"})}),(0,d.jsx)(e.td,{children:"Validate assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/validate/status"})}),(0,d.jsx)(e.td,{children:"Validation status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/completeness"})}),(0,d.jsx)(e.td,{children:"Check assembly completeness"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/preview"})}),(0,d.jsx)(e.td,{children:"Preview assembly"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/by-asset/{asset_id}"})}),(0,d.jsx)(e.td,{children:"Find assemblies using asset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/auto-detect-slot"})}),(0,d.jsx)(e.td,{children:"Auto-detect slot type for asset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/template/types"})}),(0,d.jsx)(e.td,{children:"List assembly template types"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/template/slot-definitions"})}),(0,d.jsx)(e.td,{children:"Get slot definitions"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/profiles/reload"})}),(0,d.jsx)(e.td,{children:"Reload export profiles"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[78].id,children:i[78].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsx)(e.h3,{id:i[79].id,children:i[79].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/entity"})}),(0,d.jsx)(e.td,{children:"List recycled entities"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/entity/{type}/{id}/restore"})}),(0,d.jsx)(e.td,{children:"Restore entity"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/entity/{type}/{id}/permanent"})}),(0,d.jsx)(e.td,{children:"Permanently delete"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/entity/empty"})}),(0,d.jsx)(e.td,{children:"Empty entity recycle bin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[80].id,children:i[80].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin"})}),(0,d.jsx)(e.td,{children:"List recycled assets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/{id}/restore"})}),(0,d.jsx)(e.td,{children:"Restore asset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/{id}/permanent"})}),(0,d.jsx)(e.td,{children:"Permanently delete asset"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/empty"})}),(0,d.jsx)(e.td,{children:"Empty asset recycle bin"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/recycle-bin/auto-cleanup"})}),(0,d.jsx)(e.td,{children:"Auto-cleanup old items"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[81].id,children:i[81].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/health"})}),(0,d.jsx)(e.td,{children:"Basic health check"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/health"})}),(0,d.jsx)(e.td,{children:"Basic health check (prefixed)"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/health/detailed"})}),(0,d.jsx)(e.td,{children:"Detailed health with DB status"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/check-entity-id/{id}"})}),(0,d.jsx)(e.td,{children:"Check if entity ID is available"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/status"})}),(0,d.jsx)(e.td,{children:"Service status (backend, AI, DB)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/restart/{service}"})}),(0,d.jsxs)(e.td,{children:["Restart a service (",(0,d.jsx)(e.code,{children:"ai"}),", ",(0,d.jsx)(e.code,{children:"backend"}),", ",(0,d.jsx)(e.code,{children:"frontend"}),", ",(0,d.jsx)(e.code,{children:"all"}),")"]}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/terminate/ai"})}),(0,d.jsx)(e.td,{children:"Terminate AI service"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/logs/{service}"})}),(0,d.jsx)(e.td,{children:"Get service logs"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/logs/{service}/clear"})}),(0,d.jsx)(e.td,{children:"Clear service logs"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/services/logs/list"})}),(0,d.jsx)(e.td,{children:"List available log files"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/logs/frontend"})}),(0,d.jsx)(e.td,{children:"Submit frontend log entries"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsxs)(e.p,{children:["Service lifecycle endpoints (",(0,d.jsx)(e.code,{children:"restart"}),", ",(0,d.jsx)(e.code,{children:"terminate/ai"}),") return a 200 acknowledgment. The actual restart/terminate is delegated to the host process (Tauri desktop shell) or supervisor (Kubernetes). The open-core has no embedded AI service â the ",(0,d.jsx)(e.code,{children:"terminate/ai"})," endpoint acknowledges the request for legacy frontend compatibility but performs no action. Valid service names for restart are: ",(0,d.jsx)(e.code,{children:"ai"}),", ",(0,d.jsx)(e.code,{children:"backend"}),", ",(0,d.jsx)(e.code,{children:"frontend"}),", ",(0,d.jsx)(e.code,{children:"all"}),"."]})}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[82].id,children:i[82].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Endpoint:"})," ",(0,d.jsx)(e.code,{children:"ws://host:8201/api/ws"})]}),"\n",(0,d.jsx)(e.p,{children:"Connect with a JWT token as a query parameter or in the first message. The WebSocket channel provides real-time events:"}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Event"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"entity_updated"})}),(0,d.jsx)(e.td,{children:"Entity was created, updated, or deleted"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"sync_completed"})}),(0,d.jsx)(e.td,{children:"Markdown sync finished"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"presence_update"})}),(0,d.jsx)(e.td,{children:"User came online/offline/started editing"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"brainbits_deducted"})}),(0,d.jsx)(e.td,{children:"BrainBits consumed for AI operation"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"asset_processed"})}),(0,d.jsx)(e.td,{children:"Asset analysis completed"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[83].id,children:i[83].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/presence"})}),(0,d.jsx)(e.td,{children:"Get online users"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/presence/editing"})}),(0,d.jsx)(e.td,{children:"Get who is editing what"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsxs)(e.blockquote,{children:["\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"StudioBrain Cloud"})," scopes presence by tenant. The cloud API uses ",(0,d.jsx)(e.code,{children:"/api/presence/{tenant_id}"})," paths for tenant-isolated presence tracking."]}),"\n"]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[84].id,children:i[84].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/settings"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Get user settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Update user settings"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/keys"})}),(0,d.jsx)(e.td,{children:"List configured AI provider keys"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/keys/{provider}"})}),(0,d.jsx)(e.td,{children:"Set AI provider key"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/keys/{provider}"})}),(0,d.jsx)(e.td,{children:"Remove AI provider key"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[85].id,children:i[85].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/features"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Get enabled features for current tier"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/tiers"})}),(0,d.jsx)(e.td,{
1children:"List all tiers and their features"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[86].id,children:i[86].value}),"\n",(0,d.jsx)(e.h3,{id:i[87].id,children:i[87].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/groups"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets"})}),(0,d.jsx)(e.td,{children:"List group presets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/user/{user_id}"})}),(0,d.jsx)(e.td,{children:"Get userâs groups"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Create group"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List groups"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Get group"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Update group"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Delete group"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/members"})}),(0,d.jsx)(e.td,{children:"Add member to group"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/members/{user_id}"})}),(0,d.jsx)(e.td,{children:"Remove member"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[88].id,children:i[88].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/quota-groups"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/"})}),(0,d.jsx)(e.td,{children:"List quota groups"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/quota"})}),(0,d.jsx)(e.td,{children:"Update group quota"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/usage"})}),(0,d.jsx)(e.td,{children:"Get group usage"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/reset"})}),(0,d.jsx)(e.td,{children:"Reset group usage counters"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[89].id,children:i[89].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," (none, uses full paths)"]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/shares"})}),(0,d.jsx)(e.td,{children:"Create share link"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/shares"})}),(0,d.jsx)(e.td,{children:"List shares"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/shares/{id}"})}),(0,d.jsx)(e.td,{children:"Delete share"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/share/{code}"})}),(0,d.jsx)(e.td,{children:"Access shared content"}),(0,d.jsx)(e.td,{children:"No"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/api/share/{code}/entities/{type}"})}),(0,d.jsx)(e.td,{children:"List entities in share"}),(0,d.jsx)(e.td,{children:"No"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[90].id,children:i[90].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/test"})}),(0,d.jsx)(e.td,{children:"Test database connection"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/tables"})}),(0,d.jsx)(e.td,{children:"List database tables"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/tables/{name}/data"})}),(0,d.jsx)(e.td,{children:"View table data"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/query"})}),(0,d.jsx)(e.td,{children:"Execute read-only SQL query"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/statistics"})}),(0,d.jsx)(e.td,{children:"Database statistics"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/entities"})}),(0,d.jsx)(e.td,{children:"Entity count by type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/export"})}),(0,d.jsxs)(e.td,{children:["Export database. SQLite: copies via ",(0,d.jsx)(e.code,{children:"VACUUM INTO"}),". Postgres: handled by cloud overlay."]}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/import"})}),(0,d.jsx)(e.td,{children:"Import database"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/database/backup"})}),(0,d.jsx)(e.td,{children:"Create database backup. SQLite: wrapper around export. Postgres: handled by cloud overlay."}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsxs)(e.p,{children:["Database export and backup behavior differs by platform. In open-core (SQLite), ",(0,d.jsx)(e.code,{children:"POST /api/database/export"})," creates a ",(0,d.jsx)(e.code,{children:".db"})," backup via ",(0,d.jsx)(e.code,{children:"VACUUM INTO"})," in ",(0,d.jsx)(e.code,{children:"CONTENT_BASE_PATH/backups/"}),". In cloud deployments (PostgreSQL), these endpoints are handled by the studiobrain-cloud overlay â the open-core returns a descriptive error directing users to the cloud overlay."]})}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[91].id,children:i[91].value}),"\n",(0,d.jsx)(e.p,{children:"These backend endpoints proxy specific AI operations. Most AI operations go directly to the AI service on port 8202."}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/image/styles/{type}"})}),(0,d.jsx)(e.td,{children:"Get image generation styles for entity type"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/generate/character"})}),(0,d.jsx)(e.td,{children:"Generate character via AI"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/enhance/character/{id}"})}),(0,d.jsx)(e.td,{children:"Enhance existing character"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/generate/dialogue/{id}"})}),(0,d.jsx)(e.td,{children:"Generate dialogue for character"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[92].id,children:i[92].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/comfyui"})]}),"\n",(0,d.jsxs)(e.p,{children:["Dual-backend AI image generation via ComfyUI â local (self-hosted ",(0,d.jsx)(e.code,{children:"localhost:8188"}),") or cloud (",(0,d.jsx)(e.code,{children:"cloud.comfy.org"}),"). Mode is selected per-request via the ",(0,d.jsx)(e.code,{children:"X-Comfyui-Mode"})," header (",(0,d.jsx)(e.code,{children:"local"})," or ",(0,d.jsx)(e.code,{children:"cloud"}),")."]}),"\n",(0,d.jsx)(l.P,{type:"info",children:(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Environment variables:"})," ",(0,d.jsx)(e.code,{children:"COMFYUI_URL"})," (default ",(0,d.jsx)(e.code,{children:"http://localhost:8188"}),"), ",(0,d.jsx)(e.code,{children:"COMFYUI_API_KEY"})," (local), ",(0,d.jsx)(e.code,{children:"COMFYUI_CLOUD_API_KEY"})," (cloud), ",(0,d.jsx)(e.code,{children:"COMFYUI_WORKFLOW_DIR"})," (workflow storage path)."]})}),"\n",(0,d.jsx)(e.h3,{id:i[93].id,children:i[93].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Header"}),(0,d.jsx)(e.th,{children:"Purpose"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"X-Comfyui-Url"})}),(0,d.jsx)(e.td,{children:"Override ComfyUI server URL"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"X-Comfyui-Mode"})}),(0,d.jsxs)(e.td,{children:[(0,d.jsx)(e.code,{children:"local"})," (default) or ",(0,d.jsx)(e.code,{children:"cloud"})]})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"X-Api-Key"})}),(0,d.jsx)(e.td,{children:"API key for local secured or ComfyUI Cloud"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[94].id,children:i[94].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"ComfyUI connection + queue status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/workflows"})}),(0,d.jsx)(e.td,{children:"List workflows with detected inputs"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/workflows/scan"})}),(0,d.jsx)(e.td,{children:"Re-scan workflow directory"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/workflows/upload"})}),(0,d.jsx)(e.td,{children:"Upload workflow JSON file"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/workflows/{id}"})}),(0,d.jsx)(e.td,{children:"Get single workflow + input schema"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/execute"})}),(0,d.jsxs)(e.td,{children:["Submit workflow for execution, returns ",(0,d.jsx)(e.code,{children:"job_id"})]}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/jobs"})}),(0,d.jsx)(e.td,{children:"List jobs (tenant-scoped)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/jobs/{id}"})}),(0,d.jsx)(e.td,{children:"Get job status"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/jobs/{id}"})}),(0,d.jsx)(e.td,{children:"Cancel / delete a job"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/jobs/{id}/outputs/{filename}"})}),(0,d.jsx)(e.td,{children:"Proxy-download output file"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/jobs/{id}/save"})}),(0,d.jsx)(e.td,{children:"Ingest outputs into CloudStorage (sb-files)"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/upload"})}),(0,d.jsx)(e.td,{children:"Upload input image to ComfyUI"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/ws"})}),(0,d.jsx)(e.td,{children:"WebSocket proxy to ComfyUI progress stream"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/stream/{job_id}"})}),(0,d.jsx)(e.td,{children:"SSE stream of job progress"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[95].id,children:i[95].value}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["GET ",(0,d.jsx)(e.code,{children:"/status"}),":"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "connection"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-
1dark":"#79B8FF"},children:' "connected"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "mode"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"local"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "devices"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"0"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"NVIDIA GeForce RTX 4090"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" } }"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "queue"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": { "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"queue_running"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"1"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"queue_pending"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"0"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" },"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "workflow_dir"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"/path/to/comfyui_workflows"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["POST ",(0,d.jsx)(e.code,{children:"/execute"}),":"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "job_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"abc123"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "workflow_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"character_portrait"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "status"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"queued"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsxs)(e.strong,{children:["GET ",(0,d.jsx)(e.code,{children:"/stream/{job_id}"})," (SSE):"]})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"plaintext","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:"event: progress"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:'data: {"j
1ob_id": "abc123", "progress": 45, "node": "KSampler", "eta": 12}'})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:"event: complete"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:'data: {"job_id": "abc123", "outputs": ["output_001.png"]}'})})]})}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[96].id,children:i[96].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets"})}),(0,d.jsx)(e.td,{children:"List image generation presets"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets"})}),(0,d.jsx)(e.td,{children:"Create preset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets/{id}"})}),(0,d.jsx)(e.td,{children:"Get preset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets/{id}"})}),(0,d.jsx)(e.td,{children:"Update preset"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/presets/{id}"})}),(0,d.jsx)(e.td,{children:"Delete preset"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[97].id,children:i[97].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/context-profiles"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"List context profiles"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:"â"}),(0,d.jsx)(e.td,{children:"Create context profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Get context profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Update context profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}"})}),(0,d.jsx)(e.td,{children:"Delete context profile"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/{id}/resolve"})}),(0,d.jsx)(e.td,{children:"Resolve profile (expand entity refs)"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[98].id,children:i[98].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/prompt-templates"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/resolve"})}),(0,d.jsx)(e.td,{children:"Resolve template variables"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/resolve-batch"})}),(0,d.jsx)(e.td,{children:"Batch resolve templates"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/available-fields/{type}"})}),(0,d.jsx)(e.td,{children:"List available template fields"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[99].id,children:i[99].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items"})}),(0,d.jsx)(e.td,{children:"List inventory items"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/categories"})}),(0,d.jsx)(e.td,{children:"List item categories"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/{id}"})}),(0,d.jsx)(e.td,{children:"Get item details"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items"})}),(0,d.jsx)(e.td,{children:"Create item"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PUT"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/{id}"})}),(0,d.jsx)(e.td,{children:"Update item"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DELETE"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/{id}"})}),(0,d.jsx)(e.td,{children:"Delete item"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/import/verse"})}),(0,d.jsx)(e.td,{children:"Import items from Verse format"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/import/json"})}),(0,d.jsx)(e.td,{children:"Import items from JSON"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/export/json"})}),(0,d.jsx)(e.td,{children:"Export items as JSON"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/items/export/verse"})}),(0,d.jsx)(e.td,{children:"Export items as Verse"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsxs)(l.P,{type:"info",children:[(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Verse import"})," (",(0,d.jsx)(e.code,{children:"POST /api/items/import/verse"}),") accepts either raw Verse source text (",(0,d.jsx)(e.code,{children:"content"})," field) or pre-parsed JSON resources (",(0,d.jsx)(e.code,{children:"items"})," field). Supports ",(0,d.jsx)(e.code,{children:"merge_mode"})," (",(0,d.jsx)(e.code,{children:"skip"})," or ",(0,d.jsx)(e.code,{children:"overwrite"}),") and ",(0,d.jsx)(e.code,{children:"dry_run"})," for validation-only imports. Returns ",(0,d.jsx)(e.code,{children:"converter_stats"})," with conversion metrics."]}),(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Verse export"})," (",(0,d.jsx)(e.code,{children:"GET /api/items/export/verse"}),") returns both structured JSON (",(0,d.jsx)(e.code,{children:"resources"})," keyed by category) and a serialized ",(0,d.jsx)(e.code,{children:".verse"})," source text (",(0,d.jsx)(e.code,{children:"verse_source"}),"). Optional ",(0,d.jsx)(e.code,{children:"item_type"})," query parameter filters by type (e.g., ",(0,d.jsx)(e.code,{children:"weapon"}),", ",(0,d.jsx)(e.code,{children:"consumable"}),")."]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[100].id,children:i[100].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/migration/import"})}),(0,d.jsx)(e.td,{children:"Import full data export"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/migration/export"})}),(0,d.jsx)(e.td,{children:"Export all data"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/archive/fallbacks"})}),(0,d.jsx)(e.td,{children:"List archived fallback data"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/archive/fallbacks/restore"})}),(0,d.jsx)(e.td,{children:"Restore from archive"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/archive/fallbacks/cleanup"})}),(0,d.jsx)(e.td,{children:"Cleanup old archives"}),(0,d.jsx)(e.td,{children:"Yes (admin)"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[101].id,children:i[101].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api"})]}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/stats/dashboard"})}),(0,d.jsx)(e.td,{children:"Dashboard statistics"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/activity/recent"})}),(0,d.jsx)(e.td,{children:"Recent activity feed"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/activity/history"})}),(0,d.jsx)(e.td,{children:"Full activity history"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[102].id,children:i[102].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/export"})]}),"\n",(0,d.jsxs)(e.p,{children:["The Export System provides endpoints for exporting entities to HTML, PDF, and DOCX formats. See ",(0,d.jsx)(e.a,{href:"/developer/export-system",children:"Export System Architecture"})," for implementation details."]}),"\n",(0,d.jsx)(e.h3,{id:i[103].id,children:i[103].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/layouts"})}),(0,d.jsx)(e.td,{children:"List available export layout templates"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/{entity_type}/{entity_id}/html"})}),(0,d.jsx)(e.td,{children:"Export entity to HTML"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/{entity_type}/{entity_id}/pdf"})}),(0,d.jsx)(e.td,{children:"Export entity to PDF"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/{entity_type}/{entity_id}/docx"})}),(0,d.jsx)(e.td,{children:"Export entity to DOCX"}),(0,d.jsx)(e.td,{children:"Yes"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/export/{entity_type}/{entity_id}/formats"})}),(0,d.jsx)(e.td,{children:"Get available formats for entity"}),(0,d.jsx)(e.td,{children:"Yes"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[104].id,children:i[104].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Format"}),(0,d.jsx)(e.th,{children:"MIME Type"}),(0,d.jsx)(e.th,{children:"Extension"}),(0,d.jsx)(e.th,{children:"Features"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"HTML"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"text/html"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:".html"})}),(0,d.jsx)(e.td,{children:"Embedded CSS, responsive, browser-printable"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"PDF"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"application/pdf"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:".pdf"})}),(0,d.jsx)(e.td,{children:"A4 size, cover page, TOC, print-optimized"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"DOCX"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:".docx"})}),(0,d.jsx)(e.td,{children:"Cover page, TOC, editable, professional styles"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[105].id,children:i[105].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Layout"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Use Case"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"gdd_standard"})}),(0,d.jsx)(e.td,{children:"Game Design Document format"}),(0,d.jsx)(e.td,{children:"Standard character/location documentation"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"script_format"})}),(0,d.jsx)(e.td,{children:"Screenplay/script format"}),(0,d.jsx)(e.td,{children:"Dialogue-heavy character sheets"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"style_guide"})}),(0,d.jsx)(e.td,{children:"Visual style guide format"}),(0,d.jsx)(e.td,{children:"Brands, visual references"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[106].id,children:i[106].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"GET"})," ",(0,d.jsx)(e.code,{children:"/api/export/layouts"})," â Returns all available layout templates and their features."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"POST"})," ",(0,d.jsx)(e.code,{children:"/api/export/{entity_type}/{entity_id}/html"})]}),"\n",(0,d.jsxs)(e.p,{children:["Query parameters: ",(0,d.jsx)(e.code,{children:"layout"})," (default: ",(0,d.jsx)(e.code,{children:"gdd_standard"}),"), ",(0,d.jsx)(e.code,{children:"theme"})," (default: ",(0,d.jsx)(e.code,{children:"default"}),"), ",(0,d.jsx)(e.code,{children:"embed_images"})," (default: ",(0,d.jsx)(e.code,{children:"true"}),")."]}),"\n",(0,d.jsxs)(e.p,{children:["Response: ",(0,d.jsx)(e.cod
1e,{children:"200 OK"})," with ",(0,d.jsx)(e.code,{children:"Content-Type: text/html"}),". Body is a complete standalone HTML document with embedded CSS."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"POST"})," ",(0,d.jsx)(e.code,{children:"/api/export/{entity_type}/{entity_id}/pdf"})]}),"\n",(0,d.jsxs)(e.p,{children:["Generates PDF via Playwright headless browser. Requires ",(0,d.jsx)(e.code,{children:"playwright install"}),". Returns ",(0,d.jsx)(e.code,{children:"503 Service Unavailable"})," if Playwright is not installed."]}),"\n",(0,d.jsxs)(e.p,{children:["Query parameters: ",(0,d.jsx)(e.code,{children:"layout"})," (default: ",(0,d.jsx)(e.code,{children:"gdd_standard"}),"), ",(0,d.jsx)(e.code,{children:"theme"})," (default: ",(0,d.jsx)(e.code,{children:"default"}),"), ",(0,d.jsx)(e.code,{children:"embed_images"})," (default: ",(0,d.jsx)(e.code,{children:"true"}),"), ",(0,d.jsx)(e.code,{children:"include_toc"})," (default: ",(0,d.jsx)(e.code,{children:"false"}),"), ",(0,d.jsx)(e.code,{children:"include_cover"})," (default: ",(0,d.jsx)(e.code,{children:"false"}),")."]}),"\n",(0,d.jsxs)(e.p,{children:["The ",(0,d.jsx)(e.code,{children:"include_toc"})," and ",(0,d.jsx)(e.code,{children:"include_cover"})," parameters are only effective for document-type entities (template category ",(0,d.jsx)(e.code,{children:"document"}),"). When enabled, they add a generated table of contents and/or a cover page to the exported PDF."]}),"\n",(0,d.jsxs)(e.p,{children:["Response: ",(0,d.jsx)(e.code,{children:"200 OK"})," with ",(0,d.jsx)(e.code,{children:"Content-Type: application/pdf"}),". A4 format, 20mm margins."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"POST"})," ",(0,d.jsx)(e.code,{children:"/api/export/{entity_type}/{entity_id}/docx"})]}),"\n",(0,d.jsxs)(e.p,{children:["Generates Word document via python-docx. Requires ",(0,d.jsx)(e.code,{children:"pip install python-docx"}),". Returns ",(0,d.jsx)(e.code,{children:"503 Service Unavailable"})," if python-docx is not installed."]}),"\n",(0,d.jsxs)(e.p,{children:["Query parameters: ",(0,d.jsx)(e.code,{children:"layout"})," (default: ",(0,d.jsx)(e.code,{children:"gdd_standard"}),"), ",(0,d.jsx)(e.code,{children:"theme"})," (default: ",(0,d.jsx)(e.code,{children:"default"}),"), ",(0,d.jsx)(e.code,{children:"embed_images"})," (default: ",(0,d.jsx)(e.code,{children:"true"}),"), ",(0,d.jsx)(e.code,{children:"include_toc"})," (default: ",(0,d.jsx)(e.code,{children:"false"}),"), ",(0,d.jsx)(e.code,{children:"include_cover"})," (default: ",(0,d.jsx)(e.code,{children:"false"}),")."]}),"\n",(0,d.jsxs)(e.p,{children:["The ",(0,d.jsx)(e.code,{children:"include_toc"})," and ",(0,d.jsx)(e.code,{children:"include_cover"})," parameters behave identically to the PDF endpoint â only effective for document-type entities."]}),"\n",(0,d.jsxs)(e.p,{children:["Response: ",(0,d.jsx)(e.code,{children:"200 OK"})," with DOCX MIME type."]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"GET"})," ",(0,d.jsx)(e.code,{children:"/api/export/{entity_type}/{entity_id}/formats"})]}),"\n",(0,d.jsx)(e.p,{children:"Returns available formats, their features, and requirements for the specified entity."}),"\n",(0,d.jsx)(e.h3,{id:i[107].id,children:i[107].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Status"}),(0,d.jsx)(e.th,{children:"Condition"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"404 Not Found"})}),(0,d.jsx)(e.td,{children:"Entity does not exist"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"503 Service Unavailable"})}),(0,d.jsx)(e.td,{children:"PDF/DOCX dependency not installed"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"429 Too Many Requests"})}),(0,d.jsx)(e.td,{children:"Rate limit exceeded (10 requests/minute per user)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"500 Internal Server Error"})}),(0,d.jsx)(e.td,{children:"Export generation failed"})]})]})]}),"\n",(0,d.jsxs)(e.p,{children:["For full endpoint details, request/response schemas, field mapping, and template variable reference, see ",(0,d.jsx)(e.a,{href:"/developer/export-system",children:"Export System Architecture"})," or the interactive Swagger docs at ",(0,d.jsx)(e.code,{children:"/docs"}),"."]}),"\n",(0,d.jsx)(e.hr,{}),"\n",(0,d.jsx)(e.h2,{id:i[108].id,children:i[108].value}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Prefix:"})," ",(0,d.jsx)(e.code,{children:"/api/support"})]}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Access:"})," Team+ and Enterprise cloud users only (feature-gated via ",(0,d.jsx)(e.code,{children:"priority_support"}),")"]}),"\n",(0,d.jsx)(e.p,{children:"Endpoints for requesting live co-browsing support via OpenReplay Assist. Notifications are sent to Discord webhook."}),"\n",(0,d.jsxs)(e.p,{children:[(0,d.jsx)(e.strong,{children:"Status:"})," SBAI-1207 (Phase O: Product Observability)"]}),"\n",(0,d.jsx)(e.h3,{id:i[109].id,children:i[109].value}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Method"}),(0,d.jsx)(e.th,{children:"Path"}),(0,d.jsx)(e.th,{children:"Description"}),(0,d.jsx)(e.th,{children:"Auth"}),(0,d.jsx)(e.th,{children:"Feature Gate"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"GET"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/status"})}),(0,d.jsx)(e.td,{children:"Get support system status and configuration"}),(0,d.jsx)(e.td,{children:"Yes"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"priority_support"})})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:"POST"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"/request-help"})}),(0,d.jsx)(e.td,{children:"Request live co-browsing support"}),(0,d.jsx)(e.td,{children:"Yes"}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"priority_support"})})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[110].id,children:i[110].value}),"\n",(0,d.jsx)(e.p,{children:"Returns the support system health and OpenReplay configuration."}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "support_enabled"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "openreplay_url"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"https://replay.braindead.games"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "description"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Live support via OpenReplay Assist"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Field Descriptions:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"support_enabled"})}),(0,d.jsx)(e.td,{children:"boolean"}),(0,d.jsx)(e.td,{children:"Whether support requests are accepted"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"openreplay_url"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"OpenReplay instance URL for assist links"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"description"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Human-readable support description"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[111].id,children:i[111].value}),"\n",(0,d.jsx)(e.p,{children:"Request live support from the studio team. Creates a Discord notification and generates an OpenReplay Assist link."}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Headers:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"plaintext","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:"Authorization: Bearer {jwt_token}"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{children:"Content-Type: application/json"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Request Body:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "session_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"sess_abc123xyz"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "assist_link"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"https://replay.braindead.games/assist/sess_abc123xyz"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"team"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Request Fields:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Required"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"session_id"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Yes"}),(0,d.jsx)(e.td,{children:"OpenReplay session identifier"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"assist_link"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Yes"}),(0,d.jsx)(e.td,{children:"Full OpenReplay Assist URL"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"plan"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"No"}),(0,d.jsx)(e.td,{children:"Userâs plan name (auto-detected from token)"})]})]})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response (2
100 OK):"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "success"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "message"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Support request received"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "request_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"req_20260312_001"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "assist_link"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"https://replay.braindead.games/assist/sess_abc123xyz"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Response Fields:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Field"}),(0,d.jsx)(e.th,{children:"Type"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"success"})}),(0,d.jsx)(e.td,{children:"boolean"}),(0,d.jsx)(e.td,{children:"Whether request was processed"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"message"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Human-readable status message"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"request_id"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"Unique identifier for the support request"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"assist_link"})}),(0,d.jsx)(e.td,{children:"string"}),(0,d.jsx)(e.td,{children:"OpenReplay Assist link for session control"})]})]})]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Error Responses:"})}),"\n",(0,d.jsxs)(e.table,{children:[(0,d.jsx)(e.thead,{children:(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.th,{children:"Status"}),(0,d.jsx)(e.th,{children:"Error"}),(0,d.jsx)(e.th,{children:"Description"})]})}),(0,d.jsxs)(e.tbody,{children:[(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"401"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"Unauthorized"})}),(0,d.jsx)(e.td,{children:"Missing or invalid JWT token"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"403"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"Forbidden"})}),(0,d.jsx)(e.td,{children:"Feature gate check failed (not Team+/Enterprise plan)"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"422"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"ValidationError"})}),(0,d.jsx)(e.td,{children:"Request body validation failed"})]}),(0,d.jsxs)(e.tr,{children:[(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"500"})}),(0,d.jsx)(e.td,{children:(0,d.jsx)(e.code,{children:"InternalError"})}),(0,d.jsx)(e.td,{children:"Discord webhook delivery failed"})]})]})]}),"\n",(0,d.jsx)(e.h3,{id:i[112].id,children:i[112].value}
1),"\n",(0,d.jsxs)(e.p,{children:["When a support request is received, the backend sends an embedded notification to the ",(0,d.jsx)(e.code,{children:"#studio-support"})," Discord channel."]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Webhook Configuration:"})}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsxs)(e.li,{children:["Environment variable: ",(0,d.jsx)(e.code,{children:"DISCORD_SUPPORT_WEBHOOK"})]}),"\n",(0,d.jsx)(e.li,{children:"Format: Discord webhook URL (HTTPS)"}),"\n",(0,d.jsx)(e.li,{children:"Embed includes: user email, tenant ID, session ID, plan, and assist link"}),"\n"]}),"\n",(0,d.jsx)(e.p,{children:(0,d.jsx)(e.strong,{children:"Sample Embed:"})}),"\n",(0,d.jsx)(e.pre,{tabIndex:"0","data-language":"json","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"{"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "embeds"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": [{"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "title"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Live Support Request"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "color"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"5666194"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:","})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "fields"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": ["})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"User"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"value"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[email protected]"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"inline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Tenant"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"value"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"tenant_id"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"inline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Session ID"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"value"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"sess_abc123"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"inline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Plan"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"value"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"team"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"inline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"true"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"name"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"Assist Link"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"value"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"[Open Assist â]https://replay.braindead.games/assist/sess_abc123"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:", "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"inline"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"false"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" ],"})}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "footer"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:'"text"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"StudioBrain Support System"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:' "timestamp"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"2026-03-12T23:30:00Z"'})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" }]"})}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h3,{id:i[113].id,children:i[113].value}),"\n",(0,d.jsxs)(e.p,{children:["Support access is controlled by the ",(0,d.jsx)(e.code,{children:"priority_support"})," feature gate defined in ",(0,d.jsx)(e.code,{children:"config/plans.py"}),":"]}),"\n",(0,d.jsx)(e.pre,{icon:t.un,tabIndex:"0","data-language":"python","data-word-wrap":"","data-copy":"",children:(0,d.jsxs)(e.code,{children:[(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"PLAN_DEFINITIONS"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},children:" ="}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:" {"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "free"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"priority_support"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"False"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "indie"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"priority_support"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"False"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "team"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"priority_support"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"True"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsxs)(e.span,{children:[(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:' "enterprise"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": {"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},children:'"priority_support"'}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:": "}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},children:"True"}),(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"},"})]}),"\n",(0,d.jsx)(e.span,{children:(0,d.jsx)(e.span,{style:{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},children:"}"})})]})}),"\n",(0,d.jsx)(e.h3,{id:i[114].id,children:i[114].value}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.strong,{children:"Frontend Component:"})," ",(0,d.jsx)(e.code,{children:"city-brains-studio/src/components/support/LiveHelpButton.tsx"})]}),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.strong,{children:"Backend Routes:"})," ",(0,d.jsx)(e.code,{children:"CityBrainsStoryBuilder/backend/routes/support_routes.py"})]}),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.strong,{children:"Route Registration:"})," ",(0,d.jsx)(e.code,{children:"CityBrainsStoryBuilder/backend/main.py"})," (cloud mode only)"]}
1),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.strong,{children:"Full Documentation:"})," ",(0,d.jsx)(e.a,{href:"/internal/infrastructure/phase-o/co-browsing-support",children:"Co-Browsing Support Guide"})]}),"\n"]}),"\n",(0,d.jsx)(e.h3,{id:i[115].id,children:i[115].value}),"\n",(0,d.jsxs)(e.ul,{children:["\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.a,{href:"/internal/infrastructure/phase-o/openreplay-deployment",children:"OpenReplay Deployment"})," - Infrastructure setup"]}),"\n",(0,d.jsxs)(e.li,{children:[(0,d.jsx)(e.a,{href:"/internal/architecture/tier-enforcement",children:"Tier Enforcement"})," - Feature gate definitions"]}),"\n"]})]})},"/developer/api-reference",{filePath:"pages/developer/api-reference.mdx",pageMap:h.O,frontMatter:{title:"REST API Reference",description:"Complete REST API endpoint documentation for the StudioBrain backend",tags:["api","rest","developer","reference","tier","entities"],audience:"developer",platforms:["web","cloud","selfhosted"],updated:"2026-09-12",ticket:"SBAI-3188, SBAI-3469, SBAI-9392, SBAI-10525"},title:"REST API Reference"},"undefined"==typeof RemoteContent?c:RemoteContent.useTOC)},84240:(s,i,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/developer/api-reference",function(){return e(14945)}])}},s=>{s.O(0,[1807,3182,636,6593,8792],()=>s(s.s=84240)),_N_E=s.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.