curl --request POST \
--url 'http://localhost:7575/v2/idps' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}'
import json
import requests
url = "http://localhost:7575/v2/idps"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/idps', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/idps',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "http://localhost:7575/v2/idps", bytes.NewBufferString(`{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/idps"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/idps')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
POST /v2/idps
Create a new identity provider configuration. The request will fail if the maximum allowed number of separate configurations is reached.
POST
/
v2
/
idps
curl --request POST \
--url 'http://localhost:7575/v2/idps' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}'
import json
import requests
url = "http://localhost:7575/v2/idps"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/idps', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/idps',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "http://localhost:7575/v2/idps", bytes.NewBufferString(`{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/idps"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/idps')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Create a new identity provider configuration. The request will fail if the maximum allowed number of separate configurations is reached.
curl --request POST \
--url 'http://localhost:7575/v2/idps' \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}'
import json
import requests
url = "http://localhost:7575/v2/idps"
headers = {'Authorization': 'Bearer <token>', 'Content-Type': 'application/json'}
payload = json.loads(r'''{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}''')
response = requests.request(
"POST", url, headers=headers, json=payload
)
print(response.text)
const response = await fetch('http://localhost:7575/v2/idps', {
method: 'POST',
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}),
});
console.log(await response.text());
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'http://localhost:7575/v2/idps',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => <<<'JSON'
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
echo $response;
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "http://localhost:7575/v2/idps", bytes.NewBufferString(`{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}`))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, _ := http.DefaultClient.Do(req)
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var request = HttpRequest.newBuilder()
.uri(URI.create("http://localhost:7575/v2/idps"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("""
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
"""))
.build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require 'net/http'
require 'uri'
uri = URI('http://localhost:7575/v2/idps')
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = <<~JSON
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(request)
end
puts response.body
{
"identityProviderConfig": {
"identityProviderId": "<string>",
"isDeactivated": false,
"issuer": "<string>",
"jwksUrl": "<string>",
"audience": "<string>"
}
}
<string>
{
"code": "<string>",
"cause": "<string>",
"correlationId": "<string>",
"traceId": "<string>",
"context": {},
"resources": [
[
"<string>"
]
],
"errorCategory": 123,
"grpcCodeValue": 123,
"retryInfo": "<string>",
"definiteAnswer": false
}
Authorizations
httpAuth
string
required
HTTP bearer authentication. Send the token as
Authorization: Bearer <token>. Ledger API standard JWT tokenapiKeyAuth
string
required
API key authentication in the header. Ledger API standard JWT token (websocket)
Body
application/json
object
required
OpenAPI type:
IdentityProviderConfig.RequiredShow child attributes
Show child attributes
string
required
The identity provider identifier Must be a valid LedgerString (as describe in
value.proto). Requiredboolean
When set, the callers using JWT tokens issued by this identity provider are denied all access to the Ledger API. Modifiable Optional
string
required
Specifies the issuer of the JWT token. The issuer value is a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components. Modifiable Can be left empty when used in
UpdateIdentityProviderConfigRequest if the issuer is not being updated. Requiredstring
required
The JWKS (JSON Web Key Set) URL. The Ledger API uses JWKs (JSON Web Keys) from the provided URL to verify that the JWT has been signed with the loaded JWK. Only RS256 (RSA Signature with SHA-256) signing algorithm is supported. Modifiable Required
string
Specifies the audience of the JWT token. When set, the callers using JWT tokens issued by this identity provider are allowed to get an access only if the “aud” claim includes the string specified here Modifiable Optional
Responses
200
application/json
IdentityProviderConfig
required
Required
Show child attributes
Show child attributes
string
required
The identity provider identifier Must be a valid LedgerString (as describe in
value.proto). Requiredboolean
When set, the callers using JWT tokens issued by this identity provider are denied all access to the Ledger API. Modifiable Optional
string
required
Specifies the issuer of the JWT token. The issuer value is a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components. Modifiable Can be left empty when used in
UpdateIdentityProviderConfigRequest if the issuer is not being updated. Requiredstring
required
The JWKS (JSON Web Key Set) URL. The Ledger API uses JWKs (JSON Web Keys) from the provided URL to verify that the JWT has been signed with the loaded JWK. Only RS256 (RSA Signature with SHA-256) signing algorithm is supported. Modifiable Required
string
Specifies the audience of the JWT token. When set, the callers using JWT tokens issued by this identity provider are allowed to get an access only if the “aud” claim includes the string specified here Modifiable Optional
400
Invalid value, Invalid value for: bodytext/plain
string
required
default
application/json
string
required
string
required
string
string
Map_String
required
Tuple2_String_String[]
integer (int32)
required
integer (int32)
string
boolean
History
Updated
3.5The POST /v2/idps operation was updated in this snapshot.
Added
3.4