Creates a private skill for an agent.

POSThttps://api.awork.com/api/v1/agents/{agentId}/skills
POST https://api.awork.com/api/v1/agents/{agentId}/skills

Creates a private skill owned by the agent and links the new skill to that agent.

Authentication

AuthorizationBearer

Send your token in the Authorization: Bearer <token> header. See Authentication for API keys and OAuth.

Path parameters

agentIdstringRequired
format: uuid

The owning agent id.

Request body Required

The name and content of the new skill.

application/json

tagIdsarray of string or nullOptional
maxItems: 100

Existing workspace tags to preserve on a user-requested copy. New items use an empty selection.

keystring or nullOptional
maxLength: 100

The stable key used to reference the skill.

namestringRequired
minLength: 1 maxLength: 255

The name shown in the skill library.

descriptionstring or nullOptional
maxLength: 1024

A short explanation of what the skill does.

instructionsstringRequired
minLength: 1

The Markdown instruction body from SKILL.md.

instructionsSourcestring or nullOptional

The source from which the instructions were created.

metadatastring or nullOptional

The skill frontmatter as a JSON object.

Responses

200 OK

application/json

isOfficialbooleanOptional

Whether a workspace admin marked this item as official. False when metadata is disabled.

tagsarray of object or nullOptional

The canonical AI tags. Empty when metadata is disabled.

Show 4 properties
idstringOptional
format: uuid

The stable identifier of this workspace tag.

namestring or nullOptional

The shared display name.

colorstring or nullOptional

The shared display color.

assignmentCountinteger or nullOptional
format: int32

The number of active agents, skills, prompts, and connectors that use this tag. Only set by the tag list.

canEditTagsbooleanOptional

Whether the current viewer can replace this item's tags.

canSetOfficialbooleanOptional

Whether the current viewer can change this item's official status.

idstringOptional
format: uuid

The skill identifier.

createdBystringOptional
format: uuid

The user who created the skill.

createdOnstringOptional
format: date-time

When the skill was created.

updatedOnstring or nullOptional
format: date-time

When the skill was last updated.

keystring or nullOptional

The stable key used to reference the skill.

namestring or nullOptional

The name shown in the skill library.

descriptionstring or nullOptional

A short explanation of what the skill does.

instructionsstring or nullOptional

The Markdown instruction body from SKILL.md.

instructionsSourcestring or nullOptional

The source from which the instructions were created.

typestringOptional

Allowed: "user" "agent"

The ownership type.

userIdstring or nullOptional
format: uuid

The owning user for a user-owned skill.

agentIdstring or nullOptional
format: uuid

The owning agent for an agent-owned skill.

accessLevelstringOptional

Allowed: "read" "manage"

The requesting user's resolved access level.

isOwnerbooleanOptional

Whether the requesting user owns the skill.

hasAdminAccessOnlybooleanOptional

Whether the skill is visible only through workspace administration access.

workspaceAccessLevelstring or nullOptional

Allowed: "read" "manage"

The workspace-wide access level.

linkedAgentCountintegerOptional
format: int32

The number of linked agents.

metadatastring or nullOptional

The skill frontmatter as a JSON object.

hasFilesbooleanOptional

Whether the skill includes bundled files.

secretRequirementsarray of object or nullOptional

The secrets that the skill declares.

Show 6 properties
idstringOptional
format: uuid

The secret requirement identifier.

envVarNamestring or nullOptional

The environment variable name the secret is injected as.

descriptionstring or nullOptional

The description shown to users when providing the secret.

scopestringOptional

Allowed: "workspace" "user"

Who must provide the secret value.

isRequiredbooleanOptional

Whether the secret is required for the skill to work.

hasValuebooleanOptional

Whether a value is available for the requesting user.

400 Bad Request

application/json

codestringRequired
minLength: 1

The error code.

descriptionstringRequired
minLength: 1

The description of the error.

linkstringRequired
minLength: 1

The link to the API documentation page.

detailsarray of string or nullOptional

A list of details describing the error.

validationErrorsarray of object or nullOptional

If a validation error occurred, this contains the validation errors for each property.

Show 2 properties
propertystring or nullOptional

The name of the property that failed validation.

messagestring or nullOptional

The reason why this property failed validation.

traceIdstring or nullOptional

The request trace id for tracking the request.

401 Unauthorized

application/json

codestringRequired
minLength: 1

The error code.

descriptionstringRequired
minLength: 1

The description of the error.

linkstringRequired
minLength: 1

The link to the API documentation page.

detailsarray of string or nullOptional

A list of details describing the error.

validationErrorsarray of object or nullOptional

If a validation error occurred, this contains the validation errors for each property.

Show 2 properties
propertystring or nullOptional

The name of the property that failed validation.

messagestring or nullOptional

The reason why this property failed validation.

traceIdstring or nullOptional

The request trace id for tracking the request.

404 Not Found

application/json

codestringRequired
minLength: 1

The error code.

descriptionstringRequired
minLength: 1

The description of the error.

linkstringRequired
minLength: 1

The link to the API documentation page.

detailsarray of string or nullOptional

A list of details describing the error.

validationErrorsarray of object or nullOptional

If a validation error occurred, this contains the validation errors for each property.

Show 2 properties
propertystring or nullOptional

The name of the property that failed validation.

messagestring or nullOptional

The reason why this property failed validation.

traceIdstring or nullOptional

The request trace id for tracking the request.

Search documentation