Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.
Workspace API key created in Erstan Settings. Keys carry scopes (agents:list, agents:read, agents:write, agents:run, runs:read, tasks:execute, documents:read, documents:write, files:read, files:write). Agent access follows the key creator's current workspace, team, and agent permissions. Agent draft creation requires agents:write; update, validation, and publishing require both agents:read and agents:write; draft testing also requires agents:run. Keys with tasks:execute must include at least one allowed project or team (allowedProjectIds / allowedTeamIds); keys with document or file scopes must include at least one allowed team. Empty allowlists mean no access — the API fails closed.
1–200 visible ASCII characters. Reuse with identical content and If-Match after response loss. Committed responses are encrypted and recoverable for 24 hours; expired/pending keys are never blindly reused.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Erstan","colors":{"primary":"#014F42","light":"#9FE6B8","dark":"#014F42"},"logo":{"light":"https://mintcdn.com/erstan/VvzUuagDdyVkLVu5/logo/erstan-logo-dark-green.svg?fit=max\u0026auto=format\u0026n=VvzUuagDdyVkLVu5\u0026q=85\u0026s=5e546035cf1e53cdfc77946c2bdf3c66","dark":"https://mintcdn.com/erstan/VvzUuagDdyVkLVu5/logo/erstan-logo-lime.svg?fit=max\u0026auto=format\u0026n=VvzUuagDdyVkLVu5\u0026q=85\u0026s=ca01feb4483223f570a7fd8249df7a65","href":"https://erstan.com"},"favicon":"https://mintcdn.com/erstan/90e4VGmK3BdnaVpY/favicon.png?fit=max\u0026auto=format\u0026n=90e4VGmK3BdnaVpY\u0026q=85\u0026s=372ce5569552eba1c4e2801e08266ee8","api":{},"navbar":{"primary":{"type":"button","label":"Open Erstan","href":"https://app.erstan.com"}},"footer":{"socials":{"website":"https://erstan.com"}},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"erstan","hasAudioNarration":false,"actualSubdomain":"erstan","customDomains":["docs.erstan.com"],"gitSource":{"type":"github","owner":"erstanai","repo":"erstan-edge-proxy","deployBranch":"main","contentDirectory":"docs-site","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af0fc6a7fb4490a674c8457","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Guides","count":61},{"language":"default","tag":"Developer API","count":55},{"language":"default","tag":"Library","count":33},{"language":"default","tag":"API Reference","count":32},{"language":"default","tag":"Authoring","count":22},{"language":"default","tag":"Connectors","count":20},{"language":"default","tag":"Agents","count":14},{"language":"default","tag":"Apps","count":10},{"language":"default","tag":"Artifacts \u0026 content","count":7},{"language":"default","tag":"Solution Library","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/authoring/update-skill-authoring-content","slug":"/api-reference/authoring/update-skill-authoring-content","pageMetadata":{"title":"update skill authoring content","description":"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/public/authoring/skills/{id}","href":"/api-reference/authoring/update-skill-authoring-content","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"update skill authoring content","description":"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/public/authoring/skills/{id}","href":"/api-reference/authoring/update-skill-authoring-content","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Authoring"],"operationId":"updateAuthoringSkill","summary":"update skill authoring content","description":"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.","parameters":["c7d0ae69-a203-4896-9aa4-b9bdbaf6f223","310b4d8a-e2a3-4b5b-b452-76443e9199c0","c69ca1c7-e5a9-42f1-bdc8-261843ee4650"],"requestBody":"fb4bcfa7-b03d-4448-a582-d0713f16a6e7","responses":{"200":"8b78599f-a54e-4b34-b7e3-faa0bce13098","default":"b06ae5f3-4152-433a-85f2-781861033a62"},"method":"patch","type":"path","servers":["0a1c7d5c-4627-4896-934b-53ae1a62bdcb"],"security":["e8d913a5-3ebf-4170-8e11-0206755e7abf"],"path":"/v1/public/authoring/skills/{id}","baseUrlOptions":["https://api.erstan.com"],"title":"update skill authoring content","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c7d0ae69-a203-4896-9aa4-b9bdbaf6f223":{"name":"id","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"310b4d8a-e2a3-4b5b-b452-76443e9199c0":{"name":"If-Match","in":"header","required":true,"description":"One strong quoted ETag from the content being edited; wildcard and weak tags are rejected.","schema":{"type":"string","isRequired":true,"description":"One strong quoted ETag from the content being edited; wildcard and weak tags are rejected.","uniqueKey":"","typeLabel":"string"}},"c69ca1c7-e5a9-42f1-bdc8-261843ee4650":{"name":"Idempotency-Key","in":"header","required":true,"description":"1–200 visible ASCII characters. Reuse with identical content and If-Match after response loss. Committed responses are encrypted and recoverable for 24 hours; expired/pending keys are never blindly reused.","schema":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"description":"1–200 visible ASCII characters. Reuse with identical content and If-Match after response loss. Committed responses are encrypted and recoverable for 24 hours; expired/pending keys are never blindly reused.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["packageJson"],"properties":{"packageJson":{"type":"object","required":["version","entryPath","files","actions"],"properties":{"version":{"type":"integer","const":1,"isRequired":true,"uniqueKey":"packageJson.version","typeLabel":"integer"},"entryPath":{"type":"string","const":"SKILL.md","isRequired":true,"uniqueKey":"packageJson.entryPath","typeLabel":"string"},"files":{"type":"array","items":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","isRequired":true,"uniqueKey":"packageJson.files.items.[INDEX].path","typeLabel":"string"},"content":{"type":"string","isRequired":true,"uniqueKey":"packageJson.files.items.[INDEX].content","typeLabel":"string"},"language":{"oneOf":[{"type":"string","uniqueKey":"packageJson.files.items.[INDEX].language.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"packageJson.files.items.[INDEX].language.oneOf.1","typeLabel":"null"}],"uniqueKey":"packageJson.files.items.[INDEX].language","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"packageJson.files.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"packageJson.files","typeLabel":"object[]"},"actions":{"type":"array","items":{"type":"object","required":["key","title","runtime","entryPath","language","sideEffects"],"properties":{"key":{"type":"string","isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].key","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].title","typeLabel":"string"},"runtime":{"type":"string","enum":["e2b"],"isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].runtime","typeLabel":"enum\u003cstring>"},"entryPath":{"type":"string","isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].entryPath","typeLabel":"string"},"language":{"type":"string","enum":["javascript","python"],"isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].language","typeLabel":"enum\u003cstring>"},"sideEffects":{"type":"string","enum":["none","external"],"isRequired":true,"uniqueKey":"packageJson.actions.items.[INDEX].sideEffects","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","uniqueKey":"packageJson.actions.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"packageJson.actions.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"packageJson.actions.items.[INDEX].description","typeLabel":"string | null"},"timeoutMs":{"oneOf":[{"type":"integer","minimum":1,"uniqueKey":"packageJson.actions.items.[INDEX].timeoutMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"uniqueKey":"packageJson.actions.items.[INDEX].timeoutMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"packageJson.actions.items.[INDEX].timeoutMs","typeLabel":"integer | null"}},"additionalProperties":true,"uniqueKey":"packageJson.actions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"packageJson.actions","typeLabel":"object[]"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"packageJson","typeLabel":"object"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"packageJson":{"version":1,"entryPath":"SKILL.md","files":[{"path":"\u003cstring>","content":"\u003cstring>","language":"\u003cstring>"}],"actions":[{"key":"\u003cstring>","title":"\u003cstring>","runtime":"e2b","entryPath":"\u003cstring>","description":"\u003cstring>","timeoutMs":2}]},"name":"\u003cstring>","description":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8b78599f-a54e-4b34-b7e3-faa0bce13098":{"description":"Success.","headers":{"ETag":{"description":"Strong current authoring revision. Preserve with its content.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["skill"],"properties":{"skill":{"type":"object","required":["name","description","packageJson","id","workspaceId","teamId","packageName","slug","instructions","status","revision","currentVersion","publishedVersion","hasDraft","visibility","sourceType","updatedAt","permissions"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"skill.name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"skill.description.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"skill.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"skill.description","typeLabel":"string | null"},"packageJson":{"type":"object","required":["version","entryPath","files","actions"],"properties":{"version":{"type":"integer","const":1,"isRequired":true,"uniqueKey":"skill.packageJson.version","typeLabel":"integer"},"entryPath":{"type":"string","const":"SKILL.md","isRequired":true,"uniqueKey":"skill.packageJson.entryPath","typeLabel":"string"},"files":{"type":"array","items":{"type":"object","required":["path","content"],"properties":{"path":{"type":"string","isRequired":true,"uniqueKey":"skill.packageJson.files.items.[INDEX].path","typeLabel":"string"},"content":{"type":"string","isRequired":true,"uniqueKey":"skill.packageJson.files.items.[INDEX].content","typeLabel":"string"},"language":{"oneOf":[{"type":"string","uniqueKey":"skill.packageJson.files.items.[INDEX].language.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"skill.packageJson.files.items.[INDEX].language.oneOf.1","typeLabel":"null"}],"uniqueKey":"skill.packageJson.files.items.[INDEX].language","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"skill.packageJson.files.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"skill.packageJson.files","typeLabel":"object[]"},"actions":{"type":"array","items":{"type":"object","required":["key","title","runtime","entryPath","language","sideEffects"],"properties":{"key":{"type":"string","isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].key","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].title","typeLabel":"string"},"runtime":{"type":"string","enum":["e2b"],"isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].runtime","typeLabel":"enum\u003cstring>"},"entryPath":{"type":"string","isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].entryPath","typeLabel":"string"},"language":{"type":"string","enum":["javascript","python"],"isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].language","typeLabel":"enum\u003cstring>"},"sideEffects":{"type":"string","enum":["none","external"],"isRequired":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX].sideEffects","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","uniqueKey":"skill.packageJson.actions.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"skill.packageJson.actions.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"skill.packageJson.actions.items.[INDEX].description","typeLabel":"string | null"},"timeoutMs":{"oneOf":[{"type":"integer","minimum":1,"uniqueKey":"skill.packageJson.actions.items.[INDEX].timeoutMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"uniqueKey":"skill.packageJson.actions.items.[INDEX].timeoutMs.oneOf.1","typeLabel":"null"}],"uniqueKey":"skill.packageJson.actions.items.[INDEX].timeoutMs","typeLabel":"integer | null"}},"additionalProperties":true,"uniqueKey":"skill.packageJson.actions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"skill.packageJson.actions","typeLabel":"object[]"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"skill.packageJson","typeLabel":"object"},"id":{"type":"string","isRequired":true,"uniqueKey":"skill.id","typeLabel":"string"},"workspaceId":{"type":"string","isRequired":true,"uniqueKey":"skill.workspaceId","typeLabel":"string"},"teamId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"skill.teamId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"skill.teamId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"skill.teamId","typeLabel":"string | null"},"packageName":{"type":"string","isRequired":true,"uniqueKey":"skill.packageName","typeLabel":"string"},"slug":{"type":"string","isRequired":true,"uniqueKey":"skill.slug","typeLabel":"string"},"instructions":{"type":"string","isRequired":true,"uniqueKey":"skill.instructions","typeLabel":"string"},"status":{"type":"string","isRequired":true,"uniqueKey":"skill.status","typeLabel":"string"},"revision":{"type":"string","isRequired":true,"uniqueKey":"skill.revision","typeLabel":"string"},"currentVersion":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"skill.currentVersion","typeLabel":"integer"},"publishedVersion":{"oneOf":[{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"skill.publishedVersion.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"isRequired":true,"uniqueKey":"skill.publishedVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"skill.publishedVersion","typeLabel":"integer | null"},"hasDraft":{"type":"boolean","isRequired":true,"uniqueKey":"skill.hasDraft","typeLabel":"boolean"},"visibility":{"type":"string","isRequired":true,"uniqueKey":"skill.visibility","typeLabel":"string"},"sourceType":{"type":"string","isRequired":true,"uniqueKey":"skill.sourceType","typeLabel":"string"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"skill.updatedAt","typeLabel":"string\u003cdate-time>"},"permissions":{"type":"object","required":["effectiveRole","canView","canEdit"],"properties":{"effectiveRole":{"type":"string","isRequired":true,"uniqueKey":"skill.permissions.effectiveRole","typeLabel":"string"},"canView":{"type":"boolean","isRequired":true,"uniqueKey":"skill.permissions.canView","typeLabel":"boolean"},"canEdit":{"type":"boolean","isRequired":true,"uniqueKey":"skill.permissions.canEdit","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"skill.permissions","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"skill","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"skill":{"name":"\u003cstring>","description":"\u003cstring>","packageJson":{"version":1,"entryPath":"SKILL.md","files":[{"path":"\u003cstring>","content":"\u003cstring>","language":"\u003cstring>"}],"actions":[{"key":"\u003cstring>","title":"\u003cstring>","runtime":"e2b","entryPath":"\u003cstring>","language":"javascript","sideEffects":"none","description":"\u003cstring>","timeoutMs":2}]},"id":"\u003cstring>","workspaceId":"\u003cstring>","teamId":"\u003cstring>","packageName":"\u003cstring>","slug":"\u003cstring>","instructions":"\u003cstring>","status":"\u003cstring>","revision":"\u003cstring>","currentVersion":2,"publishedVersion":2,"hasDraft":true,"visibility":"\u003cstring>","sourceType":"\u003cstring>","updatedAt":"2023-11-07T05:31:56Z","permissions":{"effectiveRole":"\u003cstring>","canView":true,"canEdit":true}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b06ae5f3-4152-433a-85f2-781861033a62":{"description":"Public error envelope. Missing If-Match: 428; stale revision: 412; idempotency conflict, expired receipt or uncertain outcome: 409. Do not retry conflicts with new intent.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"error.details","typeLabel":"object[]"},"requestId":{"type":"string","uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":[{"code":"\u003cstring>","message":"\u003cstring>","field":"\u003cstring>"}],"requestId":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e8d913a5-3ebf-4170-8e11-0206755e7abf":{"PublicApiKey":{"type":"http","scheme":"bearer","bearerFormat":"ers_live API key","description":"Workspace API key created in Erstan Settings. Keys carry scopes (`agents:list`, `agents:read`, `agents:write`, `agents:run`, `runs:read`, `tasks:execute`, `documents:read`, `documents:write`, `files:read`, `files:write`). Agent access follows the key creator's current workspace, team, and agent permissions. Agent draft creation requires `agents:write`; update, validation, and publishing require both `agents:read` and `agents:write`; draft testing also requires `agents:run`. Keys with `tasks:execute` must include at least one allowed project or team (`allowedProjectIds` / `allowedTeamIds`); keys with document or file scopes must include at least one allowed team. Empty allowlists mean no access — the API fails closed.","scopes":[],"schemeName":"PublicApiKey"}}},"servers":{"0a1c7d5c-4627-4896-934b-53ae1a62bdcb":{"url":"https://api.erstan.com","description":"Public endpoint"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"ers_live API key","description":"Workspace API key created in Erstan Settings. Keys carry scopes (`agents:list`, `agents:read`, `agents:write`, `agents:run`, `runs:read`, `tasks:execute`, `documents:read`, `documents:write`, `files:read`, `files:write`). Agent access follows the key creator's current workspace, team, and agent permissions. Agent draft creation requires `agents:write`; update, validation, and publishing require both `agents:read` and `agents:write`; draft testing also requires `agents:run`. Keys with `tasks:execute` must include at least one allowed project or team (`allowedProjectIds` / `allowedTeamIds`); keys with document or file scopes must include at least one allowed team. Empty allowlists mean no access — the API fails closed.","scopes":[],"schemeName":"PublicApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Workspace API key created in Erstan Settings. Keys carry scopes (`agents:list`, `agents:read`, `agents:write`, `agents:run`, `runs:read`, `tasks:execute`, `documents:read`, `documents:write`, `files:read`, `files:write`). Agent access follows the key creator's current workspace, team, and agent permissions. Agent draft creation requires `agents:write`; update, validation, and publishing require both `agents:read` and `agents:write`; draft testing also requires `agents:run`. Keys with `tasks:execute` must include at least one allowed project or team (`allowedProjectIds` / `allowedTeamIds`); keys with document or file scopes must include at least one allowed team. Empty allowlists mean no access — the API fails closed.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"PublicApiKey","name":"Authorization"}],"title":"PublicApiKey"}]},"originalFileLocation":"openapi/public-api.yaml"},"subdomain":"erstan","siteName":"Erstan","title":"update skill authoring content - Erstan","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T03:56:30.232Z","originalFileLocation":"api-reference/authoring/update-skill-authoring-content.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Erstan\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"update skill authoring content - Erstan\">\u003cmeta data-mint-head property=\"og:description\" content=\"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Erstan\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://erstan.mintlify.site/_mintlify/api/og/v2?division=Authoring\u0026amp;title=update+skill+authoring+content\u0026amp;description=Requires+the+stagedAuthoring+workspace+capability.+Reads+require+agents%3Aread%3B+lists+also+require+agents%3Alist%3B+writes+and+validation+require+agents%3Aread+plus+age\u0026amp;theme=d5f074132cb505cc1c51c064\u0026amp;signature=6c82fbf20734f448a84976e3bf451e690c48f339bb0bc67c58b94d2cb8ac5964\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"update skill authoring content - Erstan\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://erstan.mintlify.site/_mintlify/api/og/v2?division=Authoring\u0026amp;title=update+skill+authoring+content\u0026amp;description=Requires+the+stagedAuthoring+workspace+capability.+Reads+require+agents%3Aread%3B+lists+also+require+agents%3Alist%3B+writes+and+validation+require+agents%3Aread+plus+age\u0026amp;theme=d5f074132cb505cc1c51c064\u0026amp;signature=6c82fbf20734f448a84976e3bf451e690c48f339bb0bc67c58b94d2cb8ac5964\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/erstan/MwYdsb4xVRPeMTB_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Erstan\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#014F42\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authoring/update-skill-authoring-content.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.erstan.com/#organization\",\"name\":\"Erstan\",\"url\":\"https://docs.erstan.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/erstan/VvzUuagDdyVkLVu5/logo/erstan-logo-dark-green.svg?fit=max\u0026auto=format\u0026n=VvzUuagDdyVkLVu5\u0026q=85\u0026s=5e546035cf1e53cdfc77946c2bdf3c66\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.erstan.com#website\",\"name\":\"Erstan\",\"url\":\"https://docs.erstan.com\",\"publisher\":{\"@id\":\"https://docs.erstan.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content#webpage\",\"url\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content\",\"name\":\"update skill authoring content\",\"description\":\"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\",\"dateModified\":\"2026-11-02T03:56:30.232Z\",\"isPartOf\":{\"@id\":\"https://docs.erstan.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.erstan.com/api-reference/authoring/preview-the-exact-guarded-draft\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authoring\",\"item\":\"https://docs.erstan.com/api-reference/authoring/preview-the-exact-guarded-draft\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"update skill authoring content\",\"item\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content#apireference\",\"headline\":\"update skill authoring content\",\"name\":\"update skill authoring content\",\"description\":\"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.\",\"url\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content\",\"mainEntityOfPage\":{\"@id\":\"https://docs.erstan.com/api-reference/authoring/update-skill-authoring-content#webpage\"},\"dateModified\":\"2026-11-02T03:56:30.232Z\",\"publisher\":{\"@id\":\"https://docs.erstan.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.erstan.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Erstan\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Erstan","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"Library","icon":"layout-grid","pages":[{"title":"Library","href":"/library"}]},{"tab":"Tools","icon":"wrench","pages":[{"title":"Tools","href":"/tools/overview"}]},{"tab":"Connectors","icon":"plug","pages":[{"title":"Connectors","href":"/connectors/overview"}]},{"tab":"Developer API","icon":"code","groups":[{"group":"Developer API","pages":[{"title":"Erstan Developer API","icon":"code","href":"/developers"},{"title":"Quickstart","icon":"rocket","href":"/developers/quickstart"},{"title":"API Keys","icon":"key-round","href":"/developers/api-keys"},{"title":"Run Agents","icon":"play","href":"/developers/run-agents"},{"title":"Connect a Coding Agent","icon":"bot","href":"/developers/connect-coding-agent"},{"title":"Build agents over MCP","icon":"workflow","href":"/developers/build-agents"},{"title":"NetSuite OCR Quote Intake","icon":"scan-text","href":"/developers/netsuite-ocr-quote-intake"},{"title":"Rate limits","icon":"gauge","href":"/billing/rate-limits"},{"title":"Errors","icon":"triangle-alert","href":"/developers/errors"}]},{"group":"JavaScript SDK (beta)","pages":[{"title":"JavaScript SDK quickstart","icon":"code","href":"/developers/sdk-quickstart"},{"title":"JavaScript SDK reference","icon":"book-open","href":"/developers/sdk-reference"},{"title":"SDK examples and private repositories","icon":"folder-code","href":"/developers/sdk-examples"}]},{"group":"Partners","pages":[{"title":"Partner Content Model","icon":"boxes","href":"/developers/partner-content-model"},{"title":"Partner Submission Checklist","icon":"clipboard-check","href":"/developers/partner-submission-checklist"}]},{"group":"API Reference","pages":[{"group":"Authoring","pages":[{"title":"Preview the exact guarded draft","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/agents/{id}/previews","href":"/api-reference/authoring/preview-the-exact-guarded-draft"},{"title":"Inspect workspace, scopes and authoring capabilities","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/context","href":"/api-reference/authoring/inspect-workspace-scopes-and-authoring-capabilities"},{"title":"list agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/agents","href":"/api-reference/authoring/list-agent-authoring-content"},{"title":"create agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/agents","href":"/api-reference/authoring/create-agent-authoring-content"},{"title":"get agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/agents/{id}","href":"/api-reference/authoring/get-agent-authoring-content"},{"title":"update agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/public/authoring/agents/{id}","href":"/api-reference/authoring/update-agent-authoring-content"},{"title":"listVersions agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/agents/{id}/versions","href":"/api-reference/authoring/listversions-agent-authoring-content"},{"title":"getVersion agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/agents/{id}/versions/{version}","href":"/api-reference/authoring/getversion-agent-authoring-content"},{"title":"validate agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/agents/validate","href":"/api-reference/authoring/validate-agent-authoring-content"},{"title":"publish agent authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/agents/{id}/publish","href":"/api-reference/authoring/publish-agent-authoring-content"},{"title":"list skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/skills","href":"/api-reference/authoring/list-skill-authoring-content"},{"title":"create skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/skills","href":"/api-reference/authoring/create-skill-authoring-content"},{"title":"get skill authoring content","description":"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/skills/{id}","href":"/api-reference/authoring/get-skill-authoring-content"},{"title":"update skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/public/authoring/skills/{id}","href":"/api-reference/authoring/update-skill-authoring-content"},{"title":"listVersions skill authoring content","description":"Requires the stagedAuthoring workspace capability. Reads require agents:read; lists also require agents:list; writes and validation require agents:read plus agents:write. Saving stages content; publication is a separate operation. Current permissions are checked again on every retry. Multi-resource operations are not atomic.","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/skills/{id}/versions","href":"/api-reference/authoring/listversions-skill-authoring-content"},{"title":"getVersion skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/skills/{id}/versions/{version}","href":"/api-reference/authoring/getversion-skill-authoring-content"},{"title":"validate skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/skills/validate","href":"/api-reference/authoring/validate-skill-authoring-content"},{"title":"publish skill authoring content","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/authoring/skills/{id}/publish","href":"/api-reference/authoring/publish-skill-authoring-content"},{"title":"Read live authoring nodes","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/catalog/nodes","href":"/api-reference/authoring/read-live-authoring-nodes"},{"title":"Read live authoring tools","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/catalog/tools","href":"/api-reference/authoring/read-live-authoring-tools"},{"title":"Read live authoring skills","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/catalog/skills","href":"/api-reference/authoring/read-live-authoring-skills"},{"title":"Read live authoring guide","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/authoring/guide","href":"/api-reference/authoring/read-live-authoring-guide"}]},{"group":"Runs","pages":[{"title":"Read durable run trace","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/runs/{runId}/trace","href":"/api-reference/runs/read-durable-run-trace"},{"title":"Get run","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/runs/{runId}","href":"/api-reference/runs/get-run"},{"title":"Cancel a run","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/runs/{runId}/cancel","href":"/api-reference/runs/cancel-a-run"},{"title":"Send a follow-up turn to a terminal run","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/runs/{runId}/continue","href":"/api-reference/runs/send-a-follow-up-turn-to-a-terminal-run"},{"title":"Reply to a waiting run","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/runs/{runId}/reply","href":"/api-reference/runs/reply-to-a-waiting-run"},{"title":"Decide a waiting run approval","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/runs/{runId}/approval","href":"/api-reference/runs/decide-a-waiting-run-approval"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/agents","href":"/api-reference/agents/list-agents"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/public/agents/{agentId}","href":"/api-reference/agents/get-agent"},{"title":"Start agent run","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/public/agents/{agentId}/runs","href":"/api-reference/agents/start-agent-run"}]},{"group":"MCP","pages":[{"title":"MCP endpoint","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/mcp","href":"/api-reference/mcp/mcp-endpoint"}]}]}]},{"tab":"Changelog","icon":"history","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"update skill authoring content - Erstan","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}