curl --request POST \
--url https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"state": true,
"pkce": true
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": true,
"meta": {},
"domains": [
"<string>"
],
"orgSlug": "<string>"
}
'import requests
url = "https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso"
payload = {
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": ["<string>"],
"state": True,
"pkce": True
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": True,
"meta": {},
"domains": ["<string>"],
"orgSlug": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
slug: '<string>',
config: {
client_id: '<string>',
authorization_endpoint: '<string>',
token_endpoint: '<string>',
jwks_uri: '<string>',
client_secret: '<string>',
scopes: ['<string>'],
state: true,
pkce: true
},
id: '<string>',
name: '<string>',
icon: '<string>',
attributesMapping: {firstName: '<string>', lastName: '<string>', email: '<string>'},
enabled: true,
meta: {},
domains: ['<string>'],
orgSlug: '<string>'
})
};
fetch('https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso', 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.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'slug' => '<string>',
'config' => [
'client_id' => '<string>',
'authorization_endpoint' => '<string>',
'token_endpoint' => '<string>',
'jwks_uri' => '<string>',
'client_secret' => '<string>',
'scopes' => [
'<string>'
],
'state' => true,
'pkce' => true
],
'id' => '<string>',
'name' => '<string>',
'icon' => '<string>',
'attributesMapping' => [
'firstName' => '<string>',
'lastName' => '<string>',
'email' => '<string>'
],
'enabled' => true,
'meta' => [
],
'domains' => [
'<string>'
],
'orgSlug' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"state": true,
"pkce": true
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": true,
"meta": {},
"domains": [
"<string>"
],
"orgSlug": "<string>"
}{
"error": "BadParameters",
"message": "<string>",
"details": "<unknown>"
}{
"error": "AuthenticationError",
"message": "Unauthenticated"
}Post v2orgs authsso
Create a new SSO auth provider (super admin only)
curl --request POST \
--url https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"state": true,
"pkce": true
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": true,
"meta": {},
"domains": [
"<string>"
],
"orgSlug": "<string>"
}
'import requests
url = "https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso"
payload = {
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": ["<string>"],
"state": True,
"pkce": True
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": True,
"meta": {},
"domains": ["<string>"],
"orgSlug": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
slug: '<string>',
config: {
client_id: '<string>',
authorization_endpoint: '<string>',
token_endpoint: '<string>',
jwks_uri: '<string>',
client_secret: '<string>',
scopes: ['<string>'],
state: true,
pkce: true
},
id: '<string>',
name: '<string>',
icon: '<string>',
attributesMapping: {firstName: '<string>', lastName: '<string>', email: '<string>'},
enabled: true,
meta: {},
domains: ['<string>'],
orgSlug: '<string>'
})
};
fetch('https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso', 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.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'slug' => '<string>',
'config' => [
'client_id' => '<string>',
'authorization_endpoint' => '<string>',
'token_endpoint' => '<string>',
'jwks_uri' => '<string>',
'client_secret' => '<string>',
'scopes' => [
'<string>'
],
'state' => true,
'pkce' => true
],
'id' => '<string>',
'name' => '<string>',
'icon' => '<string>',
'attributesMapping' => [
'firstName' => '<string>',
'lastName' => '<string>',
'email' => '<string>'
],
'enabled' => true,
'meta' => [
],
'domains' => [
'<string>'
],
'orgSlug' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso"
payload := strings.NewReader("{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.post("https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eda.prisme.ai/v2/orgs/{orgSlug}/auth/sso")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"slug\": \"<string>\",\n \"config\": {\n \"client_id\": \"<string>\",\n \"authorization_endpoint\": \"<string>\",\n \"token_endpoint\": \"<string>\",\n \"jwks_uri\": \"<string>\",\n \"client_secret\": \"<string>\",\n \"scopes\": [\n \"<string>\"\n ],\n \"state\": true,\n \"pkce\": true\n },\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"icon\": \"<string>\",\n \"attributesMapping\": {\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\"\n },\n \"enabled\": true,\n \"meta\": {},\n \"domains\": [\n \"<string>\"\n ],\n \"orgSlug\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"slug": "<string>",
"config": {
"client_id": "<string>",
"authorization_endpoint": "<string>",
"token_endpoint": "<string>",
"jwks_uri": "<string>",
"client_secret": "<string>",
"scopes": [
"<string>"
],
"state": true,
"pkce": true
},
"id": "<string>",
"name": "<string>",
"icon": "<string>",
"attributesMapping": {
"firstName": "<string>",
"lastName": "<string>",
"email": "<string>"
},
"enabled": true,
"meta": {},
"domains": [
"<string>"
],
"orgSlug": "<string>"
}{
"error": "BadParameters",
"message": "<string>",
"details": "<unknown>"
}{
"error": "AuthenticationError",
"message": "Unauthenticated"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Organization slug
Body
Unique provider identifier (e.g. "google", "okta-saml")
Authentication protocol type
oidc, saml Provider-specific configuration (OIDC or SAML settings)
- Option 1
- Option 2
Show child attributes
Show child attributes
Display name for the provider (e.g. "Google", "Corporate SSO")
Icon URL or identifier for the provider
Maps provider claims to user fields (e.g. firstName, email)
Show child attributes
Show child attributes
Where this provider is configured (read-only, returned by GET)
file, database Whether this provider is active (default true). Disabled providers are not registered as passport strategies.
Free-form metadata JSON
Associated domain names
Associated organization slug
Response
Success Response
Unique provider identifier (e.g. "google", "okta-saml")
Authentication protocol type
oidc, saml Provider-specific configuration (OIDC or SAML settings)
- Option 1
- Option 2
Show child attributes
Show child attributes
Display name for the provider (e.g. "Google", "Corporate SSO")
Icon URL or identifier for the provider
Maps provider claims to user fields (e.g. firstName, email)
Show child attributes
Show child attributes
Where this provider is configured (read-only, returned by GET)
file, database Whether this provider is active (default true). Disabled providers are not registered as passport strategies.
Free-form metadata JSON
Associated domain names
Associated organization slug
Was this page helpful?