curl --request GET \
--url https://devx.{environment}.oleria.io/v1/authenticators/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/authenticators/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/authenticators/{id}', 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://devx.{environment}.oleria.io/v1/authenticators/{id}",
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://devx.{environment}.oleria.io/v1/authenticators/{id}"
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://devx.{environment}.oleria.io/v1/authenticators/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/authenticators/{id}")
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{
"id": "<string>",
"authenticationKeys": [
"XD+NWux+oeqdAa1eUPtNC06g/HtrzM6AbNiZU2MhHSM="
],
"authenticationMethods": [
{
"type": "<string>",
"description": "<string>"
}
],
"isActive": true,
"name": "<string>",
"objectMetadata": {
"ApplicationInstanceId": "<string>",
"GeneratedTime": "2023-11-07T05:31:56Z",
"Profile": "Account",
"ObjectOrRelationshipType": "<string>"
},
"globalId": "<string>",
"oleriaObjectMetadata": {
"enrichmentVersion": "<string>",
"generatedTime": "2023-11-07T05:31:56Z"
},
"description": "<string>",
"sorPrimaryStewardEmail": "<string>"
}{
"code": "BAD_REQUEST",
"message": "The request was malformed."
}{
"code": "UNAUTHORIZED",
"message": "Missing or invalid authentication token."
}{
"code": "FORBIDDEN",
"message": "The token lacks the required scope."
}{
"code": "NOT_FOUND",
"message": "No resource with the given id."
}{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the specified interval."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred."
}Get
Returns an authenticator by its global id. Requires the https://devx.{environment}.oleria.io/read scope.
curl --request GET \
--url https://devx.{environment}.oleria.io/v1/authenticators/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/authenticators/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/authenticators/{id}', 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://devx.{environment}.oleria.io/v1/authenticators/{id}",
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://devx.{environment}.oleria.io/v1/authenticators/{id}"
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://devx.{environment}.oleria.io/v1/authenticators/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/authenticators/{id}")
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{
"id": "<string>",
"authenticationKeys": [
"XD+NWux+oeqdAa1eUPtNC06g/HtrzM6AbNiZU2MhHSM="
],
"authenticationMethods": [
{
"type": "<string>",
"description": "<string>"
}
],
"isActive": true,
"name": "<string>",
"objectMetadata": {
"ApplicationInstanceId": "<string>",
"GeneratedTime": "2023-11-07T05:31:56Z",
"Profile": "Account",
"ObjectOrRelationshipType": "<string>"
},
"globalId": "<string>",
"oleriaObjectMetadata": {
"enrichmentVersion": "<string>",
"generatedTime": "2023-11-07T05:31:56Z"
},
"description": "<string>",
"sorPrimaryStewardEmail": "<string>"
}{
"code": "BAD_REQUEST",
"message": "The request was malformed."
}{
"code": "UNAUTHORIZED",
"message": "Missing or invalid authentication token."
}{
"code": "FORBIDDEN",
"message": "The token lacks the required scope."
}{
"code": "NOT_FOUND",
"message": "No resource with the given id."
}{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the specified interval."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred."
}Authorizations
OAuth 2.0 client-credentials flow. Request an access token from the token endpoint and send it as Authorization: Bearer <token>.
Path Parameters
Global id of the authenticator.
Response
The authenticator.
An Oleria Authenticator object represents an IDP configured authentication mechanism that is available for assignment, enrollment, and login
An identifier (unique to the integrated or assigned application) of any object or entity represented in the Oleria system as well as any relationship or connection among entities when they are represented in Oleria. Oleria converts these identifiers to global ids so they can be unique in the context of the global system graph. The full list of Oleria objects or entities is defined by the object-type enumeration, and the full list of relationships or connections is defined by the relationship-type enumeration
1Each array item is a base64 encoded SHA256 hash of authentication configuration properties.The authenticationKeys property is used by Oleria to match enterprise application IntegratedApplication objects with corresponding identity provider configured AssignedApplication objects assigned to accounts or groups. When these objects are connected and there's a match in authenticationKeys and federated identity, the Oleria platform will connect Account objects that have an Identity AccountAuthenticationFunction with their corresponding Account objects that have an ApplicationAccount AccountAuthenticationFunction, and indicate an SSO-based login flow is available. The following protocol configurations are supported:
- SAML configurations encode the SAML certificate raw public key info
- First party configurations e.g. Microsoft Entra to Microsoft 365 Apps encode the app type + the first party instance specific instance key with a ":" delimiter
- OIDC configurations encode the lowercased issuer URL (with trailing slash appended) and the client ID, joined by a "," delimiter, SHA256 hashed and base64 (standard encoding) encoded. Example input: "https://login.example.com/tenant/v2.0/,client-id-abc"
- RADIUS configuration encoding is TBD
[
"XD+NWux+oeqdAa1eUPtNC06g/HtrzM6AbNiZU2MhHSM="
]
Show child attributes
Show child attributes
The ObjectMetadata structure defines metadata that applies to every object and relationship, and is usually managed by the system that receives the data
Show child attributes
Show child attributes
object metadata supersets object metadata with platform enrichment provenance — the enrichment version and the time the record was generated
Show child attributes
Show child attributes

