Publish a new skill from markdown
POST
/v1/workspaces/{workspaceId}/skills
const url = 'https://shareout.site/v1/workspaces/example/skills';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","markdown":"example","slug":"example","category":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://shareout.site/v1/workspaces/example/skills \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "markdown": "example", "slug": "example", "category": "example" }'Same publish as POST /v1/publish with artifact_type: "skill", in the shape a form or an agent can send. Visibility is forced to workspace; the skill starts on the workspace’s default edit policy.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”workspaceId
required
string
Workspace ID or slug.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
name
required
string
markdown
required
string
slug
string
category
string
Examplegenerated
{ "name": "example", "markdown": "example", "slug": "example", "category": "example"}Responses
Section titled “Responses”Skill published
Slug already used in this workspace
