curl --request PUT \
--url https://use.hoop.dev/api/serverconfig/auth \
--header 'Content-Type: application/json' \
--data '
{
"auth_method": "local",
"admin_role_name": "admin",
"auditor_role_name": "auditor",
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK"
}
'import requests
url = "https://use.hoop.dev/api/serverconfig/auth"
payload = {
"auth_method": "local",
"admin_role_name": "admin",
"auditor_role_name": "auditor",
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
auth_method: 'local',
admin_role_name: 'admin',
auditor_role_name: 'auditor',
provider_name: 'generic',
rollout_api_key: 'xapi-WqIAoYhKuIv2IPmVkfsyyK'
})
};
fetch('https://use.hoop.dev/api/serverconfig/auth', 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://use.hoop.dev/api/serverconfig/auth",
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([
'auth_method' => 'local',
'admin_role_name' => 'admin',
'auditor_role_name' => 'auditor',
'provider_name' => 'generic',
'rollout_api_key' => 'xapi-WqIAoYhKuIv2IPmVkfsyyK'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://use.hoop.dev/api/serverconfig/auth"
payload := strings.NewReader("{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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://use.hoop.dev/api/serverconfig/auth")
.header("Content-Type", "application/json")
.body("{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/serverconfig/auth")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}"
response = http.request(request)
puts response.read_body{
"auth_method": "local",
"webapp_users_management_status": "active",
"admin_role_name": "admin",
"api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK",
"auditor_role_name": "auditor",
"oidc_config": {
"client_id": "hoop-client-id",
"client_secret": "hoop-client-secret",
"issuer_url": "https://auth.domain.tld/oidc",
"audience": "hoop-audience",
"groups_claim": "groups",
"scopes": [
"openid",
"email",
"profile"
]
},
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK",
"saml_config": {
"idp_metadata_url": "https://auth.domain.tld/saml/metadata",
"groups_claim": "groups",
"resolved_metadata": {
"certificate_expires_at": "2030-01-01T00:00:00Z",
"entity_id": "https://app.onelogin.com/saml/metadata/123456",
"resolved_at": "2026-07-10T12:00:00Z",
"sso_url": "https://mycompany.onelogin.com/trust/saml2/http-post/sso/123456"
}
}
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}Update Authentication Configuration
Update authentication configuration
curl --request PUT \
--url https://use.hoop.dev/api/serverconfig/auth \
--header 'Content-Type: application/json' \
--data '
{
"auth_method": "local",
"admin_role_name": "admin",
"auditor_role_name": "auditor",
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK"
}
'import requests
url = "https://use.hoop.dev/api/serverconfig/auth"
payload = {
"auth_method": "local",
"admin_role_name": "admin",
"auditor_role_name": "auditor",
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
auth_method: 'local',
admin_role_name: 'admin',
auditor_role_name: 'auditor',
provider_name: 'generic',
rollout_api_key: 'xapi-WqIAoYhKuIv2IPmVkfsyyK'
})
};
fetch('https://use.hoop.dev/api/serverconfig/auth', 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://use.hoop.dev/api/serverconfig/auth",
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([
'auth_method' => 'local',
'admin_role_name' => 'admin',
'auditor_role_name' => 'auditor',
'provider_name' => 'generic',
'rollout_api_key' => 'xapi-WqIAoYhKuIv2IPmVkfsyyK'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://use.hoop.dev/api/serverconfig/auth"
payload := strings.NewReader("{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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://use.hoop.dev/api/serverconfig/auth")
.header("Content-Type", "application/json")
.body("{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://use.hoop.dev/api/serverconfig/auth")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"auth_method\": \"local\",\n \"admin_role_name\": \"admin\",\n \"auditor_role_name\": \"auditor\",\n \"provider_name\": \"generic\",\n \"rollout_api_key\": \"xapi-WqIAoYhKuIv2IPmVkfsyyK\"\n}"
response = http.request(request)
puts response.read_body{
"auth_method": "local",
"webapp_users_management_status": "active",
"admin_role_name": "admin",
"api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK",
"auditor_role_name": "auditor",
"oidc_config": {
"client_id": "hoop-client-id",
"client_secret": "hoop-client-secret",
"issuer_url": "https://auth.domain.tld/oidc",
"audience": "hoop-audience",
"groups_claim": "groups",
"scopes": [
"openid",
"email",
"profile"
]
},
"provider_name": "generic",
"rollout_api_key": "xapi-WqIAoYhKuIv2IPmVkfsyyK",
"saml_config": {
"idp_metadata_url": "https://auth.domain.tld/saml/metadata",
"groups_claim": "groups",
"resolved_metadata": {
"certificate_expires_at": "2030-01-01T00:00:00Z",
"entity_id": "https://app.onelogin.com/saml/metadata/123456",
"resolved_at": "2026-07-10T12:00:00Z",
"sso_url": "https://mycompany.onelogin.com/trust/saml2/http-post/sso/123456"
}
}
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}{
"message": "the error description"
}Body
The request body resource
The identity provider type to configure
oidc, saml, local "local"
Enable the users management in the Webapp. It allows to create, edit and delete users.
active, inactive Changes the default administrator role of the system
Changes the default auditor role of the system
OIDC / Oauth2 identity provider configuration
Show child attributes
Show child attributes
The provider type name used to identify the authentication provider
"generic"
The api key to rollout. When this field is set, the server will rollout the previous api_key. This attribute must be obtained in the endpoint to generate rollout api keys.
"xapi-WqIAoYhKuIv2IPmVkfsyyK"
SAML 2.0 identity provider configuration
Show child attributes
Show child attributes
Response
OK
The identity provider type to configure
oidc, saml, local "local"
Enable the users management in the Webapp. It allows to create, edit and delete users.
active, inactive Changes the default administrator role of the system
The api key with admin privileges used to authenticate in the API. It is a read only field
"xapi-WqIAoYhKuIv2IPmVkfsyyK"
Changes the default auditor role of the system
OIDC / Oauth2 identity provider configuration
Show child attributes
Show child attributes
The provider type name used to identify the authentication provider
"generic"
The api key to rollout. When this field is set, the server will rollout the previous api_key. This attribute must be obtained in the endpoint to generate rollout api keys.
"xapi-WqIAoYhKuIv2IPmVkfsyyK"
SAML 2.0 identity provider configuration
Show child attributes
Show child attributes
Was this page helpful?