import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.roles.update({
name: "Prompt Engineer",
description: "Role for users who can fetch and change prompts",
permissions: [
"prompts_read",
"prompts_write",
"prompts_delete",
],
id: 1,
lastUpdatedComments: "Updated to add delete permission",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.roles.update(request={
"name": "Prompt Engineer",
"description": "Role for users who can fetch and change prompts",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete",
],
"id": 1,
"last_updated_comments": "Updated to add delete permission",
})
# Handle response
print(res)curl --request PUT \
--url https://api.syllable.cloud/api/v1/roles/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"permissions": [
"<string>"
],
"id": 123,
"description": "Role for users who can fetch and change prompts",
"last_updated_comments": "Updated to add delete permission"
}
'const options = {
method: 'PUT',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
permissions: ['<string>'],
id: 123,
description: 'Role for users who can fetch and change prompts',
last_updated_comments: 'Updated to add delete permission'
})
};
fetch('https://api.syllable.cloud/api/v1/roles/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.syllable.cloud/api/v1/roles/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'permissions' => [
'<string>'
],
'id' => 123,
'description' => 'Role for users who can fetch and change prompts',
'last_updated_comments' => 'Updated to add delete permission'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.syllable.cloud/api/v1/roles/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Syllable-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.syllable.cloud/api/v1/roles/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/roles/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"permissions": [
"<string>"
],
"id": 123,
"is_system_role": true,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"description": "Role for users who can fetch and change prompts",
"last_updated_comments": "Updated to add delete permission"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Update Role
Update an existing role.
import { SyllableSDK } from "syllable-sdk";
const syllableSDK = new SyllableSDK({
apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});
async function run() {
const result = await syllableSDK.roles.update({
name: "Prompt Engineer",
description: "Role for users who can fetch and change prompts",
permissions: [
"prompts_read",
"prompts_write",
"prompts_delete",
],
id: 1,
lastUpdatedComments: "Updated to add delete permission",
});
console.log(result);
}
run();import os
from syllable_sdk import SyllableSDK
with SyllableSDK(
api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:
res = ss_client.roles.update(request={
"name": "Prompt Engineer",
"description": "Role for users who can fetch and change prompts",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete",
],
"id": 1,
"last_updated_comments": "Updated to add delete permission",
})
# Handle response
print(res)curl --request PUT \
--url https://api.syllable.cloud/api/v1/roles/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "<string>",
"permissions": [
"<string>"
],
"id": 123,
"description": "Role for users who can fetch and change prompts",
"last_updated_comments": "Updated to add delete permission"
}
'const options = {
method: 'PUT',
headers: {'Syllable-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
permissions: ['<string>'],
id: 123,
description: 'Role for users who can fetch and change prompts',
last_updated_comments: 'Updated to add delete permission'
})
};
fetch('https://api.syllable.cloud/api/v1/roles/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.syllable.cloud/api/v1/roles/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'permissions' => [
'<string>'
],
'id' => 123,
'description' => 'Role for users who can fetch and change prompts',
'last_updated_comments' => 'Updated to add delete permission'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Syllable-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.syllable.cloud/api/v1/roles/"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Syllable-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.syllable.cloud/api/v1/roles/")
.header("Syllable-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.syllable.cloud/api/v1/roles/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Syllable-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"permissions\": [\n \"<string>\"\n ],\n \"id\": 123,\n \"description\": \"Role for users who can fetch and change prompts\",\n \"last_updated_comments\": \"Updated to add delete permission\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"permissions": [
"<string>"
],
"id": 123,
"is_system_role": true,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "<string>",
"description": "Role for users who can fetch and change prompts",
"last_updated_comments": "Updated to add delete permission"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Body
Request model to update an existing role.
The name of the role.
"Prompt Engineer"
The permissions associated with the role. Available permissions can be found by calling GET /permissions.
[
"prompts_read",
"prompts_write",
"prompts_delete"
]
The internal ID of the role.
1
The description of the role.
"Role for users who can fetch and change prompts"
Comments for the most recent edit to the role.
"Updated to add delete permission"
Response
Successful Response
Information about a role.
The name of the role.
"Prompt Engineer"
The permissions associated with the role. Available permissions can be found by calling GET /permissions.
[
"prompts_read",
"prompts_write",
"prompts_delete"
]
The internal ID of the role.
1
Whether this is a built-in system role that cannot be updated or deleted
false
The timestamp of the most recent update to the role
The email of the user who last updated the role
"user@email.com"
The description of the role.
"Role for users who can fetch and change prompts"
Comments for the most recent edit to the role.
"Updated to add delete permission"

