curl --request POST \
--url https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable")
.header("Authorization", "Bearer <token>")
.asString();{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"spaceId": "<string>",
"name": "<string>",
"description": "<string>",
"slug": "<string>",
"source": "manual",
"sourceUrl": "<string>",
"enabled": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"instructions": "<string>"
}Enable a skill
Enable a skill for the whole space, so the AI loads it whenever its description matches the task. Skills are enabled by default when created; use this to revert a Disable. A space can have at most 40 active skills — enabling beyond that returns 409. Individual users can still override the space-wide state for themselves in the nuwacom app.
curl --request POST \
--url https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable \
--header 'Authorization: Bearer <token>'const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://{customer-tenant}.nuwacom.ai/api/v1/spaces/{spaceId}/skills/{skillId}/enable")
.header("Authorization", "Bearer <token>")
.asString();{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"spaceId": "<string>",
"name": "<string>",
"description": "<string>",
"slug": "<string>",
"source": "manual",
"sourceUrl": "<string>",
"enabled": true,
"createdAt": "<string>",
"updatedAt": "<string>",
"instructions": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the space the skill belongs to.
2 - 6Unique ID of the skill.
Response
Skill enabled successfully.
Unique ID of the skill. Use it to attach the skill to agents.
ID of the space the skill belongs to.
2 - 6URL-safe, immutable identifier generated from the initial name.
How the skill was created. Skills created via this API have source "manual".
manual, upload, github, ai_generated Source URL for skills imported from GitHub, null otherwise.
Space-wide activation state. Disabled skills are not loaded by the AI for anyone in the space (users can still override this for themselves in the nuwacom app). Toggle it via Enable a skill and Disable a skill.
Markdown instructions from the body of the skill's SKILL.md file. null when the file cannot be read.