curl --request POST \
--url https://{tenantDomain}/api/v2/clients/cimd/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_client_id": "<string>"
}
'import requests
url = "https://{tenantDomain}/api/v2/clients/cimd/preview"
payload = { "external_client_id": "<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({external_client_id: '<string>'})
};
fetch('https://{tenantDomain}/api/v2/clients/cimd/preview', 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://{tenantDomain}/api/v2/clients/cimd/preview",
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([
'external_client_id' => '<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://{tenantDomain}/api/v2/clients/cimd/preview"
payload := strings.NewReader("{\n \"external_client_id\": \"<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://{tenantDomain}/api/v2/clients/cimd/preview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_client_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}/api/v2/clients/cimd/preview")
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 \"external_client_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"client_id": "<string>",
"errors": [
"<string>"
],
"validation": {
"valid": true,
"violations": [
"<string>"
],
"warnings": [
"<string>"
]
},
"mapped_fields": {
"external_client_id": "<string>",
"name": "<string>",
"app_type": "<string>",
"callbacks": [
"<string>"
],
"logo_uri": "<string>",
"description": "<string>",
"grant_types": [
"<string>"
],
"token_endpoint_auth_method": "<string>",
"jwks_uri": "<string>",
"client_authentication_methods": {
"private_key_jwt": {
"credentials": [
{
"credential_type": "<string>",
"kid": "<string>",
"alg": "<string>"
}
]
}
}
}
}Preview and validate Client ID Metadata Document
Fetches and validates a Client ID Metadata Document without creating a client. Returns the raw metadata and how it would be mapped to Auth0 client fields. This endpoint is useful for testing metadata URIs before creating CIMD clients.
curl --request POST \
--url https://{tenantDomain}/api/v2/clients/cimd/preview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_client_id": "<string>"
}
'import requests
url = "https://{tenantDomain}/api/v2/clients/cimd/preview"
payload = { "external_client_id": "<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({external_client_id: '<string>'})
};
fetch('https://{tenantDomain}/api/v2/clients/cimd/preview', 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://{tenantDomain}/api/v2/clients/cimd/preview",
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([
'external_client_id' => '<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://{tenantDomain}/api/v2/clients/cimd/preview"
payload := strings.NewReader("{\n \"external_client_id\": \"<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://{tenantDomain}/api/v2/clients/cimd/preview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_client_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}/api/v2/clients/cimd/preview")
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 \"external_client_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"client_id": "<string>",
"errors": [
"<string>"
],
"validation": {
"valid": true,
"violations": [
"<string>"
],
"warnings": [
"<string>"
]
},
"mapped_fields": {
"external_client_id": "<string>",
"name": "<string>",
"app_type": "<string>",
"callbacks": [
"<string>"
],
"logo_uri": "<string>",
"description": "<string>",
"grant_types": [
"<string>"
],
"token_endpoint_auth_method": "<string>",
"jwks_uri": "<string>",
"client_authentication_methods": {
"private_key_jwt": {
"credentials": [
{
"credential_type": "<string>",
"kid": "<string>",
"alg": "<string>"
}
]
}
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
URL to the Client ID Metadata Document
1 - 120Response
Metadata successfully fetched and validated, or retrieval error returned with errors array.
The client_id of an existing client registered with this external_client_id, if one exists.
Array of retrieval errors (populated when the metadata document could not be fetched). When present, validation is omitted.
Validation result for the Client ID Metadata Document
Show child attributes
Show child attributes
Auth0 client fields mapped from the Client ID Metadata Document
Show child attributes
Show child attributes