List assignable roles
curl --request GET \
--url https://api.langdock.com/user-management/v1/roles \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/user-management/v1/roles"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.langdock.com/user-management/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.langdock.com/user-management/v1/roles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/user-management/v1/roles"
req, _ := http.NewRequest("GET", 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))
}HttpResponse<String> response = Unirest.get("https://api.langdock.com/user-management/v1/roles")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/user-management/v1/roles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"roles": [
{
"id": "member",
"kind": "system",
"name": "Member",
"description": ""
},
{
"id": "editor",
"kind": "system",
"name": "Editor",
"description": ""
},
{
"id": "admin",
"kind": "system",
"name": "Admin",
"description": ""
},
{
"id": "33333333-3333-4333-8333-333333333333",
"kind": "custom",
"name": "Support lead",
"description": "Can view analytics and governance"
}
]
}{
"message": "User not found or not an active member"
}{
"message": "Insufficient API key permissions.",
"error": "INSUFFICIENT_SCOPES",
"details": {
"required": [
"USER_MANAGEMENT_API"
],
"missing": [
"USER_MANAGEMENT_API"
]
}
}{
"message": "User not found or not an active member"
}User Management API
Rollen auflisten
Liste die Systemrollen und benutzerdefinierten Rollen auf, die du mit der User Management API zuweisen kannst
GET
/
user-management
/
v1
/
roles
List assignable roles
curl --request GET \
--url https://api.langdock.com/user-management/v1/roles \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.langdock.com/user-management/v1/roles"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.langdock.com/user-management/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.langdock.com/user-management/v1/roles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.langdock.com/user-management/v1/roles"
req, _ := http.NewRequest("GET", 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))
}HttpResponse<String> response = Unirest.get("https://api.langdock.com/user-management/v1/roles")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.langdock.com/user-management/v1/roles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"roles": [
{
"id": "member",
"kind": "system",
"name": "Member",
"description": ""
},
{
"id": "editor",
"kind": "system",
"name": "Editor",
"description": ""
},
{
"id": "admin",
"kind": "system",
"name": "Admin",
"description": ""
},
{
"id": "33333333-3333-4333-8333-333333333333",
"kind": "custom",
"name": "Support lead",
"description": "Can view analytics and governance"
}
]
}{
"message": "User not found or not an active member"
}{
"message": "Insufficient API key permissions.",
"error": "INSUFFICIENT_SCOPES",
"details": {
"required": [
"USER_MANAGEMENT_API"
],
"missing": [
"USER_MANAGEMENT_API"
]
}
}{
"message": "User not found or not an active member"
}Mit diesem Endpunkt listest du die Systemrollen und die benutzerdefinierten Rollen auf, die du mit Nutzerrolle ändern zuweisen kannst. Namen benutzerdefinierter Rollen sind nicht eindeutig. Nimm beim Zuweisen die
id.
Der Aufruf ist über den USER_MANAGEMENT_API Scope des Workspace-API-Schlüssels autorisiert. Er läuft nicht als die Person, die den Schlüssel erstellt hat, und funktioniert weiter, wenn dieser Admin den Workspace verlässt.
Basis-URL
https://api.langdock.com/user-management/v1/roles
Dedicated DeploymentsErsetze
api.langdock.com durch <your-deployment-url>/api/public in allen Anfragen.Voraussetzungen
- API-Schlüssel mit dem Scope
USER_MANAGEMENT_API - Der API-Schlüssel muss von einem Workspace-Admin erstellt worden sein
Verhalten
- Zuerst kommen die Systemrollen, in dieser Reihenfolge:
member,editor,admin.kindistsystem.nameist Member, Editor oder Admin.descriptionist leer.idist dieser kleingeschriebene Rollenname. - Danach folgen die benutzerdefinierten Rollen, die älteste zuerst.
kindistcustom. Gelöschte benutzerdefinierte Rollen fehlen. - Jede Rolle hat
id,kind,nameunddescription. Berechtigungseinstellungen sind nicht enthalten. - Der Aufruf nimmt keine Parameter.
Langdock blockiert bewusst Browser-basierte Anfragen, um deinen API-Schlüssel zu schützen und die Sicherheit deiner Anwendungen zu gewährleisten. Weitere Informationen findest du in unserem Guide zu Best Practices für API-Schlüssel.
War diese Seite hilfreich?