Get Supabase SAML service-provider URLs
curl --request GET \
--url https://flows.super.ai/api/sso/service-provider-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/sso/service-provider-details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/sso/service-provider-details', 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://flows.super.ai/api/sso/service-provider-details",
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://flows.super.ai/api/sso/service-provider-details"
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://flows.super.ai/api/sso/service-provider-details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/sso/service-provider-details")
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{
"acs_url": "<string>",
"entity_id": "<string>",
"metadata_url": "<string>",
"slo_url": "<string>"
}sso
Get Supabase SAML service-provider URLs
Get the Supabase SAML service-provider (SP) URLs for IdP configuration.
These URLs depend only on the Supabase project and are the same for every organization. They are available before any SSO configuration exists, so the setup UI can pre-fill the read-only SP fields the customer must copy into their Identity Provider.
Response Data:
- entity_id: SAML SP EntityID (same value as metadata_url)
- metadata_url: SAML SP metadata URL
- acs_url: Assertion Consumer Service (ACS) URL
- slo_url: Single Logout (SLO) URL
Related Endpoints:
- POST /auth/sso - Create SSO configuration
- GET /auth/sso - Get current SSO configuration
GET
/
api
/
sso
/
service-provider-details
Get Supabase SAML service-provider URLs
curl --request GET \
--url https://flows.super.ai/api/sso/service-provider-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://flows.super.ai/api/sso/service-provider-details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://flows.super.ai/api/sso/service-provider-details', 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://flows.super.ai/api/sso/service-provider-details",
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://flows.super.ai/api/sso/service-provider-details"
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://flows.super.ai/api/sso/service-provider-details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/sso/service-provider-details")
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{
"acs_url": "<string>",
"entity_id": "<string>",
"metadata_url": "<string>",
"slo_url": "<string>"
}Authorizations
BearerAuthAPIKeyAuth
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Response
Service-provider URLs to configure in the customer's IdP