GET SAML Metadata
curl --request GET \
--url https://api.rippling.com/platform/api/saml/idp_metadata \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/saml/idp_metadata"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/saml/idp_metadata', 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.rippling.com/platform/api/saml/idp_metadata",
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.rippling.com/platform/api/saml/idp_metadata"
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.rippling.com/platform/api/saml/idp_metadata")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/saml/idp_metadata")
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<?xml version='1.0' encoding='UTF-8'?>
<ns0:EntityDescriptor xmlns:ns0="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ns1="urn:oasis:names:tc:SAML:metadata:algsupport" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" entityID="https://www.rippling.com/5f381c24d22e3e099d41c727/idp.xml" validUntil="2030-06-26T03:30:26Z"><ns0:Extensions><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#md5" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#ripemd160" /><ns1:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha224" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512" /><ns1:SigningMethod Algorithm="http,//www.w3.org/2000/09/xmldsig#dsa-sha1" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-md5" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160" /><ns1:SigningMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" /></ns0:Extensions><ns0:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><ns0:KeyDescriptor use="signing"><ns2:KeyInfo><ns2:X509Data><ns2:X509Certificate>MIICZDCCAc0CBAE+aoEwDQYJKoZIhvcNAQELBQAweDELMAkGA1UEBhMCVVMxCzAJ
BgNVBAgMAkNBMQswCQYDVQQHDAJTRjERMA8GA1UECgwIUmlwcGxpbmcxITAfBgNV
BAsMGEFhbWlyIFByb2QgW1Rlc3RdIFBvcnRhbDEZMBcGA1UEAwwQd3d3LnJpcHBs
aW5nLmNvbTAgFw0yMDA4MTcwMzMwMjRaGA8yMTIwMDcyNDAzMzAyNFoweDELMAkG
A1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQHDAJTRjERMA8GA1UECgwIUmlw
cGxpbmcxITAfBgNVBAsMGEFhbWlyIFByb2QgW1Rlc3RdIFBvcnRhbDEZMBcGA1UE
AwwQd3d3LnJpcHBsaW5nLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
yNF48+Of3Lc4VsgcDi+trDYsC4zerzzbNtD7OaZibdUuTY77p2NILW2QW2A5Q2Nf
eCahkWk3egyY0wm7eiczclzrM676uTpPyG/g7nJMfmdEFQf7uxh/OVMbXyD6e8No
9ck8k1Antz28At761xmnXyl+mMcUDy6lTGFkK8/gnTUCAwEAATANBgkqhkiG9w0B
AQsFAAOBgQAbO8K/SSkeMD9cPv6d2VWdF2TjuhVNgfiB74qnOc8NZ8OwfY7brd0+
KFJAJ1nwXlBZuJ8OG0KnTranRWHMXTTckFUd4othNARFolC2m4OAmi7IrobMbtlH
hDbqT2JWPqdOTv1GE72xQe0deh3WzFLp6saxqE5Xg9sVZ9KJACa2rA==
</ns2:X509Certificate></ns2:X509Data></ns2:KeyInfo></ns0:KeyDescriptor><ns0:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://www.rippling.com/api/platform/sso/sp-initiated/5f381c24d22e3e099d41c727" /><ns0:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.rippling.com/api/platform/sso/sp-initiated/5f381c24d22e3e099d41c727" /></ns0:IDPSSODescriptor><ns0:Organization><ns0:OrganizationName xml:lang="en">Rippling</ns0:OrganizationName><ns0:OrganizationDisplayName xml:lang="en">Rippling</ns0:OrganizationDisplayName><ns0:OrganizationURL xml:lang="en">https: //www.rippling.com</ns0:OrganizationURL></ns0:Organization><ns0:ContactPerson contactType="support"><ns0:GivenName>Support</ns0:GivenName><ns0:EmailAddress>support@rippling.com</ns0:EmailAddress></ns0:ContactPerson></ns0:EntityDescriptor>G. SAML
GET SAML Metadata
Returns a SAML IDP metadata file for the current app integration. Note that this endpoint is only accessible using a token associated with an app integration that has SAML enabled; otherwise it returns a 404 error.
Rippling’s SAML Metadata is per customer app installation. It is not the same across all customers. It is not the same if the customer uninstalls and reinstalls your app. Any time a new app is installed, unique SAML Metadata will be generated specific to that app.
GET
/
platform
/
api
/
saml
/
idp_metadata
GET SAML Metadata
curl --request GET \
--url https://api.rippling.com/platform/api/saml/idp_metadata \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/saml/idp_metadata"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/saml/idp_metadata', 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.rippling.com/platform/api/saml/idp_metadata",
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.rippling.com/platform/api/saml/idp_metadata"
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.rippling.com/platform/api/saml/idp_metadata")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/saml/idp_metadata")
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<?xml version='1.0' encoding='UTF-8'?>
<ns0:EntityDescriptor xmlns:ns0="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ns1="urn:oasis:names:tc:SAML:metadata:algsupport" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" entityID="https://www.rippling.com/5f381c24d22e3e099d41c727/idp.xml" validUntil="2030-06-26T03:30:26Z"><ns0:Extensions><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#md5" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#ripemd160" /><ns1:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha224" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#sha384" /><ns1:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512" /><ns1:SigningMethod Algorithm="http,//www.w3.org/2000/09/xmldsig#dsa-sha1" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-md5" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160" /><ns1:SigningMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" /><ns1:SigningMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" /></ns0:Extensions><ns0:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><ns0:KeyDescriptor use="signing"><ns2:KeyInfo><ns2:X509Data><ns2:X509Certificate>MIICZDCCAc0CBAE+aoEwDQYJKoZIhvcNAQELBQAweDELMAkGA1UEBhMCVVMxCzAJ
BgNVBAgMAkNBMQswCQYDVQQHDAJTRjERMA8GA1UECgwIUmlwcGxpbmcxITAfBgNV
BAsMGEFhbWlyIFByb2QgW1Rlc3RdIFBvcnRhbDEZMBcGA1UEAwwQd3d3LnJpcHBs
aW5nLmNvbTAgFw0yMDA4MTcwMzMwMjRaGA8yMTIwMDcyNDAzMzAyNFoweDELMAkG
A1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQHDAJTRjERMA8GA1UECgwIUmlw
cGxpbmcxITAfBgNVBAsMGEFhbWlyIFByb2QgW1Rlc3RdIFBvcnRhbDEZMBcGA1UE
AwwQd3d3LnJpcHBsaW5nLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
yNF48+Of3Lc4VsgcDi+trDYsC4zerzzbNtD7OaZibdUuTY77p2NILW2QW2A5Q2Nf
eCahkWk3egyY0wm7eiczclzrM676uTpPyG/g7nJMfmdEFQf7uxh/OVMbXyD6e8No
9ck8k1Antz28At761xmnXyl+mMcUDy6lTGFkK8/gnTUCAwEAATANBgkqhkiG9w0B
AQsFAAOBgQAbO8K/SSkeMD9cPv6d2VWdF2TjuhVNgfiB74qnOc8NZ8OwfY7brd0+
KFJAJ1nwXlBZuJ8OG0KnTranRWHMXTTckFUd4othNARFolC2m4OAmi7IrobMbtlH
hDbqT2JWPqdOTv1GE72xQe0deh3WzFLp6saxqE5Xg9sVZ9KJACa2rA==
</ns2:X509Certificate></ns2:X509Data></ns2:KeyInfo></ns0:KeyDescriptor><ns0:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://www.rippling.com/api/platform/sso/sp-initiated/5f381c24d22e3e099d41c727" /><ns0:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.rippling.com/api/platform/sso/sp-initiated/5f381c24d22e3e099d41c727" /></ns0:IDPSSODescriptor><ns0:Organization><ns0:OrganizationName xml:lang="en">Rippling</ns0:OrganizationName><ns0:OrganizationDisplayName xml:lang="en">Rippling</ns0:OrganizationDisplayName><ns0:OrganizationURL xml:lang="en">https: //www.rippling.com</ns0:OrganizationURL></ns0:Organization><ns0:ContactPerson contactType="support"><ns0:GivenName>Support</ns0:GivenName><ns0:EmailAddress>support@rippling.com</ns0:EmailAddress></ns0:ContactPerson></ns0:EntityDescriptor>Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
200 - application/xml
OK
SAML Metadata returned in XML