import requests
url = "https://api.datagrid.com/v1/skills/{skill_id}"
payload = {
"name": "<string>",
"slash_key": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": ["<string>"],
"preferred_tools": ["<string>"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
slash_key: '<string>',
description: '<string>',
instructions: '<string>',
required_tools: ['<string>'],
preferred_tools: ['<string>'],
enabled: true
})
};
fetch('https://api.datagrid.com/v1/skills/{skill_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PATCH \
--url https://api.datagrid.com/v1/skills/{skill_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slash_key": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": [
"<string>"
],
"preferred_tools": [
"<string>"
],
"enabled": true
}
'{
"object": "skill",
"id": "<string>",
"scope": "user",
"category": "document_analysis",
"slash_key": "<string>",
"name": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": [
"<string>"
],
"preferred_tools": [
"<string>"
],
"enabled": true,
"account_id": "<string>",
"builtin_key": "<string>",
"promoted_at": "2023-11-07T05:31:56Z",
"creator_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"status_code": 123,
"error": "rate_limit_exceeded",
"message": "<string>",
"retryable": true,
"statusCode": 123,
"mitigation": "<string>",
"details": {
"reason": "<string>"
}
}Update skill
Update a skill. Requires an API key with ep:skills:write whose user administers skills in the account. A shared (account-scope) skill may be updated by any skill administrator; a private (user-scope) skill only by its author. Built-in skills and company copies of them cannot have their content edited, but a skill administrator may set enabled on one to enable or disable it for the whole company. The global built-in row is never changed; the response carries your company’s state.
import requests
url = "https://api.datagrid.com/v1/skills/{skill_id}"
payload = {
"name": "<string>",
"slash_key": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": ["<string>"],
"preferred_tools": ["<string>"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
slash_key: '<string>',
description: '<string>',
instructions: '<string>',
required_tools: ['<string>'],
preferred_tools: ['<string>'],
enabled: true
})
};
fetch('https://api.datagrid.com/v1/skills/{skill_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request PATCH \
--url https://api.datagrid.com/v1/skills/{skill_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"slash_key": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": [
"<string>"
],
"preferred_tools": [
"<string>"
],
"enabled": true
}
'{
"object": "skill",
"id": "<string>",
"scope": "user",
"category": "document_analysis",
"slash_key": "<string>",
"name": "<string>",
"description": "<string>",
"instructions": "<string>",
"required_tools": [
"<string>"
],
"preferred_tools": [
"<string>"
],
"enabled": true,
"account_id": "<string>",
"builtin_key": "<string>",
"promoted_at": "2023-11-07T05:31:56Z",
"creator_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"status_code": 123,
"error": "rate_limit_exceeded",
"message": "<string>",
"retryable": true,
"statusCode": 123,
"mitigation": "<string>",
"details": {
"reason": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the skill to update.
Body
Display name of the skill.
255The slash command key. Must use lowercase letters, digits, and single dashes, start and end with a letter or digit, and be unique within the scope.
1 - 64^(?!.*--)[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$Short description. Pass an empty string to clear it and re-enable AI generation.
1000The full instructions / system prompt.
Category bucket.
document_analysis, construction_project_management, financial_analysis, estimation, quality_and_safety, scheduling, contracts_and_legal, data_and_reporting, research, communication, general_productivity Tool identifiers required by this skill.
Tool identifiers preferred by this skill.
Whether the skill is active.
Response
Updated skill
The object type, always 'skill'.
skill Unique identifier for the skill.
Privacy scope. user = Private (author only), account = Public within the company, teamspace = deprecated legacy Public value retained only for compatibility, and builtin = global default. New skills never use teamspace; changing its privacy or assignments normalizes it.
user, account, teamspace, builtin Category bucket for grouping in the skill picker.
document_analysis, construction_project_management, financial_analysis, estimation, quality_and_safety, scheduling, contracts_and_legal, data_and_reporting, research, communication, general_productivity The slash command key used to invoke this skill (e.g. budget-check).
Display name of the skill.
Short description shown in the skill picker.
The full instructions / system prompt for this skill.
Tool identifiers that this skill requires to function.
Tool identifiers that this skill works best with.
Whether the skill is active and available for selection. For a built-in skill, false when your company disabled it.
The account (company) that owns this skill. null for user-scope and builtin skills.
For built-in skills and company copies of them: the identifier of the built-in. null for user-authored skills.
ISO timestamp when this skill was promoted to company scope. null for user-scope skills.
ID of the user who created this skill. null for built-in skills that have never been edited.
ISO timestamp when this skill was created.
ISO timestamp when this skill was last updated.