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)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();curl --request PUT \
--url https://api.syllable.cloud/api/v1/roles/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "Prompt Engineer",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete"
],
"id": 1,
"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: 'Prompt Engineer',
permissions: ['prompts_read', 'prompts_write', 'prompts_delete'],
id: 1,
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' => 'Prompt Engineer',
'permissions' => [
'prompts_read',
'prompts_write',
'prompts_delete'
],
'id' => 1,
'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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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": "Prompt Engineer",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete"
],
"id": 1,
"is_system_role": false,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "user@email.com",
"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 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)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();curl --request PUT \
--url https://api.syllable.cloud/api/v1/roles/ \
--header 'Content-Type: application/json' \
--header 'Syllable-API-Key: <api-key>' \
--data '
{
"name": "Prompt Engineer",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete"
],
"id": 1,
"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: 'Prompt Engineer',
permissions: ['prompts_read', 'prompts_write', 'prompts_delete'],
id: 1,
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' => 'Prompt Engineer',
'permissions' => [
'prompts_read',
'prompts_write',
'prompts_delete'
],
'id' => 1,
'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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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\": \"Prompt Engineer\",\n \"permissions\": [\n \"prompts_read\",\n \"prompts_write\",\n \"prompts_delete\"\n ],\n \"id\": 1,\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": "Prompt Engineer",
"permissions": [
"prompts_read",
"prompts_write",
"prompts_delete"
],
"id": 1,
"is_system_role": false,
"last_updated": "2023-11-07T05:31:56Z",
"last_updated_by": "user@email.com",
"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"

